日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

嵌入式系統(tǒng)開發(fā):Arm與Linux的完美結(jié)合

出處:chunyang 發(fā)布于:2008-08-30 10:16:28

  嵌入式系統(tǒng)的定義應(yīng)當(dāng)是以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計算機系統(tǒng)。

  比如現(xiàn)在ATM取款機就是一個典型RTOS,embedded os主要包括兩部分,一部分是處理器,比如Arm,POWERPC,MIPC,一部分是OS,比如Linux,wince,vxworks,us/os,etc.我現(xiàn)在主要學(xué)習(xí)的路線是arm+linux,選擇arm主要是因為arm技術(shù)已經(jīng)比較成熟,選擇linux是因為linux是開源的,的,另外如果學(xué)好了linux就算將來不搞嵌入式系統(tǒng)開發(fā)這塊,也可以專供linux服務(wù)器這一方面。

  學(xué)習(xí)嵌入式linux,主要做的就是四點,一點就是寫bootloader,并移植到到nand?。妫欤幔螅枭希诙c,編譯kernel,并通過bootloader到nand?。妫欤幔螅枭希谌c,在基于nand?。妫欤幔螅枭辖⑽募到y(tǒng),第四點,把寫好的應(yīng)用程序到target上?;玖鞒叹褪沁@么下來的,具體到開發(fā)板上時可能就有所差別了,下邊就以深圳優(yōu)龍公司的fs2410為目標(biāo)板具體的上述一下開發(fā)的流程,以及在開發(fā)中應(yīng)注意的問題。

  步:交叉編譯環(huán)境的建立

 ?。粒骸』冢欤椋睿酰僮飨到y(tǒng)的應(yīng)用開發(fā)環(huán)境一般是由目標(biāo)系統(tǒng)硬件(開發(fā)板)和宿主pc機所構(gòu)成。目標(biāo)硬件開發(fā)板用于運行操作系統(tǒng)和系統(tǒng)應(yīng)用軟件。而目標(biāo)板所用到的操作系統(tǒng)的內(nèi)核編譯、應(yīng)用程序的開發(fā)和調(diào)試則需要通過宿主pc機來完成(所以稱為交叉編譯)。雙方之間一般通過串口,并口或以太網(wǎng)接口建立連接關(guān)系。安裝linux os,比如redhao?。欤椋睿酰。梗?,可以采用默認(rèn)安裝(但要包含ftp服務(wù)),將該linux服務(wù)器接入局域網(wǎng),其他的pc機可以用windows,需要的軟件工具包括。

  (1)ftp客戶端程序

 ?。ǎ玻簦澹欤睿澹艄ぞ?/FONT>

 ?。ǎ常┮浦驳侥骋惶囟ǎ幔颍砥脚_的linux操作系統(tǒng)內(nèi)核源碼

 ?。ǎ矗纾睿蹙幾g工具,可由相關(guān)網(wǎng)站

  在某工作站pc上安裝ftp客戶端程序和telnet工具,linux?。铮蟆。耄澹颍睿澹斓木幾g一般有一個比較固定的步驟,會根據(jù)Makefiel文件的不同而略有差異,可參考相關(guān)文檔,按固定的步驟編譯內(nèi)核完成以后,會在相應(yīng)目錄生成可執(zhí)行的二進制文件,通過ftp傳到pc機上,熱后通過串口或網(wǎng)絡(luò)到開發(fā)板上。

  B:(1) 創(chuàng)建編譯環(huán)境,在這個過程中,將設(shè)置一些環(huán)境變量,創(chuàng)建安裝目錄,安裝內(nèi)核源代碼和頭文件等。

 ?。ǎ玻?chuàng)建binutils.在這個過程結(jié)束后,會創(chuàng)建類似arm-linux-ld等工具。

 ?。ǎ常?chuàng)建一個交叉編譯版本的gcc,注意:在這個過程中,只能編譯c程序,而不能編譯c++程序。

 ?。ǎ矗?chuàng)建一個交叉編譯版本的glibc,這里容易出問題。

 ?。ǎ担?chuàng)建一個交叉編譯版本的gdb。這個過程結(jié)束后,會創(chuàng)建arm-linux_gdb

 ?。ǎ叮≈匦聞?chuàng)建gcc。前面創(chuàng)建gcc的過程沒有編譯c++編譯器,現(xiàn)在glibc已經(jīng)準(zhǔn)備好了,所以這個步驟將完善gcc的交叉編譯。

 ?。ǎ罚≈匦聞?chuàng)建glibc.

  如果在交叉編譯過程中出現(xiàn)錯誤,那么請檢查:

  版本選擇是否正確,以及是否安裝了相應(yīng)的補丁;

  庫文件路徑設(shè)置是否正確;

  系統(tǒng)環(huán)境變量是否設(shè)置正確。

  第二步:編寫bootloader并移植到開發(fā)板上

 ?。粒海猓铮铮簦欤铮幔洌澹颍ㄒ龑?dǎo)加載程序)是系統(tǒng)加電后運行的段代碼。嵌入式系統(tǒng)中的bootloader相當(dāng)于pc機中的bios。大多數(shù)bootloader都包含兩種不同的操作模式,一種是啟動加載(bootloading)模式,在這種模式下,bootloader從目標(biāo)機上的某個固態(tài)存儲器設(shè)備上將操作系統(tǒng)加載到RAM中運行,整個過程并沒有用戶的介入。這種模式是bootloader的正常工作模式,另一種是(downloading)模式。在這種模式下,目標(biāo)機上的bootloader?qū)⑼ㄟ^串口或網(wǎng)絡(luò)等通信手段從開發(fā)主機(host)上內(nèi)核映像和根文件系統(tǒng)映像等到RAM中。然后可以再被bootloader?qū)懙侥繕?biāo)機上的固態(tài)存儲介質(zhì)上。

 ?。拢海猓铮铮簦欤铮幔洌澹騿哟蠖鄶?shù)都分為兩個階段

  (1):基本的硬件初始化(屏蔽所有的中斷,關(guān)閉處理器內(nèi)部指令/數(shù)據(jù)cache等)。

  為第二階段準(zhǔn)備RAM空間,如果是從某個固態(tài)存儲媒質(zhì)中,則復(fù)制bootlodaer的第二階段代碼到RAM。

  設(shè)置堆棧。

  跳轉(zhuǎn)到第二階段的C程序入口點。

 ?。ǎ玻撼跏蓟倦A段要使用的硬件設(shè)備。

  檢查系統(tǒng)內(nèi)存映射。

  將內(nèi)核映像和根文件系統(tǒng)映像從flash讀到RAM。

  為內(nèi)核設(shè)置啟動參數(shù)調(diào)用內(nèi)核。

  歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.hbjingang.com



  
關(guān)鍵詞:嵌入式系統(tǒng)開發(fā):Arm與Linux的完美結(jié)合

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!