国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ARM-Linux開發(fā)與MCU開發(fā)的不同之處分析

這篇具有很好參考價(jià)值的文章主要介紹了ARM-Linux開發(fā)與MCU開發(fā)的不同之處分析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

ARM-Linux開發(fā)與MCU開發(fā)的不同之處分析

目錄

一、ARM-Linux應(yīng)用開發(fā)和單片機(jī)開發(fā)的不同

二、Arm-Linux基本開發(fā)環(huán)境


針對(duì)ARM-Linux程序的開發(fā),主要分為三類:應(yīng)用程序開發(fā)、驅(qū)動(dòng)程序開發(fā)、系統(tǒng)內(nèi)核開發(fā)。針對(duì)不同種類的軟件開發(fā),有其不同的特點(diǎn)。


今天,我們來看看ARM-Linux開發(fā)和MCU開發(fā)的不同點(diǎn),以及ARM-Linux的基本開發(fā)環(huán)境。

一、ARM-Linux應(yīng)用開發(fā)和單片機(jī)開發(fā)的不同

這里先要做一個(gè)說明,對(duì)于ARM的應(yīng)用開發(fā)主要有兩種方式:一種是直接在ARM芯片上進(jìn)行應(yīng)用開發(fā),不采用操作系統(tǒng),也稱為裸機(jī)編程,這種開發(fā)方式主要應(yīng)用于一些低端的ARM芯片上,其開發(fā)過程非常類似單片機(jī),這里不多敘述。


還有一種是在ARM芯片上運(yùn)行操作系統(tǒng),對(duì)于硬件的操作需要編寫相應(yīng)的驅(qū)動(dòng)程序,應(yīng)用開發(fā)則是基于操作系統(tǒng)的,這種方式的嵌入式應(yīng)用開發(fā)與單片機(jī)開發(fā)差異較大。

ARM-Linux應(yīng)用開發(fā)和單片機(jī)的開發(fā)主要有以下幾點(diǎn)不同:


1、應(yīng)用開發(fā)環(huán)境的硬件設(shè)備不同

單片機(jī):開發(fā)板,仿真器(調(diào)試器),USB線。


ARM-Linux:開發(fā)板,網(wǎng)線,串口線,SD卡。


對(duì)于ARM-Linux開發(fā),通常是沒有硬件的調(diào)試器的,尤其是在應(yīng)用開發(fā)的過程中,很少使用硬件的調(diào)試器,程序的調(diào)試主要是通過串口進(jìn)行調(diào)試的。但需要說明的是,對(duì)于ARM芯片也是有硬件仿真器的,但通常用于裸機(jī)開發(fā)。


2、程序下載方式不同

單片機(jī):仿真器(調(diào)試器)下載,或者是串口下載。


ARM-Linux:串口下載、tftp網(wǎng)絡(luò)下載、或者直接讀寫SD、MMC卡等存儲(chǔ)設(shè)備,實(shí)現(xiàn)程序下載。


這個(gè)與開發(fā)環(huán)境的硬件設(shè)備是有直接關(guān)系的,由于沒有硬件仿真器,故ARM-Linux開發(fā)時(shí)通常不采用仿真器下載。這樣看似不方便,其實(shí)給ARM-Linux的應(yīng)用開發(fā)提供了更多的下載方式。


3、芯片的硬件資源不同

