www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]前一段時(shí)間做了arm的一些開(kāi)發(fā),主要是編寫了arm的啟動(dòng)軟件和移植了uCOS-II到arm7。我做事情喜歡深入簡(jiǎn)出,及從最簡(jiǎn)單,最原理的方面先做一個(gè)框架,然后在這個(gè)框架里面進(jìn)行補(bǔ)充。我還是一個(gè)很喜歡和別人討論的人,希望有人

前一段時(shí)間做了arm的一些開(kāi)發(fā),主要是編寫了arm的啟動(dòng)軟件和移植了uCOS-II到arm7。我做事情喜歡深入簡(jiǎn)出,及從最簡(jiǎn)單,最原理的方面先做一個(gè)框架,然后在這個(gè)框架里面進(jìn)行補(bǔ)充。我還是一個(gè)很喜歡和別人討論的人,希望有人可以給我提出意見(jiàn)和建議。我的這個(gè)心得很初級(jí),都是一些基本的東西?,F(xiàn)在拿出來(lái)和大家分享,希望在我畢業(yè)之前能給大家留一些紀(jì)念。^_^
    由于這些東西發(fā)paper實(shí)在是沒(méi)有價(jià)值,但是我感覺(jué)可以作為arm開(kāi)發(fā)的入門。由于我的水平和經(jīng)驗(yàn)有限,錯(cuò)誤也是難免的。但是如果不拿出來(lái)和大家分享, 就算有錯(cuò)誤我也發(fā)現(xiàn)不了,是么?呵呵。我現(xiàn)試試發(fā)連載的第一篇,看看有多少價(jià)值,如果大家覺(jué)得有價(jià)值,我會(huì)繼續(xù)連載的。
連載一:
前言
這個(gè)文檔是我學(xué)習(xí)ARM編程的總結(jié)和心得。閱讀這個(gè)文檔的人應(yīng)當(dāng)首先閱讀ADS1.2的幫助文檔及相關(guān)內(nèi)容。這個(gè)文檔不會(huì)對(duì)編譯器及連接器做出詳細(xì)的說(shuō)明, 在需要的時(shí)候會(huì)指出具體內(nèi)容在相關(guān)資料的章節(jié)。同時(shí)閱讀這個(gè)文檔的人需要了解ARM指令集和一些ARM匯編的基本內(nèi)容以及C和C++的相關(guān)編程內(nèi)容。同時(shí)還需要了解ARM的流水線結(jié)構(gòu)及一些基本的編程知識(shí)。同時(shí)為了方便查閱英文文檔,所有的相關(guān)術(shù)語(yǔ)都使用英文原文

