91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Cortex-A9 LED匯編、C語言驅(qū)動(dòng)編寫

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-24 18:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

ARM系列文章合集如下:

《從0學(xué)arm合集》

0. 前言

一般我們購(gòu)買一個(gè)開發(fā)板,廠家都會(huì)給出對(duì)應(yīng)的電路圖文件,我們可以通過搜索對(duì)應(yīng)名稱來查找到對(duì)應(yīng)的外設(shè)。對(duì)于驅(qū)動(dòng)工程師來說,我們只需要知道外設(shè)與SOC交互的一些數(shù)據(jù)線和信號(hào)線即可。

用主控芯片控制這些外設(shè)的一般步驟:

電路原理圖,弄明白主控芯片和外設(shè)是怎么連接的,對(duì)于驅(qū)動(dòng)工程師來說,主要是看外設(shè)的一些clk、數(shù)據(jù)引腳、控制引腳是如何連接的;外設(shè)一般都會(huì)連接到SOC的1個(gè)或者多個(gè)控制器上,比如i2c、spi、gpio等,有的是數(shù)據(jù)線有的是信號(hào)線,中斷線等;根據(jù)電路連接和需求對(duì)主控芯片進(jìn)行設(shè)置,往往對(duì)外設(shè)的設(shè)置都是通過寄存器操作實(shí)現(xiàn);書寫相應(yīng)代碼,實(shí)現(xiàn)功能,不同類型的外設(shè),代碼結(jié)構(gòu)也不盡相同,比如按鍵,我們既可以通過輪詢方式讀取按鍵信息,也可以通過中斷方式來讀取。

下面我們就以華清遠(yuǎn)見的fs4412開發(fā)板為例來看如何編寫led的裸機(jī)程序。SOC exynos 4412 datahseet 下載地址:

https://download.csdn.net/download/daocaokafei/12533438

一、LED燈電路圖

首先看下led電路圖:

LED電路圖該板子有4個(gè)LED,是發(fā)光二極管,有電流是為藍(lán)色;led都接了上拉電阻;三極管的基極接了SOC的某個(gè)GPIO引腳;比如GPX1_0,當(dāng)該引腳為高電平是,三極管pn結(jié)導(dǎo)通,于是LED3兩側(cè)就有了電勢(shì)差,LED3被點(diǎn)亮,如果該引腳為低電平,pn結(jié)截止,LED3兩側(cè)就沒有了電勢(shì)差,LED3熄滅。

下面是CPU核訪問GPIO控制器的數(shù)據(jù)通路:

AHB:高速總線APB Bridge:APB總線橋APB:外設(shè)總線,低速總線GPIO掛載在APB總線上

GPIO 與 SOC

