国产区在线视频就爱_亚洲精品 日韩无码_在线a亚洲v天堂网2018_完整版在线观看_免费的成年私人影院网站_国产理论片免费观看_日本一区精品一本大道_亚洲性天堂无码资源热_中文字幕免费无遮挡无删减_久久五月天亚洲色图

EsDA工控單板
EPC6450-AWI/EPC1107-LI/EPC3568系列工控板
MPC-ZC1迷你工控主板
Cortex?-A5,拖拽式開(kāi)發(fā),40pin擴(kuò)展引腳
2.5寸工控單板
EPC-6Y2C-L網(wǎng)絡(luò)控制器
Cortex?-A7,800MHz,8路串口,數(shù)字音頻
IoT-6Y2C-L物聯(lián)網(wǎng)關(guān)控制器
Cortex?-A7,800MHz,8路串口,支持藍(lán)牙
EPC-6G2C-L網(wǎng)絡(luò)控制器
Cortex?-A7,528MHz,8路串口,數(shù)字音頻
IoT-6G2C-L物聯(lián)網(wǎng)關(guān)控制器
Cortex?-A7,528MHz,8路串口,支持藍(lán)牙
3.5寸工控單板
IoT7000A-LI物聯(lián)網(wǎng)網(wǎng)關(guān)控制器
Cortex?-A7,雙MiniPCIe接口支持無(wú)線(xiàn)模塊擴(kuò)展
IoT-9608I-L網(wǎng)絡(luò)控制器
Cortex?-A8,800MHz,6種無(wú)線(xiàn)通訊方式
EPC-9600I-L工控主板
Cortex?-A8,800Mhz
IoT9000A-LI工控主板
Cortex?-A9,強(qiáng)勁編解碼,專(zhuān)注多媒體
IoT9100A-LI工業(yè)IoT網(wǎng)絡(luò)控制器Cortex?-A9,1GHz
SX-3568系列主板Cortex?-A55,雙核心GPU
MD-3568LI工控板Cortex?-A55,雙網(wǎng)口

為何Cortex?-M處理器運(yùn)行不了linux

1 . Cortex?-M的定位

處理器的體系結(jié)構(gòu)定義了指令集(ISA)和基于這一體系結(jié)構(gòu)下處理器的程序員模型,通俗來(lái)講就是相同的Arm?體系結(jié)構(gòu)下的應(yīng)用軟件是兼容的。從Arm?v1到Arm?v8,每一次體系結(jié)構(gòu)的修改都會(huì)添加實(shí)用技術(shù)。

在Arm?v7版本中,內(nèi)核架構(gòu)首次從單一款式變成3種款式。Cortex?-M系列屬于Arm?v7結(jié)構(gòu)下的一個(gè)款式:款式M。款式M包含的處理器有Cortex?-M0、Cortex?-M1、Cortex?-M3、Cortex?-M4以及Cortex?-M7,以上處理器常被用于低成本、低功耗、高可靠的嵌入式實(shí)時(shí)系統(tǒng)中。它們既可以用于“裸片”開(kāi)發(fā)又能運(yùn)行實(shí)時(shí)操作系統(tǒng),比如us/os-ll、VxWorks以及Aworks(致遠(yuǎn)電子開(kāi)發(fā))等。
圖1 Arm?v7下的Cortex?系列

款式A:高性能的處理器級(jí)平臺(tái),性能比肩計(jì)算機(jī)。

款式R:定位應(yīng)用于高端嵌入式系統(tǒng),高可靠及高時(shí)效性。

款式M:用于深度嵌入、定制的嵌入式系統(tǒng)。

值得注意的是,Cortex?-M下的處理器沒(méi)有內(nèi)存管理單元MMU。

2 . 內(nèi)存管理單元MMU

內(nèi)存管理單元簡(jiǎn)稱(chēng)MMU,它負(fù)責(zé)虛擬地址到物理地址的映射,并提供硬件機(jī)制的內(nèi)存訪(fǎng)問(wèn)權(quán)限檢查。在多用戶(hù)、多進(jìn)程的操作系統(tǒng)中,MMU使得各個(gè)用戶(hù)進(jìn)程都有獨(dú)立的地址空間。

圖2 MMU的地位

任何微控制器都存在一個(gè)程序能夠產(chǎn)生的地址集和,被稱(chēng)為虛擬地址范圍。以32為機(jī)為例,虛擬地址范圍為0~0xFFFFFFFF (4G)。當(dāng)該控制器尋址一個(gè)256M的內(nèi)存時(shí),它的可用地址范圍被限定為0x00000000~0x0FFFFFFF(256M)。在沒(méi)有MMU的控制器中,虛擬地址被直接發(fā)送到內(nèi)存總線(xiàn)上,以讀寫(xiě)該地址下的物理存儲(chǔ)器。在擁有MMU的控制器中,虛擬地址首先被發(fā)送到MMU中,被映射為物理地址后再發(fā)送到內(nèi)存總線(xiàn)上。

