18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ARM-Linux開發(fā)和 MCU開發(fā)的不同點 ARM-Linux的基本開發(fā)環(huán)境

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-08-07 16:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

針對ARM-Linux程序的開發(fā),主要分為三類:應用程序開發(fā)、驅動程序開發(fā)、系統(tǒng)內核開發(fā),針對不同種類的軟件開發(fā),有其不同的特點。

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

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

還有一種是在 ARM 芯片上運行操作系統(tǒng),對于硬件的操作需要編寫相應的驅動程序,應用開發(fā)則是基于操作系統(tǒng)的,這種方式的嵌入式應用開發(fā)與單片機開發(fā)差異較大。ARM-Linux 應用開發(fā)和單片機的開發(fā)主要有以下幾點不同:

(1)應用開發(fā)環(huán)境的硬件設備不同
單片機:開發(fā)板,仿真器(調試器),USB 線;

ARM-Linux:開發(fā)板,網線,串口線,SD 卡;

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

(2)程序下載方式不同

單片機:仿真器(調試器)下載,或者是串口下載;

ARM-Linux:串口下載、tftp 網絡下載、或者直接讀寫 SD、MMC 卡等存儲設備,實現程序下載;

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

(3)芯片的硬件資源不同
單片機:通常是一個完整的計算機系統(tǒng),包含片內 RAM,片內 FLASH,以及 UART、I2CAD、DA 等各種外設;

ARM:通常只有 CPU,需要外部電路提供 RAM 以供 ARM 正常運行,外部電路提供 FLASH、SD 卡等存儲系統(tǒng)映像,并通過外部電路實現各種外設功能。由于 ARM 芯片的處理能力很強,通過外部電路可以實現各種復雜的功能,其功能遠遠強于單片機。

(4)固件的存儲位置不同
單片機:通常具備片內 flash 存儲器,固件程序通常存儲在該區(qū)域,若固件較大則需要通過外部電路設計外部 flash 用于存儲固件。

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

(5)啟動方式不同
單片機:其結構簡單,內部集成 flash, 通常是芯片廠商在程序上電時加入固定的跳轉指令,直接跳轉到程序入口(通常在 flash 上);開發(fā)的應用程序通過編譯器編譯,采用專用下載工具直接下載到相應的地址空間;所以系統(tǒng)上電后直接運行到相應的程序入口,實現系統(tǒng)的啟動。

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

(a)啟動 BIOS: BIOS 是設備廠家(芯片或者是電路板廠家)設置的相應啟動信息,在設備上電后,其將讀取相應硬件設備信息,進行硬件設備的初始化工作,然后跳轉到 bootloader 所在位置(該位置是一個固定的位置,由 BIOS 設置)。(根據個人理解,BIOS 的啟動和單片機啟動類似,需要采用相應的硬件調試器進行固件的寫入,存儲在一定的 flash 空間,設備上電啟動后讀取 flash 空間的指令,從而啟動 BIOS 程序。)

(b)啟動 bootloader: 該部分已經屬于嵌入式 Linux 軟件開發(fā)的部分,可以通過代碼修改定制相應的 bootloader 程序,bootloader 的下載通常是采用直接讀寫 SD 卡等方式。即編寫定制相應的 bootloader,編譯生成 bootloader 映象文件后,利用工具(專用或通用)下載到 SD 卡的 MBR 區(qū)域(通常是存儲區(qū)的第一個扇區(qū))。此時需要在 BIOS 中設置,或者通過電路板的硬件電路設置,選擇 bootloader 的加載位置;若 BIOS 中設置從 SD 卡啟動,則 BIOS 初始化結束后,將跳轉到 SD 卡的位置去執(zhí)行 bootloader,從而實現 bootloader 的啟動。
Bootloader 主要作用是初始化必要的硬件設備,創(chuàng)建內核需要的一些信息并將這些信息通過相關機制傳遞給內核,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),最終調用操作系統(tǒng)內核,真正起到引導和加載內核的作用。

(c)啟動內核 :bootloader 啟動完成初始化等相關工作之后,將調用內核啟動程序。這就進入了實際的操作系統(tǒng)相關內容的啟動了,包括相應的硬件配置,任務管理,資源管理等內核程序的啟動。

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

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

(1)硬件環(huán)境
開發(fā)板:ARM 運行的硬件環(huán)境,或者是相應項目的 ARM 電路板;

計算機:作為開發(fā)主機使用,安裝 Linux(如 Ubuntu)),或者采用虛擬機安裝 Ubuntu;

串口線:用于開發(fā)過程中采用終端進行串口調試或下載程序;

網線:用于連接 arm-board 和開發(fā)主機,實現 tftp 下載內核(程序等),通過網絡 nfs 運行程序等。

SD 卡(及讀卡器)或者其他存儲設備:用于存儲 bootloader、內核映像等,以及最終的軟件系統(tǒng)的存儲;開發(fā)過程中,通常用于保存 bootloader,引導系統(tǒng)啟動。

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

LTIB: 這是 freescale 的提供的一個編譯工具鏈,能夠很方便的將源代碼文件編譯為適合的程序代碼,并對程序進行調試;用戶也可以通過下載源碼構建自己的編譯工具鏈。

tftp: 用于從開發(fā)主機 Ubuntu 上向 arm-board 下載內核文件、應用文件等。

nfs 網絡文件系統(tǒng):用于在開發(fā)主機上建立網絡 nfs 文件根系統(tǒng),arm-board 通過 nfs 網絡文件系統(tǒng)讀取開發(fā)主機上的虛擬根文件系統(tǒng),完成系統(tǒng)的啟動;方便系統(tǒng)的開發(fā)與調試。

minicom:串口調試工具,用于在開發(fā)主機上與 arm-board 通信,實現對 arm-board 上應用程序的操作與調試;

