0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

初次接觸ARM需要搞清楚的ARM開發(fā)思路

2oON_changxuemc ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-02-06 08:41 ? 次閱讀

做個最小系統(tǒng)板:如果從沒有做過ARM的開發(fā),建議一開始不要貪大求全,把所有的應(yīng)用都做好,因為ARM的啟動方式和dsp單片機(jī)有所不同,往往會遇到各種問題,所以建議先布一個僅有Flash、SRAMSDRAM、CPU、JTAG、和復(fù)位信號的小系統(tǒng)板,留出擴(kuò)展接口。使最小系統(tǒng)能夠正常運(yùn)行,任務(wù)就完成了一半,好在ARM的外圍接口基本都是標(biāo)準(zhǔn)接口,如果已有這些硬件的布線經(jīng)驗?zāi)蔷透昧恕?/p>

寫啟動代碼

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

研究芯片資料

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

了解操作系統(tǒng)程序

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

硬件

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

最小系統(tǒng)板

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

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

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9030

    瀏覽量

    366539
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11215

    瀏覽量

    208740
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3224

    瀏覽量

    66070
  • 最小系統(tǒng)板
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7847

原文標(biāo)題:為ARM初學(xué)者理清ARM開發(fā)思路

文章出處:【微信號:changxuemcu,微信公眾號:暢學(xué)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式學(xué)習(xí)思路, 求大家給點建議

    , 而且網(wǎng)上的幾乎找不到 51 + linux 的資料2. 搞清楚每一個細(xì)節(jié), 學(xué)習(xí)最最基礎(chǔ)的東西, 我不想借助任何的 IDE, 它會掩蓋一些細(xì)節(jié). 比如說我想搞清楚燒寫程序的原理是什么, 在
    發(fā)表于 08-10 15:39

    從事開關(guān)電源方面的工作,目前很想搞清楚我所所跟進(jìn)的項目,請問如何開始?

    `我是去年才開始從事開關(guān)電源方面的工作,目前很想搞清楚我所所跟進(jìn)的項目,請問如何開始,以下是我跟進(jìn)的產(chǎn)品,謝謝各位大神指教。功能: 取暖器電源板+控制顯示板 AC220 轉(zhuǎn)DC3.3V 給 STM32供電,調(diào)節(jié)溫度等參數(shù)。`
    發(fā)表于 05-03 16:01

    想請問Qmath可以移植到M0的arm上面嗎

    IQmath我想移植到M0的arm上面可以嗎?沒有搞清楚IQmath只是針對M3的還是針對32位的,是不是32位的arm不管是M0還是M3都可以用
    發(fā)表于 04-09 12:03

    淺談新手ARM開發(fā)思路詳解

    由于涉及編程,學(xué)習(xí)ARM單片機(jī)系統(tǒng)對于從事電子電路的設(shè)計者來說是有些困難的,學(xué)習(xí)知識不難,難的是理清其中的開發(fā)思路,找到一個好的起點。這邊分享一個技巧,為大家介紹初次
    發(fā)表于 05-28 14:40

    ARM開發(fā)的主要思路看完就知道

    想要理清ARM開發(fā)思路,這四點必須知道
    發(fā)表于 04-02 06:32

    要想選擇合適的射頻模塊 這些問題必須搞清楚

    要想選擇合適的射頻模塊這些問題必須搞清楚
    發(fā)表于 05-20 07:06

    主流的嵌入式CPU架構(gòu)-ARM架構(gòu)詳解

    ,想要進(jìn)行嵌入式學(xué)習(xí),就一定要先了解什么是ARM,以及ARM內(nèi)核型號的發(fā)展歷程,只有先搞清楚了這些基本問題,往后學(xué)習(xí)才能理順思路,這里主要結(jié)合我自己學(xué)習(xí)的一些內(nèi)容及從網(wǎng)上搜索到的一些內(nèi)
    發(fā)表于 12-13 06:05

    介紹初次接觸ARM開發(fā)應(yīng)該從4個方面來理清開發(fā)思路

    由于涉及編程,學(xué)習(xí)ARM單片機(jī)系統(tǒng)對于從事電子電路的設(shè)計者來說是有些困難的,學(xué)習(xí)知識不難,難的是理清其中的開發(fā)思路,找到一個好的起點。本文就將從這一步入手,為大家介紹初次
    的頭像 發(fā)表于 01-16 14:32 ?4483次閱讀

    介紹初次接觸ARM開發(fā)應(yīng)該從哪幾方面來理清開發(fā)思路

    由于涉及編程,學(xué)習(xí)ARM單片機(jī)系統(tǒng)對于從事電子電路的設(shè)計者來說是有些困難的,學(xué)習(xí)知識不難,難的是理清其中的開發(fā)思路,找到一個好的起點。本文就將從這一步入手,為大家介紹初次
    的頭像 發(fā)表于 01-21 10:20 ?4119次閱讀

    關(guān)于新手進(jìn)行ARM開發(fā)的四個思路詳解

    由于涉及編程,學(xué)習(xí)ARM單片機(jī)系統(tǒng)對于從事電子電路的設(shè)計者來說是有些困難的,學(xué)習(xí)知識不難,難的是理清其中的開發(fā)思路,找到一個好的起點。本文就將從這一步入手,為大家介紹初次
    發(fā)表于 07-02 18:20 ?1.4w次閱讀

    Xilinx基于ARM的Zynq-7000和Zynq UltraScale+ MPSoC及RFSoC器件是否存在安全漏洞

    本文試圖搞清楚在 Xilinx 基于 ARM 的 Zynq-7000、Zynq UltraScale+ MPSoC 和 Zynq UltraScale+ RFSoC 器件中是否存在任何漏洞。
    發(fā)表于 06-28 15:53 ?2658次閱讀

    ARM的函數(shù)指針、指針函數(shù)的區(qū)別和用法

    在學(xué)習(xí)arm過程中發(fā)現(xiàn)這“指針函數(shù)”與“函數(shù)指針”容易搞錯,所以今天,我自己想一次把它搞清楚,找了一些資料,和大家的一些總結(jié),整理到此。和大家分享。
    的頭像 發(fā)表于 06-20 10:08 ?3470次閱讀

    Cortex-M3里GPIO幾個概念必須搞清楚資料下載

    電子發(fā)燒友網(wǎng)為你提供Cortex-M3里GPIO幾個概念必須搞清楚資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-01 08:43 ?3次下載
    Cortex-M3里GPIO幾個概念必須<b class='flag-5'>搞清楚</b>資料下載

    示波器眼圖怎么看,搞清楚這4點就容易啦!資料下載

    電子發(fā)燒友網(wǎng)為你提供示波器眼圖怎么看,搞清楚這4點就容易啦!資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-14 08:44 ?26次下載
    示波器眼圖怎么看,<b class='flag-5'>搞清楚</b>這4點就容易啦!資料下載

    搞清楚PLC編程的三大量之間的關(guān)系

    PLC中無非就是三大量:開關(guān)量、模擬量、脈沖量。只在搞清楚三者之間的關(guān)系,你就能熟練的掌握PLC了。
    的頭像 發(fā)表于 02-21 16:22 ?1444次閱讀