圖3 內(nèi)存管理機(jī)制

3 . linux系統(tǒng)

一般將操作系統(tǒng)分為實(shí)時(shí)操作系統(tǒng)和非實(shí)時(shí)操作系統(tǒng)。實(shí)時(shí)操作系統(tǒng)大多為單進(jìn)程、多線(xiàn)程(多任務(wù)),因此不涉及到線(xiàn)程間的地址空間分配,不需要使用MMU,例如VxWorks。Linux系統(tǒng)屬于非實(shí)時(shí)性操作體統(tǒng),多進(jìn)程是其主要特點(diǎn)。

以Ubuntu為例,打開(kāi)一個(gè)shell并且查看bash進(jìn)程的地址范圍如圖4,它的地址范圍為0x0000000000400000~0xffffffffff600000。

圖4 shell 1中的bash地址

我們打開(kāi)另一個(gè)shell,查看該shell中bash進(jìn)程的地址范圍,如圖5。不難發(fā)現(xiàn),兩個(gè)不同bash進(jìn)程的地址范圍完全相同。其實(shí)操作系統(tǒng)或者用戶(hù)在fork()進(jìn)程時(shí)完全不需要考慮物理內(nèi)存的地址分配,該工作由微控制器的內(nèi)存管理單元MMU來(lái)做。

圖5 shell 2中的bash地址

既然是多進(jìn)程依賴(lài)了內(nèi)存管理單元,那么在使用嵌入式linux時(shí)只開(kāi)一個(gè)進(jìn)程可以嗎?肯定是不可行的!開(kāi)機(jī)后即使用戶(hù)什么都不做,可見(jiàn)的系統(tǒng)運(yùn)行必須的進(jìn)程已經(jīng)運(yùn)行了幾十至上百個(gè),如圖6。

圖6 進(jìn)程樹(shù)

4 . 總結(jié)

綜合以上內(nèi)容,linux系統(tǒng)對(duì)內(nèi)存管理單元有極強(qiáng)的依賴(lài),若在沒(méi)有MMU的處理器中運(yùn)行l(wèi)inux,恐怕整個(gè)系統(tǒng)只能停留在Uboot階段了。由于Cortex?-m處理器沒(méi)有內(nèi)存管理單元,因此跑不了linux系統(tǒng)。任何事情都不是絕對(duì)的,如果你重寫(xiě)了linux內(nèi)核且搭配足夠大的內(nèi)存芯片,從理論上來(lái)說(shuō)是可以省掉MMU的。但是,這樣的工作量,真的值得嗎?實(shí)際上,MMU就是為了解決操作系統(tǒng)越來(lái)越復(fù)雜的內(nèi)存管理而產(chǎn)生的。

5 . 拓展部分

很大一部分開(kāi)發(fā)者選用嵌入式linux系統(tǒng)未能發(fā)揮出它的優(yōu)勢(shì),僅僅是為了獲得開(kāi)發(fā)上的便利,比如以太網(wǎng)、4G上云、LCD驅(qū)動(dòng)、文件系統(tǒng)、圖像識(shí)別、python應(yīng)用等等。那么有沒(méi)有方法既能使用傳統(tǒng)高實(shí)時(shí)性、低成本的單片機(jī)又不用面對(duì)繁瑣的硬件驅(qū)動(dòng)開(kāi)發(fā)呢?廣州致遠(yuǎn)電子有限公司(yzwd0011.cn)推出的全新AWorks平臺(tái)——IoT物聯(lián)網(wǎng)生態(tài)系統(tǒng)正是為此而生。

AWorks的誕生極大的降低了開(kāi)發(fā)者門(mén)檻,為開(kāi)發(fā)者提供便利,使開(kāi)發(fā)者可以忽略底層技術(shù)細(xì)節(jié),專(zhuān)注產(chǎn)品“核心域”,更快的開(kāi)發(fā)出具有競(jìng)爭(zhēng)力的產(chǎn)品。同時(shí),AWorks為開(kāi)發(fā)者提供的是高度抽象的通用接口,基于AWorks平臺(tái)的軟件與底層硬件無(wú)關(guān),可以“隨心所欲”的跨平臺(tái)復(fù)用(如更換MCU等等)??缃缬布钶dAWoeks IoT實(shí)時(shí)操作系統(tǒng),讓您的開(kāi)發(fā)更容易,功能更強(qiáng)大。