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