玩轉ARM基本功
我是稀里糊涂的走上了嵌入式開(kāi)發(fā)的道路,回想起來(lái),多虧了身邊的幾位朋友,是在與他們的閑侃中慢慢的走上了這條道路:從最早的電路設計,PCB打板,電路調試,模擬仿真,單片機開(kāi)發(fā)到后來(lái)的ARM開(kāi)發(fā),回想起來(lái),心里也是誠惶誠恐,如履薄冰。
本文引用地址:http://dyxdggzs.com/article/192613.htm我開(kāi)始做電子是用的AVR單片機,從I/O、按鍵…到內存、外設玩了一通。工作之后,才開(kāi)始玩ARM。在項目中逐漸對ARM開(kāi)發(fā)有了一些感悟。
學(xué)習ARM有兩個(gè)目的,看你是那種:1、長(cháng)見(jiàn)識,順便玩玩;2、工作需要,從事ARM開(kāi)發(fā)。這就要分開(kāi)對待了。
如果是長(cháng)見(jiàn)識,隨便玩玩,為日后的工作做準備,那么就應該挑選市場(chǎng)上很成熟的ARM7、ARM9等資料比較多,玩的人比較多,出現問(wèn)題容易解決;如果是工作需要,就沒(méi)有這么多選擇,必須按照功能要求,開(kāi)始征服特定的片子。
不管哪種目的,學(xué)習起來(lái)步驟我感覺(jué)差不多,先裸板,后上操作系統:

之所以這么安排,是因為聽(tīng)了很多大牛的建議和意見(jiàn)。正所謂“萬(wàn)丈高樓平地起”,基礎很重要。在上操作系統之前,一定要對底層代碼特別是裸板程序有一定的認識。這樣,對于操作系統中涉及底層的問(wèn)題就會(huì )少很多。
現在以我學(xué)習ARM11(s3c6410-1176JZF)的經(jīng)歷介紹寫(xiě)一些基本功。
首先:要有一定的電子基礎。
這不是廢話(huà)嗎,既然玩ARM當然都是懂電子的呀。其實(shí)不然!電子基礎可深可淺,怎么是個(gè)頭?會(huì )IC放大器,搭建信號處理電路,這是信號處理中的基本功。對于A(yíng)RM開(kāi)發(fā)來(lái)說(shuō),我感覺(jué)重點(diǎn)在信號走線(xiàn)、濾波、穩壓和保持片子性能穩定上(分析一個(gè)ARM板子就會(huì )明白這些道理)。
我談下我的見(jiàn)解:明白ARM板子中除集成IC之外的元器件的作用,最常見(jiàn)的是電容作用、驅動(dòng)LED呀、揚聲器呀、串口連接、存儲器連接、LCD屏幕連接等等??吹酱?,想起怎么連接;看到按鍵,想起怎么識別……基本上在硬件上可以將整個(gè)系統連接起來(lái)。
其次,有一定的英文閱讀能力。
我在開(kāi)發(fā)的時(shí)候以L(fǎng)inux應用完全開(kāi)發(fā)手冊、6410手冊和ARM1176jzf內核手冊為基礎。這三個(gè)文檔一個(gè)中文,兩個(gè)英文,頁(yè)數總和有2500頁(yè)。如果沒(méi)有耐心,想盡快完成開(kāi)發(fā),這無(wú)異于緣木求魚(yú)。6410的手冊是對ARM11芯片的介紹和寄存器的總體介紹:包括GPIO設置,相機接口、Nandflash控制器、DRAM控制器等。1176jzf是對1176jzf處理器的設置的介紹。

存儲器相關(guān)文章:存儲器原理
評論