新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
ARM-Linux開發(fā)與MCU開發(fā)有何不同
這篇文章將為大家詳細(xì)講解有關(guān)ARM-Linux開發(fā)與MCU開發(fā)有何不同,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì),集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文發(fā)稿等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
ARM-Linux: 開發(fā)板,網(wǎng)線,串口線,SD卡;
對于ARM-Linux開發(fā),通常是沒有硬件的調(diào)試器的,尤其是在應(yīng)用開發(fā)的過程中,很少使用硬件的調(diào)試器,程序的調(diào)試主要是通過串口進(jìn)行調(diào)試的; 但是需要說明的是,對于ARM芯片也是有硬件仿真器的,但通常用于裸機(jī)開發(fā)。
ARM-Linux:串口下載、tftp網(wǎng)絡(luò)下載、或者直接讀寫SD、MMC卡等存儲設(shè)備,實(shí)現(xiàn)程序下載;
這個(gè)與開發(fā)環(huán)境的硬件設(shè)備是有直接關(guān)系的,由于沒有硬件仿真器,故ARM-Linux開發(fā)時(shí)通常不采用仿真器下載; 這樣看似不方便,其實(shí)給ARM-Linux的應(yīng)用開發(fā)提供了更多的下載方式。
單片機(jī): 通常是一個(gè)完整的計(jì)算機(jī)系統(tǒng),包含片內(nèi)RAM,片內(nèi)FLASH,以及UART、I2C、AD、DA等各種外設(shè);
ARM: 通常只有CPU,需要外部電路提供RAM以供ARM正常運(yùn)行,外部電路提供FLASH、SD卡等存儲系統(tǒng)映像,并通過外部電路實(shí)現(xiàn)各種外設(shè)功能。 由于ARM芯片的處理能力很強(qiáng),通過外部電路可以實(shí)現(xiàn)各種復(fù)雜的功能,其功能遠(yuǎn)遠(yuǎn)強(qiáng)于單片機(jī)。
單片機(jī): 通常具備片內(nèi)flash存儲器,固件程序通常存儲在該區(qū)域,若固件較大則需要通過外部電路設(shè)計(jì)外部flash用于存儲固件。
ARM-Linux:由于其沒有片內(nèi)的flash, 并且需要運(yùn)行操作系統(tǒng),整個(gè)系統(tǒng)映像通常較大,故ARM-Linux開發(fā)的操作系統(tǒng)映像和應(yīng)用通常存儲在外部的MMC、SD卡上,或者采用SATA設(shè)備等。
單片機(jī): 其結(jié)構(gòu)簡單,內(nèi)部集成flash, 通常是芯片廠商在程序上電時(shí)加入固定的跳轉(zhuǎn)指令,直接跳轉(zhuǎn)到程序入口(通常在flash上); 開發(fā)的應(yīng)用程序通過編譯器編譯,采用專用下載工具直接下載到相應(yīng)的地址空間; 所以系統(tǒng)上電后直接運(yùn)行到相應(yīng)的程序入口,實(shí)現(xiàn)系統(tǒng)的啟動。
(a)啟動BIOS: BIOS是設(shè)備廠家(芯片或者是電路板廠家)設(shè)置的相應(yīng)啟動信息,在設(shè)備上電后,其將讀取相應(yīng)硬件設(shè)備信息,進(jìn)行硬件設(shè)備的初始化工作,然后跳轉(zhuǎn)到bootloader所在位置(該位置是一個(gè)固定的位置,由BIOS設(shè)置)。 (根據(jù)個(gè)人理解,BIOS的啟動和單片機(jī)啟動類似,需要采用相應(yīng)的硬件調(diào)試器進(jìn)行固件的寫入,存儲在一定的flash 空間,設(shè)備上電啟動后讀取flash空間的指令,從而啟動BIOS程序。 )
開發(fā)板: ARM運(yùn)行的硬件環(huán)境,或者是相應(yīng)項(xiàng)目的ARM電路板;
計(jì)算機(jī): 作為開發(fā)主機(jī)使用,安裝Linux(如Ubuntu)),或者采用虛擬機(jī)安裝Ubuntu;
串口線: 用于開發(fā)過程中采用終端進(jìn)行串口調(diào)試或下載程序;
網(wǎng)線: 用于連接arm-board和開發(fā)主機(jī),實(shí)現(xiàn)tftp下載內(nèi)核(程序等),通過網(wǎng)絡(luò)nfs運(yùn)行程序等。
SD卡(及讀卡器)或者其他存儲設(shè)備: 用于存儲bootloader、內(nèi)核映像等,以及最終的軟件系統(tǒng)的存儲; 開發(fā)過程中,通常用于保存bootloader,引導(dǎo)系統(tǒng)啟動。
Ubuntu: 作為操作系統(tǒng),是整個(gè)軟件開發(fā)環(huán)境的載體,相應(yīng)的開發(fā)工具都布置在此系統(tǒng)中。
LTIB: 這是freescale的提供的一個(gè)編譯工具鏈,能夠很方便的將源代碼文件編譯為適合的程序代碼,并對程序進(jìn)行調(diào)試; 用戶也可以通過下載源碼構(gòu)建自己的編譯工具鏈。
tftp: 用于從開發(fā)主機(jī)Ubuntu上向arm-board 下載內(nèi)核文件、應(yīng)用文件等。
nfs網(wǎng)絡(luò)文件系統(tǒng): 用于在開發(fā)主機(jī)上建立網(wǎng)絡(luò)nfs文件根系統(tǒng),arm-board通過nfs網(wǎng)絡(luò)文件系統(tǒng)讀取開發(fā)主機(jī)上的虛擬根文件系統(tǒng),完成系統(tǒng)的啟動; 方便系統(tǒng)的開發(fā)與調(diào)試。
minicom: 串口調(diào)試工具,用于在開發(fā)主機(jī)上與arm-board通信,實(shí)現(xiàn)對arm-board上應(yīng)用程序的操作與調(diào)試;
Eclipse: 集成開發(fā)環(huán)境,主要方便代碼的編輯、編譯等,也可采用DS5,RealView等; 或者采用gedit進(jìn)行編輯,通過LTIB進(jìn)行編譯和管理。
關(guān)于ARM-Linux開發(fā)與MCU開發(fā)有何不同就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
本文題目:ARM-Linux開發(fā)與MCU開發(fā)有何不同
標(biāo)題路徑:http://www.ef60e0e.cn/article/jigssc.html