單片機(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卡等存儲(chǔ)系統(tǒng)映像,并通過外部電路實(shí)現(xiàn)各種外設(shè)功能。由于ARM芯片的處理能力很強(qiáng),通過外部電路可以實(shí)現(xiàn)各種復(fù)雜的功能,其功能遠(yuǎn)遠(yuǎn)強(qiáng)于單片機(jī)。


4、固件的存儲(chǔ)位置不同

單片機(jī):通常具備片內(nèi)flash存儲(chǔ)器,固件程序通常存儲(chǔ)在該區(qū)域,若固件較大則需要通過外部電路設(shè)計(jì)外部flash用于存儲(chǔ)固件。


ARM-Linux:由于其沒有片內(nèi)的flash,并且需要運(yùn)行操作系統(tǒng),整個(gè)系統(tǒng)映像通常較大,故ARM-Linux開發(fā)的操作系統(tǒng)映像和應(yīng)用通常存儲(chǔ)在外部的MMC、SD卡上,或者采用SATA設(shè)備等。


5、啟動(dòng)方式不同

單片機(jī):其結(jié)構(gòu)簡(jiǎn)單,內(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)的啟動(dòng)。

STM32啟動(dòng)詳細(xì)流程分析


ARM-Linux:由于采用ARM芯片,執(zhí)行效率高,功能強(qiáng)大,外設(shè)相對(duì)豐富,是功能強(qiáng)大的計(jì)算機(jī)系統(tǒng),并且需要運(yùn)行操作系統(tǒng),所以其啟動(dòng)方式和單片機(jī)有較大的差別,但是和家用計(jì)算機(jī)的啟動(dòng)方式基本相同。其啟動(dòng)一般包括BIOS,bootloader,內(nèi)核啟動(dòng),應(yīng)用啟動(dòng)等階段。

?

嵌入式Linux啟動(dòng)詳細(xì)流程分析

(1)啟動(dòng)BIOS:BIOS是設(shè)備廠家(芯片或者是電路板廠家)設(shè)置的相應(yīng)啟動(dòng)信息,在設(shè)備上電后,其將讀取相應(yīng)硬件設(shè)備信息,進(jìn)行硬件設(shè)備的初始化工作,然后跳轉(zhuǎn)到bootloader所在位置(該位置是一個(gè)固定的位置,由BIOS設(shè)置)。

根據(jù)個(gè)人理解,BIOS的啟動(dòng)和單片機(jī)啟動(dòng)類似,需要采用相應(yīng)的硬件調(diào)試器進(jìn)行固件的寫入,存儲(chǔ)在一定的flash空間,設(shè)備上電啟動(dòng)后讀取flash空間的指令,從而啟動(dòng)BIOS程序。

(2)啟動(dòng)bootloader:該部分已經(jīng)屬于嵌入式Linux軟件開發(fā)的部分,可以通過代碼修改定制相應(yīng)的bootloader程序,bootloader的下載通常是采用直接讀寫SD卡等方式。即編寫定制相應(yīng)的bootloader,編譯生成bootloader映象文件后,利用工具(專用或通用)下載到SD卡的MBR區(qū)域(通常是存儲(chǔ)區(qū)的第一個(gè)扇區(qū))。

此時(shí)需要在BIOS中設(shè)置,或者通過電路板的硬件電路設(shè)置,選擇bootloader的加載位置;若BIOS中設(shè)置從SD卡啟動(dòng),則BIOS初始化結(jié)束后,將跳轉(zhuǎn)到SD卡的位置去執(zhí)行bootloader,從而實(shí)現(xiàn)bootloader的啟動(dòng)。


Bootloader主要作用是初始化必要的硬件設(shè)備,創(chuàng)建內(nèi)核需要的一些信息并將這些信息通過相關(guān)機(jī)制傳遞給內(nèi)核,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),最終調(diào)用操作系統(tǒng)內(nèi)核,真正起到引導(dǎo)和加載內(nèi)核的作用。


(3)啟動(dòng)內(nèi)核:bootloader啟動(dòng)完成初始化等相關(guān)工作之后,將調(diào)用內(nèi)核啟動(dòng)程序。這就進(jìn)入了實(shí)際的操作系統(tǒng)相關(guān)內(nèi)容的啟動(dòng)了,包括相應(yīng)的硬件配置,任務(wù)管理,資源管理等內(nèi)核程序的啟動(dòng)。


(4)啟動(dòng)應(yīng)用:在操作系統(tǒng)內(nèi)核啟動(dòng)之后,就可以開始啟動(dòng)需要的應(yīng)用,去完成真正的業(yè)務(wù)操作了。

二、Arm-Linux基本開發(fā)環(huán)境

前面介紹了ARM-Linux應(yīng)用開發(fā)和單片機(jī)開發(fā)的不同之處,相信你已經(jīng)對(duì)ARM-Linux應(yīng)用開發(fā)有了一個(gè)基本的認(rèn)識(shí)了,下面將介紹一下ARM-Linux的基本開發(fā)環(huán)境。其主要包括硬件環(huán)境和軟件環(huán)境兩個(gè)部分,這里以iMX53和Ubuntu為例進(jìn)行說明。