第一章 STARTUP
1 ARM的啟動(dòng)
一般的嵌入式系統(tǒng)在主程序執(zhí)行之前都需要執(zhí)行一些初始化的過(guò)程以創(chuàng)造嵌入式程序運(yùn)行的環(huán)境,尤其是一些高級(jí)的嵌入式系統(tǒng),由于核心芯片使用內(nèi)存映射、內(nèi)存保護(hù)等機(jī)制以及編程使用高級(jí)語(yǔ)言C,C++甚至JAVA語(yǔ)言,都需要先創(chuàng)建一個(gè)適合程序運(yùn)行的硬件環(huán)境,然后初始化或者配置或者剪裁run-time library, 這些工作都必須在主程序運(yùn)行前完成,所以一個(gè)startup程序或者程序組對(duì)于一個(gè)嵌入式系統(tǒng)來(lái)說(shuō)是非常重要的。要編寫startup程序,需要對(duì)編譯器、鏈接器和匯編器的細(xì)節(jié)有一定的了解,同時(shí)對(duì)ARM芯片硬件本身的地址分配以及memory mapping機(jī)制也需要有一些了解。
2 ARM 程序的工作過(guò)程
首先由各種source file經(jīng)過(guò)編譯產(chǎn)生object文件,然后object文件經(jīng)過(guò)鏈接生成Image文件,然后通過(guò)ICE的方法,根據(jù)描述文件的指定下載到目標(biāo)板上的固態(tài)存儲(chǔ)器指定地址當(dāng)中,比如flash,EEPROM, ROM等等。在程序執(zhí)行之前,根據(jù)某些描述文件,將需要讀寫數(shù)據(jù)的部分讀出放入動(dòng)態(tài)存儲(chǔ)器比如RAM當(dāng)中,然后程序從ROM開(kāi)始執(zhí)行。或者有時(shí)為了提高程序的運(yùn)行速度,也可以將所有的程序(有一些root的部分除外,以后會(huì)提及)通過(guò)一個(gè)描述文件放入指定的RAM當(dāng)中,然后程序從RAM開(kāi)始執(zhí)行,但是這樣會(huì)耗費(fèi)大量的動(dòng)態(tài)存儲(chǔ)器,所以大部分程序會(huì)取折中的方法,將需要快速運(yùn)行的部分和要讀寫的部分放入RAM中(一般讀固態(tài)存儲(chǔ)器的過(guò)程和動(dòng)態(tài)存儲(chǔ)器的過(guò)程是一樣的,但是寫就不同了,所以讀寫的部分一定要放到RAM中),而只讀的部分和對(duì)速度要求不是那么高的部分放入固態(tài)存儲(chǔ)器。同時(shí)ARM結(jié)構(gòu)的異常向量表規(guī)定放在地址為0x00000000開(kāi)始的地址空間上,而一般的CPU為了提高異常相應(yīng)速度,會(huì)將這個(gè)向量段remap到其他的RAM當(dāng)中,所以在描述文件當(dāng)中必須精確指定異常向量跳轉(zhuǎn)程序的地址到remap的地方。在application程序執(zhí)行前,還需要由一些文件描述application程序執(zhí)行的環(huán)境。比如系統(tǒng)工作時(shí)鐘,總線頻率。現(xiàn)在一般嵌入式編程語(yǔ)言為C,C++等。如果在使用它們的時(shí)候使用的runtime-library,那么在程序執(zhí)行前還需要為這些庫(kù)函數(shù)初始化heap。然后ARM可能工作在不同的模式,還需要為不同的工作模式設(shè)置stack。這樣,描述鏈接地址的文件,以及在 application運(yùn)行前所有的初始化程序就是startup程序組
3 STARTUP分類
這樣,將startup程序所完成的功能分類。一類是鏈接地址描述,一類是各種初始化的程序。根據(jù)不同的應(yīng)用,描述文件和初始化程序的內(nèi)容以及結(jié)構(gòu)和復(fù)雜程度都會(huì)不同。但是基本上,它們都必須實(shí)現(xiàn)以下功能。
3.1 描述文件實(shí)現(xiàn)功能
描述文件可以是鏈接命令行上簡(jiǎn)單的幾個(gè)字符,也可以是一個(gè)非常復(fù)雜的文件,但是它必須完成如下功能:
; 指定程序下載的地址
; 指定程序執(zhí)行的地址
3.2 初始化程序?qū)崿F(xiàn)的功能
初始化程序根據(jù)不同的應(yīng)用,其結(jié)構(gòu)和復(fù)雜度也不同,但是它必須完成如下基本功能:
; 異常向量初始化
; 內(nèi)存環(huán)境初始化
; 其他硬件環(huán)境初始化

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

北京2022年10月19日 /美通社/ -- 隨著云計(jì)算、大數(shù)據(jù)的普及發(fā)展,過(guò)去的"云"是服務(wù)于大企業(yè)的計(jì)算模型,而十多年過(guò)去了,越來(lái)越多的應(yīng)用及業(yè)務(wù)走上"云端",對(duì)計(jì)算核心數(shù)需求...

關(guān)鍵字: ARM 大數(shù)據(jù) 云游戲 CPU

