基于Cortex-A9 LED匯編、C語言驅(qū)動編寫
ARM系列文章合集如下:
《從0學arm合集》
0. 前言
一般我們購買一個開發(fā)板,廠家都會給出對應的電路圖文件,我們可以通過搜索對應名稱來查找到對應的外設。對于驅(qū)動工程師來說,我們只需要知道外設與SOC交互的一些數(shù)據(jù)線和信號線即可。
用主控芯片控制這些外設的一般步驟:
看電路原理圖,弄明白主控芯片和外設是怎么連接的,對于驅(qū)動工程師來說,主要是看外設的一些clk、數(shù)據(jù)引腳、控制引腳是如何連接的;外設一般都會連接到SOC的1個或者多個控制器上,比如i2c、spi、gpio等,有的是數(shù)據(jù)線有的是信號線,中斷線等;根據(jù)電路連接和需求對主控芯片進行設置,往往對外設的設置都是通過寄存器操作實現(xiàn);書寫相應代碼,實現(xiàn)功能,不同類型的外設,代碼結(jié)構(gòu)也不盡相同,比如按鍵,我們既可以通過輪詢方式讀取按鍵信息,也可以通過中斷方式來讀取。
下面我們就以華清遠見的fs4412開發(fā)板為例來看如何編寫led的裸機程序。SOC exynos 4412 datahseet 下載地址:
https://download.csdn.net/download/daocaokafei/12533438
一、LED燈電路圖
首先看下led電路圖:
LED電路圖該板子有4個LED,是發(fā)光二極管,有電流是為藍色;led都接了上拉電阻;三極管的基極接了SOC的某個GPIO引腳;比如GPX1_0,當該引腳為高電平是,三極管pn結(jié)導通,于是LED3兩側(cè)就有了電勢差,LED3被點亮,如果該引腳為低電平,pn結(jié)截止,LED3兩側(cè)就沒有了電勢差,LED3熄滅。
下面是CPU核訪問GPIO控制器的數(shù)據(jù)通路:
AHB:高速總線APB Bridge:APB總線橋APB:外設總線,低速總線GPIO掛載在APB總線上
GPIO 與 SOC
由上圖可知,cpu要訪問GPIO的寄存器需要經(jīng)過的路徑。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
10月31日立即下載>> 【限時免費下載】TE暖通空調(diào)系統(tǒng)高效可靠的組件解決方案
-
即日-11.13立即報名>>> 【在線會議】多物理場仿真助跑新能源汽車
-
11月28日立即報名>>> 2024工程師系列—工業(yè)電子技術在線會議
-
12月19日立即報名>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍皮書》
推薦專題
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市