1、硬件環(huán)境

開發(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卡(及讀卡器)或者其他存儲(chǔ)設(shè)備:用于存儲(chǔ)bootloader、內(nèi)核映像等,以及最終的軟件系統(tǒng)的存儲(chǔ);開發(fā)過程中,通常用于保存bootloader,引導(dǎo)系統(tǒng)啟動(dòng)。


2、軟件環(huán)境

Ubuntu:作為操作系統(tǒng),是整個(gè)軟件開發(fā)環(huán)境的載體,相應(yīng)的開發(fā)工具都布置在此系統(tǒng)中。


LTIB:這是freescale的提供的一個(gè)編譯工具鏈,能夠很方便的將源代碼文件編譯為適合的程序代碼,并對(duì)程序進(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)的啟動(dòng);方便系統(tǒng)的開發(fā)與調(diào)試。


minicom:串口調(diào)試工具,用于在開發(fā)主機(jī)上與arm-board通信,實(shí)現(xiàn)對(duì)arm-board上應(yīng)用程序的操作與調(diào)試。


Eclipse:集成開發(fā)環(huán)境,主要方便代碼的編輯、編譯等,也可采用DS5,RealView等;或者采用gedit進(jìn)行編輯,通過LTIB進(jìn)行編譯和管理。?文章來源地址http://www.zghlxwxcb.cn/news/detail-495850.html

到了這里,關(guān)于ARM-Linux開發(fā)與MCU開發(fā)的不同之處分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • arm-linux實(shí)現(xiàn)onvif server+WS-UsernameToken令牌驗(yàn)證

    arm-linux實(shí)現(xiàn)onvif server+WS-UsernameToken令牌驗(yàn)證

    目錄 一、環(huán)境搭建 1、安裝openssl 2、安裝bison 3、安裝flex 二、gsoap下載 三、編譯x86版本gsoap 四、編譯arm-linux版本gsoap 1、交叉編譯openssl 1.1、下載openssl 1.2、交叉編譯 2、交叉編譯zlib 2.1、下載zlib 2.2、交叉編譯 3、交叉編譯gsoap 3.1、編譯過程中遇到的問題 五、ONVIF框架生成 5.1、

    2024年04月14日
    瀏覽(20)
  • Linux(Kali\Ubuntu\CentOS\arm-Linux)安裝Powershell

    下載鏈接:https://github.com/PowerShell/PowerShell/ 下載鏈接:https://github.com/PowerShell/PowerShell/releases 在 Ubuntu 上安裝 PowerShell - PowerShell | Microsoft Docs PowerShell下載/PowerShell: PowerShell for every system! (github.com)

    2024年02月04日
    瀏覽(48)
  • 傳統(tǒng)交換機(jī)當(dāng)今交換機(jī)不同之處分析

    目前市場(chǎng)上的某些交換機(jī)號(hào)稱具有QoS保證,實(shí)際上只支持單級(jí)別的優(yōu)先級(jí)設(shè)置,在邏輯上不形成環(huán)路,而一旦出現(xiàn)故障,啟用備份鏈路,在這里拿出來和大家分享一下,希望對(duì)大家有用。 我們經(jīng)常說到的以太網(wǎng)傳統(tǒng)交換機(jī)實(shí)際是一個(gè)基于網(wǎng)橋技術(shù)的多端口第二層網(wǎng)絡(luò)設(shè)備,它

    2024年02月05日
    瀏覽(15)
  • Web2與Web3開發(fā)的不同之處

    Web2與Web3開發(fā)的不同之處

    Web2是引入交互功能的第二代互聯(lián)網(wǎng),也是我們今天所熟悉的。隨著Web的不斷發(fā)展,第三代互聯(lián)網(wǎng),也被稱為Web3,正處于積極開發(fā)中。Web3引入了在區(qū)塊鏈上運(yùn)行的去中心化和無需許可的系統(tǒng)。但是Web2和Web3開發(fā)之間有什么區(qū)別呢?這對(duì)于從Web2轉(zhuǎn)變到Web3的開發(fā)者是個(gè)契機(jī),不僅

    2024年02月05日
    瀏覽(31)
  • Docker 和 Kubernetes ,技術(shù)相同之處,和不同之處

    目錄 Docker 技術(shù)相同之處: 不同之處: Kubernetes 技術(shù)相同之處: 不同之處: 技術(shù)相同之處: 容器化: Docker 和 Kubernetes 都是容器技術(shù)的代表。Docker 利用容器技術(shù)將應(yīng)用程序及其所有依賴項(xiàng)打包到一個(gè)獨(dú)立的、可移植的容器中。 跨平臺(tái)性: Docker 容器可以在任何支持 Docker 的

    2024年02月05日
    瀏覽(20)
  • HUAWEI 擎云L420 折騰記 (搭建arm gcc、openocd 雅特力 MCU開發(fā)環(huán)境)

    心血來潮,能不能在純國產(chǎn)的筆記本、系統(tǒng)上進(jìn)行開發(fā), 劃拉了一下市面上能買到的設(shè)備,也就華為擎云L410 、L420 還能買得起,用的上,因此小黃魚2xxx 買了一部99新的擎云L420 開始嘗試是否能搭建起來工作環(huán)境。 wq退出保存 之后 java -verison java 環(huán)境ok 安裝十分順利,默認(rèn)版

    2024年02月17日
    瀏覽(25)
  • 類和函數(shù)的不同之處

    60. 類和函數(shù)的不同之處 1. 創(chuàng)建方式不同 函數(shù) 可以通過函數(shù)表達(dá)式或函數(shù)聲明來創(chuàng)建: 類 則是通過 class 來創(chuàng)建: 2. 對(duì)象創(chuàng)建方式不同 通過 函數(shù) 創(chuàng)建的對(duì)象可以使用函數(shù)調(diào)用運(yùn)算符 () 來創(chuàng)建: 而通過 類 創(chuàng)建的對(duì)象必須使用 new 運(yùn)算符來創(chuàng)建: 3. 繼承方式不同 在

    2024年02月07日
    瀏覽(18)
  • linux常用命令介紹 06 篇——Linux查看目錄層級(jí)結(jié)構(gòu)以及創(chuàng)建不同情況的層級(jí)目錄

    linux常用命令介紹 06 篇——Linux查看目錄層級(jí)結(jié)構(gòu)以及創(chuàng)建不同情況的層級(jí)目錄

    Linux命令01篇——Linux解壓縮文件常用命令. Linux命令02篇——linux日常常用命令介紹. linux常用命令介紹 03 篇——常用的文本處理工具之grep和cut(以及部分正則使用). linux常用命令介紹 04 篇——uniq命令使用介紹(Linux重復(fù)數(shù)據(jù)的統(tǒng)計(jì)處理). linux常用命令介紹 05 篇——實(shí)際應(yīng)用

    2024年02月12日
    瀏覽(25)
  • 光纖和光纜有何不同之處?

    光纖和光纜有何不同之處?

    很多 人 會(huì)有這樣的疑問,光纖和光纜有何不同之處?主要是因?yàn)楣饫w和光纜這兩個(gè)名詞容易引起混淆。在嚴(yán)格的定義下,光纖和光纜是兩種不同的東西,然而在現(xiàn)實(shí)生活中,許多人仍然會(huì)混淆這兩者。為了更好地理解光纖和光纜之間的區(qū)別,我們一起來看一下。 1、光纖是一

    2024年02月01日
    瀏覽(14)
  • SRE 與 DevOps 的不同之處

    盡管網(wǎng)站可靠性工程 (SRE) 理念早在 2003 年就由 Google 的 Ben Treynor Sloss 提出,但其近年來卻一直受到追捧。隨著 DevOps 實(shí)踐已經(jīng)在許多組織中牢固確立,兩者之間的沖突是否已經(jīng)顯現(xiàn)?SRE 只不過是一種過時(shí)的趨勢(shì)嗎?是 SRE 補(bǔ)充了 DevOps,或者是 DevOps 補(bǔ)充了 SRE?讓我們來回顧一

    2024年02月04日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包