玩轉(zhuǎn)ARM基本功
我是稀里糊涂的走上了嵌入式開發(fā)的道路,回想起來(lái),多虧了身邊的幾位朋友,是在與他們的閑侃中慢慢的走上了這條道路:從最早的電路設(shè)計(jì),PCB打板,電路調(diào)試,模擬仿真,單片機(jī)開發(fā)到后來(lái)的ARM開發(fā),回想起來(lái),心里也是誠(chéng)惶誠(chéng)恐,如履薄冰。
本文引用地址:http://m.butianyuan.cn/article/192613.htm我開始做電子是用的AVR單片機(jī),從I/O、按鍵…到內(nèi)存、外設(shè)玩了一通。工作之后,才開始玩ARM。在項(xiàng)目中逐漸對(duì)ARM開發(fā)有了一些感悟。
學(xué)習(xí)ARM有兩個(gè)目的,看你是那種:1、長(zhǎng)見(jiàn)識(shí),順便玩玩;2、工作需要,從事ARM開發(fā)。這就要分開對(duì)待了。
如果是長(zhǎng)見(jiàn)識(shí),隨便玩玩,為日后的工作做準(zhǔn)備,那么就應(yīng)該挑選市場(chǎng)上很成熟的ARM7、ARM9等資料比較多,玩的人比較多,出現(xiàn)問(wèn)題容易解決;如果是工作需要,就沒(méi)有這么多選擇,必須按照功能要求,開始征服特定的片子。
不管哪種目的,學(xué)習(xí)起來(lái)步驟我感覺(jué)差不多,先裸板,后上操作系統(tǒng):
之所以這么安排,是因?yàn)槁犃撕芏啻笈5慕ㄗh和意見(jiàn)。正所謂“萬(wàn)丈高樓平地起”,基礎(chǔ)很重要。在上操作系統(tǒng)之前,一定要對(duì)底層代碼特別是裸板程序有一定的認(rèn)識(shí)。這樣,對(duì)于操作系統(tǒng)中涉及底層的問(wèn)題就會(huì)少很多。
現(xiàn)在以我學(xué)習(xí)ARM11(s3c6410-1176JZF)的經(jīng)歷介紹寫一些基本功。
首先:要有一定的電子基礎(chǔ)。
這不是廢話嗎,既然玩ARM當(dāng)然都是懂電子的呀。其實(shí)不然!電子基礎(chǔ)可深可淺,怎么是個(gè)頭?會(huì)IC放大器,搭建信號(hào)處理電路,這是信號(hào)處理中的基本功。對(duì)于ARM開發(fā)來(lái)說(shuō),我感覺(jué)重點(diǎn)在信號(hào)走線、濾波、穩(wěn)壓和保持片子性能穩(wěn)定上(分析一個(gè)ARM板子就會(huì)明白這些道理)。
我談下我的見(jiàn)解:明白ARM板子中除集成IC之外的元器件的作用,最常見(jiàn)的是電容作用、驅(qū)動(dòng)LED呀、揚(yáng)聲器呀、串口連接、存儲(chǔ)器連接、LCD屏幕連接等等??吹酱冢肫鹪趺催B接;看到按鍵,想起怎么識(shí)別……基本上在硬件上可以將整個(gè)系統(tǒng)連接起來(lái)。
其次,有一定的英文閱讀能力。
我在開發(fā)的時(shí)候以Linux應(yīng)用完全開發(fā)手冊(cè)、6410手冊(cè)和ARM1176jzf內(nèi)核手冊(cè)為基礎(chǔ)。這三個(gè)文檔一個(gè)中文,兩個(gè)英文,頁(yè)數(shù)總和有2500頁(yè)。如果沒(méi)有耐心,想盡快完成開發(fā),這無(wú)異于緣木求魚。6410的手冊(cè)是對(duì)ARM11芯片的介紹和寄存器的總體介紹:包括GPIO設(shè)置,相機(jī)接口、Nandflash控制器、DRAM控制器等。1176jzf是對(duì)1176jzf處理器的設(shè)置的介紹。
存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理
評(píng)論