<ruby id="66w77"><video id="66w77"></video></ruby>
<ruby id="66w77"><option id="66w77"><thead id="66w77"></thead></option></ruby>
  • <ruby id="66w77"><table id="66w77"></table></ruby>

  • <ruby id="66w77"><table id="66w77"></table></ruby>
    <strong id="66w77"></strong>

    基于新手進(jìn)行arm開(kāi)發(fā)的思路詳解

    2019-03-11 09:27:25分類(lèi):硬件開(kāi)發(fā)8666

      由于涉及編程,學(xué)習ARM單片機系統對于從事電子電路的設計者來(lái)說(shuō)是有些困難的,學(xué)習知識不難,難的是理清其中的開(kāi)發(fā)思路,找到一個(gè)好的起點(diǎn)。本文就將從這一步入手,為大家介紹初次接觸ARM開(kāi)發(fā)應該從哪幾方面來(lái)理清開(kāi)發(fā)思路。

      做個(gè)最小系統板:如果從沒(méi)有做過(guò)ARM的開(kāi)發(fā),建議一開(kāi)始不要貪大求全,把所有的應用都做好,因為ARM的啟動(dòng)方式和dsp或單片機有所不同,往往會(huì )遇到各種問(wèn)題,所以建議先布一個(gè)僅有Flash、SRAM或SDRAM、CPU、JTAG、和復位信號的小系統板,留出擴展接口。使最小系統能夠正常運行,任務(wù)就完成了一半,好在A(yíng)RM的外圍接口基本都是標準接口,如果已有這些硬件的布線(xiàn)經(jīng)驗那就更好了。
     

    arm開(kāi)發(fā)
     

      寫(xiě)啟動(dòng)代碼

      根據硬件地址先寫(xiě)一個(gè)能夠啟動(dòng)的小代碼,包括以下部分:初始化端口、屏蔽中斷、把程序拷貝到SRAM中、完成代碼的重映射、配置中斷句柄,連接到C語(yǔ)言入口。也許一些示例程序當中bootloader會(huì )有很多東西,但是不要被這些復雜的程序所困擾,因為這是設計開(kāi)發(fā)板過(guò)程中需要設計,并不包含在A(yíng)RM設計范疇中。

      研究芯片資料

      盡管ARM在內核上兼容,但每家芯片都有自己的特色,編寫(xiě)程序時(shí)必須考慮這些問(wèn)題。尤其是女孩子,在這兒千萬(wàn)別有依賴(lài)心理,總想拿別人的示例程序修改,卻越改越亂。

      了解操作系統程序

      在A(yíng)RM的應用開(kāi)放源代碼的程序很多,要想提高自己,就要多看別人的程序,Linux,uc/os-II等等這些都是很好的原碼。

      硬件

      如果設計者自己制作硬件,每個(gè)廠(chǎng)家基本上都有針對該芯片的DEMO板原理圖。如果先將原理圖消化。在以后做設計時(shí)就能做到對資源的分配心中有數。器件的DATSHEET一定要好好消化。

      最小系統板

      很多人會(huì )問(wèn),做最小系統板是2層還是4層好?答:只有AT91可以用兩層板,其他的最少4層;44b0的地和電源處理好也可用兩層板;談四層板和33歐電阻:選用四層板不僅是電源和地的問(wèn)題,高速數字電路對走線(xiàn)的阻抗有要求,二層板不好控制阻抗。33歐電阻一般加在驅動(dòng)器端,也是起阻抗匹配作用的;布線(xiàn)時(shí)要先布數據地址線(xiàn),和需要保證的高速線(xiàn);在高頻的時(shí)候,PCB板上的走線(xiàn)都要看成傳輸線(xiàn)。
     

    arm開(kāi)發(fā)
     

      傳輸線(xiàn)有其特征阻抗,學(xué)過(guò)傳輸線(xiàn)理論的都知道,當傳輸線(xiàn)上某處出現阻抗突變(不匹配)時(shí),信號通過(guò)就會(huì )發(fā)生反射,反射對原信號造成干擾,嚴重時(shí)就會(huì )影響電路的正常工作。采用四層板時(shí),通常外層走信號線(xiàn),中間兩層分別為電源和地平面,這樣一方面隔離了兩個(gè)信號層,更重要的是外層的走線(xiàn)與它們所靠近的平面形成稱(chēng)為“微帶”(microstrip)的傳輸線(xiàn),它的阻抗比較固定,而且可以計算。

      對于兩層板就比較難以做到這樣。這種傳輸線(xiàn)阻抗主要于走線(xiàn)的寬度、到參考平面的距離、敷銅的厚度以及介電材料的特性有關(guān),有許多現成的公式和程序可供計算。33歐電阻通常串連放在驅動(dòng)的一端(其實(shí)不一定33歐,從幾歐到五、六十歐都有,視電路具體情況),其作用是與發(fā)送器的輸出阻抗串連后與走線(xiàn)的阻抗匹配,使反射回來(lái)(假設解收端阻抗沒(méi)有匹配)的信號不會(huì )再次反射回去(吸收掉),這樣接收端的信號就不會(huì )受到影響。

      接收端也可以作匹配,例如采用電阻并聯(lián),但在數字系統比較少用,因為比較麻煩,而且很多時(shí)候是一發(fā)多收,如地址總線(xiàn),不如源端匹配易做。這里梭說(shuō)的高頻,不一定是時(shí)鐘頻率很高的電路,是不是高頻不止看頻率,更重要是看信號的上升下降時(shí)間。通??梢杂蒙仙?或下降)時(shí)間估計電路的頻率,一般取上升時(shí)間倒數的一半,比如如果上升時(shí)間是1ns,那么它的倒數是1000MHz,也就是說(shuō)在設計電路是要按500MHz的頻帶來(lái)考慮。

      有時(shí)候要故意減慢邊緣時(shí)間,許多高速I(mǎi)C其驅動(dòng)器的輸出斜率是可調的。Linux自身具備一整套工具鏈,容易自行建立嵌入式系統的開(kāi)發(fā)環(huán)境和交叉運行環(huán)境,并且可以跨越嵌入式系統開(kāi)發(fā)中的仿真工具(ICE)的障礙。內核的完全開(kāi)放使人們可以自己設計和開(kāi)發(fā)出真正的硬實(shí)時(shí)系統,軟實(shí)時(shí)系統在Linux中也容易得到實(shí)現。強大的網(wǎng)絡(luò )支持使得可以利用Linux的網(wǎng)絡(luò )協(xié)議棧將其開(kāi)發(fā)成為嵌入式的TCP/IP網(wǎng)絡(luò )協(xié)議棧。Linux提供了完成嵌入功能的基本內核和所需要的所有用戶(hù)界面,它是多面的。它能處理嵌入式任務(wù)和用戶(hù)界面。

      一個(gè)小型的嵌入式Linux系統只需要下面三個(gè)基本元素:*引導工具*Linux微內核,由內存管理、進(jìn)程管理和事務(wù)處理構成*初始化進(jìn)程如果要讓它能干點(diǎn)什么且繼續保持小型化,還得加上:*硬件驅動(dòng)程序*提供所需功能的一個(gè)或更多應用程序。再增加功能,或許需要這些:*一個(gè)文件系統(也許在ROM或RAM)中*TCP/IP網(wǎng)絡(luò )堆棧。

      本文從啟動(dòng)代碼、芯片資料、操作系統程序、最小系統版這四個(gè)方面來(lái)為新手進(jìn)行講解,在針對ARM開(kāi)發(fā)思路時(shí)首先需要從這四個(gè)方面來(lái)進(jìn)行入手,那么在之后的學(xué)習過(guò)程中就會(huì )覺(jué)得豁然開(kāi)朗而不是一頭霧水,因此建議各位新手花上幾分鐘來(lái)閱讀本文,相信會(huì )有意想不到的收獲。

    上一篇:下一篇:
    92视频在线精品国自产拍_乱色熟女综合一区二区_国产精品毛片久久久久久久_久天啪天天久久99久孕妇
    <ruby id="66w77"><video id="66w77"></video></ruby>
    <ruby id="66w77"><option id="66w77"><thead id="66w77"></thead></option></ruby>
  • <ruby id="66w77"><table id="66w77"></table></ruby>

  • <ruby id="66w77"><table id="66w77"></table></ruby>
    <strong id="66w77"></strong>