由上圖可知,cpu要訪問GPIO的寄存器需要經(jīng)過的路徑。

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    244

    文章

    24634

    瀏覽量

    691435
  • 電力電子
    +關(guān)注

    關(guān)注

    31

    文章

    713

    瀏覽量

    51026
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7645

    瀏覽量

    145829
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    匯編給CH32寫了個(gè)本機(jī)FORTH語言實(shí)現(xiàn)

    匯編器,可以在線編寫匯編代碼用于編寫ISR或需要性能的場(chǎng)景(目前沒實(shí)現(xiàn)所有RV32EC指令,后面會(huì)實(shí)現(xiàn)完整RV32EC指令集) 專門優(yōu)化了代碼體積 支持多任務(wù)(類似協(xié)程,運(yùn)行時(shí)調(diào)用PA
    發(fā)表于 03-19 11:07

    MAX16832A/MAX16832C:高效高亮度LED驅(qū)動(dòng)方案解析

    MAX16832A/MAX16832C:高效高亮度LED驅(qū)動(dòng)方案解析 在LED照明應(yīng)用領(lǐng)域,尋找一款性能卓越、成本效益高的
    的頭像 發(fā)表于 02-02 16:45 ?395次閱讀

    C語言主要特點(diǎn)

    C語言的主要特點(diǎn)有: 1.語言簡(jiǎn)潔、緊湊,使用方便、靈活 。C語言一共只有32個(gè)關(guān)鍵字、9種控制
    發(fā)表于 01-05 07:41

    C語言中可以嵌套匯編語言嗎?

    請(qǐng)問C語言中可以嵌套匯編語言嗎?
    發(fā)表于 12-15 08:14

    為什么單片機(jī)還在用C語言編程?

    說起單片機(jī)我們就會(huì)想到C語言,單片機(jī)為什么還在用C語言編程?現(xiàn)在有很多很好用的高級(jí)語言,如VC、PYTHON、PHP等等,為什么這些
    發(fā)表于 11-28 07:37

    匯編語言還有必要學(xué)習(xí)嗎

    1、嵌入式操作系統(tǒng)需要匯編語言 2、實(shí)時(shí)性要求非常高的地方,需要匯編語言,比如FFT算法。 3、匯編語言做運(yùn)算那叫一個(gè)痛苦,下面是一段雙字節(jié)乘法,浮點(diǎn)數(shù)就更難搞
    的頭像 發(fā)表于 11-25 11:46 ?677次閱讀
    <b class='flag-5'>匯編語言</b>還有必要學(xué)習(xí)嗎

    匯編語言的起源

    一、匯編語言是什么? 我們知道,CPU 只負(fù)責(zé)計(jì)算,本身不具備智能。你輸入一條指令(instruction),它就運(yùn)行一次,然后停下來,等待下一條指令。 這些指令都是二進(jìn)制的,稱為操作碼
    發(fā)表于 11-20 07:19

    C語言和單片機(jī)C語言有什么差異

    的目標(biāo)代碼短、運(yùn)行速度高、存儲(chǔ)空間小、符合C語言的ANSI標(biāo)準(zhǔn),生成的代碼遵循Intel目標(biāo)文件格式,而且可與A51匯編語言PL/M51語言
    發(fā)表于 11-14 07:55

    1.5A 單閃 LED 驅(qū)動(dòng)器 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()1.5A 單閃 LED 驅(qū)動(dòng)器相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有1.5A 單閃 LED
    發(fā)表于 07-25 18:29
    1.5<b class='flag-5'>A</b> 單閃 <b class='flag-5'>LED</b> <b class='flag-5'>驅(qū)動(dòng)</b>器 skyworksinc

    匯編語言教學(xué)中文資料

    電子發(fā)燒友網(wǎng)站提供《匯編語言教學(xué)中文資料.rar》資料免費(fèi)下載
    發(fā)表于 06-30 15:15 ?7次下載

    Windows環(huán)境下32位匯編語言中文資料

    電子發(fā)燒友網(wǎng)站提供《Windows環(huán)境下32位匯編語言中文資料.rar》資料免費(fèi)下載
    發(fā)表于 06-30 15:14 ?0次下載

    GC9A01-TFT屏幕驅(qū)動(dòng)(整理有stm32/51單片機(jī)/arduino等驅(qū)動(dòng)代碼)

    以及收集整理好的資料,希望可以幫助用戶更加簡(jiǎn)單的學(xué)習(xí)或快速移植代碼進(jìn)行項(xiàng)目開發(fā)。本文將和大家探討一下GC9A01圓型屏幕的驅(qū)動(dòng)
    的頭像 發(fā)表于 04-25 11:29 ?1853次閱讀
    GC<b class='flag-5'>9A</b>01-TFT屏幕<b class='flag-5'>驅(qū)動(dòng)</b>(整理有stm32/51單片機(jī)/arduino等<b class='flag-5'>驅(qū)動(dòng)</b>代碼)

    迅為RK3568開發(fā)板helloworld 驅(qū)動(dòng)實(shí)驗(yàn)-驅(qū)動(dòng)編寫

    在學(xué)習(xí) C 語言或者其他語言的時(shí)候,我們通常是打印一句“helloworld”來開啟編程世界的大門。學(xué)習(xí)驅(qū)動(dòng)程序編程亦可以如此,使用 helloworld 作為我們的第一個(gè)
    發(fā)表于 04-01 15:20

    如何在 樹莓派 上編寫和運(yùn)行 C 語言程序?

    在本教程中,我將討論C編程語言是什么,C編程的用途,以及如何在RaspberryPi上編寫和運(yùn)行C程序。本文的目的是為您介紹在Raspber
    的頭像 發(fā)表于 03-25 09:28 ?1209次閱讀
    如何在 樹莓派 上<b class='flag-5'>編寫</b>和運(yùn)行 <b class='flag-5'>C</b> <b class='flag-5'>語言</b>程序?

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編C或Java等語言更少的代碼行。Python編程語言最初實(shí)際上是作為L(zhǎng)inu
    的頭像 發(fā)表于 03-25 09:27 ?2103次閱讀
    零基礎(chǔ)入門:如何在樹莓派上<b class='flag-5'>編寫</b>和運(yùn)行Python程序?