新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 在OK6410上點(diǎn)亮指路明燈(LED)

在OK6410上點(diǎn)亮指路明燈(LED)

作者: 時(shí)間:2016-11-21 來(lái)源:網(wǎng)絡(luò) 收藏
說(shuō)實(shí)話,對(duì)于專(zhuān)業(yè)人事,這可能是十分簡(jiǎn)單的東西,但是還是記錄一下,免得回頭又忘了,畢竟看視頻還是挺麻煩的。

這是開(kāi)發(fā)板底板的原理圖,所以只要把對(duì)應(yīng)的管腳變成低電平就可以了
所以這就是最簡(jiǎn)單的GPIO,其實(shí)我覺(jué)得這里面的這個(gè)和K60里的那個(gè)十分相似,GPIO既有IO輸入輸出功能,也有外部中斷功能,甚至更多。(畢竟cortexM系列的只適用于工控)
所以附上GPIO的管腳圖和寄存器


所以配置GPMCON為對(duì)應(yīng)的功能,數(shù)據(jù)在DATA里配置


GPMCON和GPMCON的地址都已經(jīng)告訴我們了,所以只要往這個(gè)兩個(gè)地址里寫(xiě)入對(duì)應(yīng)的配置就可以了
control寄存器要輸出功能的設(shè)為0001,所以往0x7f8820里寫(xiě)入0x111就可以了,往0x7f008824寫(xiě)入0x5就可以了(兩盞燈建個(gè)亮,另外兩盞不亮)
說(shuō)明這一部分的匯編語(yǔ)言還是蠻重要的=3=!
貼上匯編代碼,為什么是匯編呢?而不是C語(yǔ)言?因?yàn)槲疫€沒(méi)有學(xué)搭建C語(yǔ)言的環(huán)境,只能先用匯編
#define GPMCON 0x7f008820
#define GPMDAT 0x7f008824
light_led:
ldr r0, =GPMCON
ldr r1, =0x1111
str r1, [r0]
ldr r0, =GPMDAT
ldr r1, =0x5
str r1, [r0]
mov pc, lr
但是這樣下載到開(kāi)發(fā)板里面不能使LED亮,因?yàn)闆](méi)有對(duì)外設(shè)基地址初始化,對(duì),下面的僅僅是對(duì)LED的外設(shè)基地址初始化
set_peri_port:
ldr r0, =0x70000000
orr r0,r0,#0x13
mcr p15,0,r0,c15,c2,4
mov pc, lr
這樣把start.S文件和腳本和makefile放在一個(gè)文件夾里面,在Linux里面用GCC編譯鏈接生成.bin文件,通過(guò)USB用dnw下載到nand flash里面(其實(shí)不管用什么,只要把.bin文件下載到芯片的nand?。妫欤幔螅枥锩婢涂梢粤耍谠O(shè)置開(kāi)發(fā)板從nand flash啟動(dòng),重啟就可以看見(jiàn)LED亮了
還是虛擬機(jī)配Linux系統(tǒng)好用,不用去想辦法解決各種Windows的不兼容


關(guān)鍵詞: OK6410指路明燈LE

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