无码日韩精品一区二区免费_极品尤物一区二区三区_国产在线乱码一区二三区_内射女校花一区二区三区

切換到寬版
  • 廣告投放
  • 稿件投遞
  • 繁體中文
    • 2911閱讀
    • 1回復(fù)

    [轉(zhuǎn)載]ARM與嵌入式linux的入門建議 [復(fù)制鏈接]

    上一主題 下一主題
    離線edn2014
     
    發(fā)帖
    1
    光幣
    2
    光券
    0
    只看樓主 倒序閱讀 樓主  發(fā)表于: 2014-11-29
    由于很多人總問這個問題,所以這里做一個總結(jié)供大家參考。這里必須先說明,以下的步驟都是針對Linux系統(tǒng)的,并不面向WinCE。也許你會注意到,現(xiàn)在做嵌入式的人中,做linux研究的人遠比做WinCE的人多,很多產(chǎn)家提供的資料也是以linux為主。我一直很難理解,其實WinCE的界面比linux的界面好看多了,使用起來也很方便,更為重要的是,WinCE的開發(fā)和Windows下的開發(fā)基本一樣,學(xué)起來簡單得多,但是學(xué)linux或者使用linux做嵌入式的人就是遠比WinCE多。在和很多工作的人交流時我了解到,他們公司從沒考慮使用WinCE,因為成本高,都是使用linux進行開發(fā)。我讀研究生的的實驗室中也沒有使用WinCE的,大都研究linux,也有少部分項目使用vxwork,但是就沒有聽說過使用WinCE的,原因就是開源!當然現(xiàn)在WinCE6.0聽說也開源,不過在成本和資源上linux已經(jīng)有了無人能擋的優(yōu)勢。與此相對應(yīng)的是,越來越多的電子廠商已經(jīng)開始使用linux開發(fā)產(chǎn)品。舉個例子,Google近期開發(fā)的智能手機操作系統(tǒng)Android其實就是使用linux-2.6.23內(nèi)核進行改進得到的。  IcmTF #{D  
      j"6r]nc&  
      第一,學(xué)習基本的裸機編程。 qv\n]M_&  
    r4&g~+ck  
      對于學(xué)硬件的人而言,必須先對硬件的基本使用方法有感性的認識,更必須深刻認識該硬件的控制方式,如果一開始就學(xué)linux系統(tǒng)、學(xué)移植那么只會馬上就陷入一個很深的漩渦。我在剛剛開始學(xué)ARM的時候是選擇ARM7(主意是當時ARM9還很貴),學(xué)ARM7的時候還是保持著學(xué)51單片機的思維,使用ADS去編程,第一個實驗就是控制led。學(xué)過一段時間ARM的人都會笑這樣很笨,實際上也不是,我倒是覺得有這個過程會好很多,因為無論做多復(fù)雜的系統(tǒng)最終都會落實到這些最底層的硬件控制,因此對這些硬件的控制有了感性的認識就好很多了學(xué)習裸機的編程的同時要好好理解這個硬件的構(gòu)架、控制原理,這些我稱他為理解硬件。所謂的理解硬件就是說,理解這個硬件是怎么組織這么多資源的,這些資源又是怎么由cpu、由編程進行控制的。比如說,s3c2410中有AD轉(zhuǎn)換器,有GPIO(通用IO口),還有nandflash控制器,這些東西都有一些寄存器來控制,這些寄存器都有一個地址,那么這些地址是什么意思?又怎么通過寄存器來控制這些外圍設(shè)備的運轉(zhuǎn)?還有,norflash內(nèi)部的每一個單元在這個芯片的內(nèi)存中都有一個相應(yīng)的地址單元,那么這些地址與剛剛說的寄存器地址又有什么關(guān)系?他們是一樣的嗎?而與norflash相對應(yīng)的nandflash內(nèi)部的儲存單元并不是線性排放的,那么s3c2410怎么將nandflash的地址映射在內(nèi)存空間上進行使用?或者簡單地說應(yīng)該怎么用nandflash?再有,使用ADS進對ARM9行編程時都需要使用到一個初始化的匯編文件,這個文件究竟有什么用?他里面的代碼是什么意思?不要這個可以嗎?諸如此類都是對硬件的理解,理解了這些東西就對硬件有很深的理解了,這對以后更深一步的學(xué)習將有很大的幫助,如果跳過這一步,我相信越往后學(xué)越會覺得迷茫,越覺得這寫東西深不可測。因為,你的根基沒打好。不過先聲明一下,本人并沒有使用ADS對ARM9進行編程,我是學(xué)完ARM7后直接就使用ARM9學(xué)linux系統(tǒng)的,因此涉及使用ADS對ARM9進行編程的問題我很難回答^_^,自己去研究研究吧。 3cfJ(%'X  
    PyQt8Qlz  
      對于這部分不久將提供一份教程,這個教程中的例程并不是我為我們所代理的板子寫的,是我在我們學(xué)院實驗室拿的,英培特為他們自己的實驗箱寫的,不過很有借鑒意義,可以作為一份有價值的參考。 K8[vJ7(!|  
    lId}sf   
      第二,使用linux系統(tǒng)進行一些基本的實驗。 !9A6DWA 广南县| 汶川县| 松江区| 天全县| 黎平县| 革吉县| 申扎县| 尚志市| 兰考县| 宜宾市| 北川| 客服| 沅陵县| 金阳县| 河曲县| 库尔勒市| 二手房| 登封市| 汤阴县| 牡丹江市| 伊金霍洛旗| 确山县| 彭山县| 民乐县| 贵州省| 耒阳市| 晋城| 灵璧县| 竹北市| 颍上县| 滨州市| 阿拉尔市| 淮南市| 邹城市| 黄大仙区| 济阳县| 齐齐哈尔市| 衢州市| 巴彦淖尔市| 德兴市| 大渡口区|