<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 玩轉(zhuǎn)ARM基本功

          玩轉(zhuǎn)ARM基本功

          作者:Machinnneee 時間:2013-11-25 來源:電子產(chǎn)品世界 收藏

            我是稀里糊涂的走上了開發(fā)的道路,回想起來,多虧了身邊的幾位朋友,是在與他們的閑侃中慢慢的走上了這條道路:從最早的電路設(shè)計,PCB打板,電路調(diào)試,模擬仿真,開發(fā)到后來的開發(fā),回想起來,心里也是誠惶誠恐,如履薄冰。

          本文引用地址:http://www.ex-cimer.com/article/192613.htm

            我開始做電子是用的AVR,從I/O、按鍵…到內(nèi)存、外設(shè)玩了一通。工作之后,才開始玩。在項目中逐漸對開發(fā)有了一些感悟。

            學(xué)習(xí)ARM有兩個目的,看你是那種:1、長見識,順便玩玩;2、工作需要,從事ARM開發(fā)。這就要分開對待了。

            如果是長見識,隨便玩玩,為日后的工作做準(zhǔn)備,那么就應(yīng)該挑選市場上很成熟的ARM7、ARM9等資料比較多,玩的人比較多,出現(xiàn)問題容易解決;如果是工作需要,就沒有這么多選擇,必須按照功能要求,開始征服特定的片子。

            不管哪種目的,學(xué)習(xí)起來步驟我感覺差不多,先裸板,后上操作系統(tǒng):

            之所以這么安排,是因為聽了很多大牛的建議和意見。正所謂“萬丈高樓平地起”,基礎(chǔ)很重要。在上操作系統(tǒng)之前,一定要對底層代碼特別是裸板程序有一定的認(rèn)識。這樣,對于操作系統(tǒng)中涉及底層的問題就會少很多。

            現(xiàn)在以我學(xué)習(xí)ARM11(s3c6410-1176JZF)的經(jīng)歷介紹寫一些基本功。

          首先:要有一定的電子基礎(chǔ)。

            這不是廢話嗎,既然玩ARM當(dāng)然都是懂電子的呀。其實不然!電子基礎(chǔ)可深可淺,怎么是個頭?會IC放大器,搭建信號處理電路,這是信號處理中的基本功。對于ARM開發(fā)來說,我感覺重點在信號走線、濾波、穩(wěn)壓和保持片子性能穩(wěn)定上(分析一個ARM板子就會明白這些道理)。

            我談下我的見解:明白ARM板子中除集成IC之外的元器件的作用,最常見的是電容作用、驅(qū)動LED呀、揚聲器呀、串口連接、連接、LCD屏幕連接等等??吹酱?,想起怎么連接;看到按鍵,想起怎么識別……基本上在硬件上可以將整個系統(tǒng)連接起來。

           其次,有一定的英文閱讀能力。

            我在開發(fā)的時候以Linux應(yīng)用完全開發(fā)手冊、6410手冊和ARM1176jzf內(nèi)核手冊為基礎(chǔ)。這三個文檔一個中文,兩個英文,頁數(shù)總和有2500頁。如果沒有耐心,想盡快完成開發(fā),這無異于緣木求魚。6410的手冊是對ARM11芯片的介紹和寄存器的總體介紹:包括GPIO設(shè)置,相機接口、Nandflash、DRAM等。1176jzf是對1176jzf處理器的設(shè)置的介紹。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

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



          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();