Eclipse:集成開發(fā)環(huán)境,主要方便代碼的編輯、編譯等,也可采用 DS5,RealView 等;或者采用 gedit 進行編輯,通過 LTIB 進行編譯和管理。
責任編輯:彭菁

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

    關注

    147

    文章

    18430

    瀏覽量

    380816
  • Linux
    +關注

    關注

    88

    文章

    11582

    瀏覽量

    217189
  • 操作系統(tǒng)

    關注

    37

    文章

    7268

    瀏覽量

    128175
  • ARM芯片
    +關注

    關注

    1

    文章

    128

    瀏覽量

    22461
  • 開發(fā)環(huán)境

    關注

    1

    文章

    245

    瀏覽量

    17471
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ARM-Linux開發(fā)MCU開發(fā)有何不同?上篇

    ARM-Linux開發(fā)MCU開發(fā)不同點,以及ARM-Linux的基本
    發(fā)表于 04-02 15:12

    ARM-LinuxMCU開發(fā)的不同之處

    針對 ARM-Linux 程序的開發(fā),主要分為三類:應用程序開發(fā)、驅動程序開發(fā)、系統(tǒng)內核開發(fā),針對不同種類的軟件
    發(fā)表于 08-08 10:47

    ARM-Linux開發(fā)MCU開發(fā)的優(yōu)勢

    ARM-Linux應用開發(fā)和單片機開發(fā)的不同ARM-Linux 基本開發(fā)環(huán)境
    發(fā)表于 12-29 07:51

    看看ARM-Linux開發(fā)MCU開發(fā)不同點

    針對ARM-Linux程序的開發(fā),主要分為三類:應用程序開發(fā)、驅動程序開發(fā)、系統(tǒng)內核開發(fā),針對不同種類的軟件
    發(fā)表于 07-16 07:40

    ARM-Linux開發(fā)MCU開發(fā)不同點在哪

    ARM-Linux程序的開發(fā)主要分為哪幾類?ARM-Linux應用開發(fā)和單片機開發(fā)有何不同?ARM-L
    發(fā)表于 08-02 08:32

    ARM-Linux開發(fā)MCU開發(fā)不同點有哪些

    ARM-Linux程序的開發(fā)主要分為幾類?ARM-Linux開發(fā)MCU開發(fā)
    發(fā)表于 10-22 07:07

    ARM-Linux開發(fā)MCU開發(fā)有何不同

    ARM-Linux開發(fā)MCU開發(fā)不同點,以及ARM-Linux的基本
    發(fā)表于 11-03 06:17

    ARM-Linux應用開發(fā)和單片機開發(fā)不同點是什么?

    ARM-Linux應用開發(fā)和單片機開發(fā)不同點是什么?
    發(fā)表于 11-05 07:12

    ARM-Linux程序的開發(fā)主要分為哪幾類

    針對ARM-Linux程序的開發(fā),主要分為三類:應用程序開發(fā)、驅動程序開發(fā)、系統(tǒng)內核開發(fā),針對不同種類的軟件
    發(fā)表于 12-09 07:50

    ARM-Linux開發(fā)MCU開發(fā)有何不同?上篇

    ARM-Linux開發(fā)MCU開發(fā)不同點,以及ARM-Linux的基本
    發(fā)表于 10-28 19:36 ?6次下載
    <b class='flag-5'>ARM-Linux</b><b class='flag-5'>開發(fā)</b>與<b class='flag-5'>MCU</b><b class='flag-5'>開發(fā)</b>有何不同?上篇

    linux c 讀寫mbr_ARM-Linux開發(fā)MCU開發(fā)的各自優(yōu)勢

    針對ARM-Linux程序的開發(fā),主要分為三類:應用程序開發(fā)、驅動程序開發(fā)、系統(tǒng)內核開發(fā),針對不同種類的軟件
    發(fā)表于 11-26 16:06 ?1次下載
    <b class='flag-5'>linux</b> c 讀寫mbr_<b class='flag-5'>ARM-Linux</b><b class='flag-5'>開發(fā)</b>與<b class='flag-5'>MCU</b><b class='flag-5'>開發(fā)</b>的各自優(yōu)勢

    ARM-Linux開發(fā)MCU開發(fā)的各自優(yōu)勢?

    針對ARM-Linux程序的開發(fā),主要分為三類:應用程序開發(fā)、驅動程序開發(fā)、系統(tǒng)內核開發(fā),針對不同種類的軟件
    發(fā)表于 02-10 09:36 ?0次下載
    <b class='flag-5'>ARM-Linux</b><b class='flag-5'>開發(fā)</b>與<b class='flag-5'>MCU</b><b class='flag-5'>開發(fā)</b>的各自優(yōu)勢?

    ARM-Linux開發(fā)MCU開發(fā)不同點

    針對ARM-Linux程序的開發(fā),主要分為三類:應用程序開發(fā)、驅動程序開發(fā)、系統(tǒng)內核開發(fā)。針對不同種類的軟件
    的頭像 發(fā)表于 05-30 09:01 ?1095次閱讀

    ARM-Linux開發(fā)MCU開發(fā)不同點

    針對ARM-Linux程序的開發(fā),主要分為三類:應用程序開發(fā)、驅動程序開發(fā)、系統(tǒng)內核開發(fā)。針對不同種類的軟件
    的頭像 發(fā)表于 06-22 11:46 ?1288次閱讀

    看看ARM-Linux開發(fā)MCU開發(fā)不同點

    針對ARM-Linux程序的開發(fā),主要分為三類:應用程序開發(fā)、驅動程序開發(fā)、系統(tǒng)內核開發(fā)。針對不同種類的軟件
    發(fā)表于 07-25 09:25 ?1531次閱讀