無(wú)線連接已成為許多產(chǎn)品的必備功能,但往往會(huì)增加系統(tǒng)設(shè)計(jì)的成本和復(fù)雜性,因?yàn)樗ǔ1仨氉鳛楦髴?yīng)用的附加功能。Microchip Technology Inc.(美國(guó)微芯科技公司)今日推出首款基于Arm Cortex?-M...

關(guān)鍵字: Microchip ARM PIC

物聯(lián)網(wǎng)正在擴(kuò)大規(guī)模并加速發(fā)展,進(jìn)而驅(qū)動(dòng)著全新的經(jīng)濟(jì)。而Arm生態(tài)系統(tǒng)正是這一巨大機(jī)遇背后的推動(dòng)力。

關(guān)鍵字: ARM 物聯(lián)網(wǎng)

ARM公司是一家知識(shí)產(chǎn)權(quán)(IP)供應(yīng)商,它與一般的半導(dǎo)體公司最大的不同就是不制造芯片且不向終端用戶出售芯片,而是通過(guò)轉(zhuǎn)讓設(shè)計(jì)方案,由合作伙伴生產(chǎn)出各具特色的芯片。

關(guān)鍵字: ARM

2018年10月26日,深圳星河麗思卡爾頓酒店,ARM中國(guó)CEO吳雄昂在ARM年度技術(shù)論壇上對(duì)記者如是說(shuō),彼時(shí)的吳堅(jiān)定,溫雅,意氣風(fēng)發(fā)。時(shí)隔兩年,ARM中國(guó)CEO吳雄昂再次回到媒體視線,這一次,ARM中國(guó)與來(lái)自投資方和劍...

關(guān)鍵字: ARM 芯片 集成電路

喜歡折騰主機(jī)的小伙伴一定都知道X86和ARM架構(gòu)的區(qū)別,前者在PC領(lǐng)域已經(jīng)統(tǒng)治了幾十年;后者則主要應(yīng)用于移動(dòng)領(lǐng)域,尤其是近幾年,ARM的產(chǎn)品在終端應(yīng)用特別是手持終端應(yīng)用飛速發(fā)展。

關(guān)鍵字: 國(guó)產(chǎn) ARM 主機(jī)

科技公司們認(rèn)為,收購(gòu)將使英偉達(dá)控制一個(gè)重要的供應(yīng)商,該供應(yīng)商向蘋果、英特爾、三星電子、亞馬遜和華為等公司授權(quán)基本的芯片技術(shù),同時(shí)也向不計(jì)其數(shù)的中小技術(shù)企業(yè)提供授權(quán)??偛课挥谟?guó)的ARM公司將芯片設(shè)計(jì)和相關(guān)軟件代碼授權(quán)給所...

關(guān)鍵字: 英偉達(dá) ARM 半導(dǎo)體公司

在去年九月,英偉達(dá)宣布以400億美金收購(gòu)ARM時(shí),就注定這場(chǎng)收購(gòu)不會(huì)太順利。因?yàn)橐坏〢RM成功被英偉達(dá)收購(gòu),這將使ARM改變?cè)谌虬雽?dǎo)體市場(chǎng)中的中立立場(chǎng),因?yàn)锳RM的很多客戶,都是英偉達(dá)的直接或者間接的對(duì)手。除此之外,還...

關(guān)鍵字: 英偉達(dá) ARM 半導(dǎo)體

據(jù)全球最大石油生產(chǎn)商沙特阿美(Saudi Aramco)稱,全球石油市場(chǎng)依然緊張。對(duì)于一個(gè)仍然嚴(yán)重依賴化石燃料的世界來(lái)說(shuō),這不是一個(gè)好兆頭。沙特阿美CEO Amin Nasser表示,如今閑置產(chǎn)能非常低。如果亞洲重新開(kāi)放...

關(guān)鍵字: NAS RAM SE CE

以下內(nèi)容中,小編將對(duì)工控主板的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對(duì)工控主板的了解,和小編一起來(lái)看看吧。

關(guān)鍵字: ARM 工控主板 主板

充電吧

89209 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