玩轉(zhuǎn)ARM基本功
第三、要有一點(diǎn)匯編和c語(yǔ)言的基礎(chǔ)。
本文引用地址:http://m.butianyuan.cn/article/192613.htm為什么這么說(shuō)呢,首先看下配置I/O口為簡(jiǎn)單輸入輸出的ARM的啟動(dòng)代碼:
在6410的啟動(dòng)代碼中,需要以匯編語(yǔ)言的形式設(shè)置、配置寄存器,現(xiàn)在將這部分進(jìn)行簡(jiǎn)單的分析:
在寫裸板程序的起始,需以 .globl 為開(kāi)始,通過(guò)
將外設(shè)地址映射到外設(shè)地址,通過(guò)
將存儲(chǔ)器大小設(shè)置為256M,具體怎么實(shí)現(xiàn)的呢,查看1176jzf手冊(cè):
有此可見(jiàn),6410手冊(cè)和1176jzf手冊(cè)對(duì)于裸板程序是一利器。
第四、舉一反三,融會(huì)貫通,利用網(wǎng)絡(luò)。
一個(gè)6410手冊(cè)有1378頁(yè),一個(gè)1176jzf有972頁(yè),看完是一項(xiàng)可望不可及的任務(wù),因此善于舉一反三,融會(huì)貫通是必須的。另外還需要有Google大神的幫助。在開(kāi)發(fā)過(guò)程中,如果碰到新功能,新接口沒(méi)有使用過(guò),這時(shí),Google大神就可以發(fā)揮其大神的作用,帶領(lǐng)你完成任務(wù)。
如在寫堆棧操作中,需要將各寄存器的數(shù)值進(jìn)行保存,需要使用stmdb指令,如果不熟悉,可以用Google大神進(jìn)行幫助。
通過(guò)介紹,可以明白具體的操作。
雖然ARM更新速度很快,但是也不是出來(lái)一個(gè)新產(chǎn)品就讓我們從頭開(kāi)始學(xué)習(xí)新技術(shù),只要熟悉掌握了一種MCU,通過(guò)舉一反三,可以將技術(shù)擴(kuò)大到應(yīng)有的領(lǐng)域。
最后借用孔老夫子的一句話“學(xué)而不思則罔,思而不寫則殆”來(lái)表達(dá)嵌入式開(kāi)發(fā)者——至少我是這樣的心情。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理
評(píng)論