專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

學(xué)習(xí)嵌入式系統(tǒng)(ARM)的一些想法

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2011年03月03日   【字體:

    在學(xué)習(xí)單片機(jī)的時候?qū)W的比較快,在學(xué)51和AVR的時候都可以說是得心應(yīng)手。可能就是手前面學(xué)習(xí)的影響,認(rèn)為學(xué)ARM也會比較順利。到開始學(xué)習(xí)ARM的時候才知道要入門是多么“痛苦”,每天就對著教程、資料折磨。沒有多少是學(xué)的明白的,完全不知道怎么學(xué)起。它涉及的內(nèi)容和知識太多了。我整理了一下這段時間的學(xué)習(xí)資料,我已經(jīng)看完的和我接下來要用的,總共29 G,我前10年讀書用的資料都可能沒有這么多。

                 學(xué)ARM不能再和以前學(xué)單片機(jī)那樣,剛開始時,不能說從哪里開始學(xué)。只有拿著資料、教程慢慢磨。久了就積累了一定的知識就會明白了,這個過程的滋味只有做過才能體會。前些天也實在很困惑無從下手。然后就下定決心從Entry入手,從CPU的第一條指令開始,跟著走下去。這樣做的阻力更加大,像在Bootload里面我就只會讀C和匯編,Makefile、連接腳本、腳本文件、配置文件就沒有辦法讀了。所以根本就不明白它是這么編譯的。

                很多人都說不要把ARM當(dāng)做單片機(jī)來學(xué)。我覺得學(xué)嵌入式應(yīng)該分開內(nèi)容學(xué)習(xí),第一步就是要把它當(dāng)單片機(jī)學(xué)起 。把它當(dāng)單片機(jī)學(xué)就是要徹底把開發(fā)板上的硬件驅(qū)動程序全部都學(xué)會了(液晶、Nandflash、Norflash、網(wǎng)卡、聲卡等)。對片上資源(串口、usb、ad、DMA等等)的驅(qū)動和CPU的匯編指令熟練掌握。這樣就為移植bootload打下了扎實的基礎(chǔ)。

                把硬件搞定后就學(xué)軟件了。學(xué)習(xí)Linux系統(tǒng)也是個漫長的過程啊。。!

                剛剛見到Linux的時候,“天啊這東西這么能用啊”。要學(xué)會Linux的命令和操作(各個軟件的操作、各項參數(shù)的配置),會使用Linux了就學(xué)習(xí)Linux下的編程(shell編程、Makefile、連接腳本、C編程),然后就深入學(xué)習(xí)Linux的內(nèi)核代碼,把Linux的目錄結(jié)構(gòu)弄熟了。把它里外都搞定了。

               能做到上面的了,那么移植U-Boot和移植Linux內(nèi)核就小意思了。

               整個學(xué)習(xí)內(nèi)容分為了幾大部分:

                            1:把ARM當(dāng)單片機(jī)(學(xué)它的匯編、開發(fā)板上硬件的驅(qū)動)

                            2:Linux的使用(命令、參數(shù)配置、編程等)

                            3:深入學(xué)習(xí)Linux內(nèi)核

                            4:U-boot和Linux內(nèi)核的移植

                            5:制作文件系統(tǒng)

                            6:Linux設(shè)備驅(qū)動開發(fā)

                            7:應(yīng)用程序開發(fā)(QT)

               這些內(nèi)容對每一個學(xué)習(xí)的人來說都是要命的工作啊,對于我來說最要命的是,在這個學(xué)習(xí)過程中的大部分文件和軟件都是純英文的。。。。。。÷景。要把這些都學(xué)了我想最快也要一年吧!不過對于一個人來說,不一定要把所有的都要學(xué)會了。

 

 

關(guān)閉窗口

相關(guān)文章