chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

stm32可以跑Linux操作系統(tǒng)嗎?

jf_BxU6dNQb ? 來源:混說Linux ? 作者:混說Linux ? 2022-12-13 09:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

STM32是一款單片機(jī),它由意法半導(dǎo)體公司制造。ST是意法半導(dǎo)體的簡(jiǎn)稱,M是指微控制器(也就是單片機(jī)的)MCU的第一個(gè)英文字母,32是指32位的CPU,它的CPU是采用的ARM公司的Cortex-M系列的內(nèi)核設(shè)計(jì)。

1. Cortex-M 的定位

ARM處理器的體系結(jié)構(gòu)定義了指令集(ISA)和基于這一體系結(jié)構(gòu)下處理器的模型。ARM的指令集從ARMv1發(fā)展到今天的ARMv9,每一次體系結(jié)構(gòu)的修改都會(huì)添加實(shí)用技術(shù)。

f0bbe55a-7a0e-11ed-8abf-dac502259ad0.png

圖1 Armv7下的Cortex系列

在ARMv6之前,其內(nèi)核指令集架構(gòu)都是單一款式,但在ARMv7開始,其指令集架構(gòu)變成3種款式,即目前大家熟知的Cotex-M、 Cotex-R、 Cotex-A,或者ARMv7-A、ARMv7-R、 ARMv7-M這三款。

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

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

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

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

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

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

f0e2391c-7a0e-11ed-8abf-dac502259ad0.png

圖2 MMU的地位

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

f149da9a-7a0e-11ed-8abf-dac502259ad0.png

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

3. Linux系統(tǒng)

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

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

f16d5ea2-7a0e-11ed-8abf-dac502259ad0.png

圖4 shell 1中的bash地址

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

f19c6120-7a0e-11ed-8abf-dac502259ad0.png

圖5 shell 2中的bash地址

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

f1cef874-7a0e-11ed-8abf-dac502259ad0.png

圖6 進(jìn)程樹

4. 總結(jié)

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

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6076

    文章

    45494

    瀏覽量

    670262
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    135

    文章

    9552

    瀏覽量

    391841
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11758

    瀏覽量

    219008
  • STM32
    +關(guān)注

    關(guān)注

    2309

    文章

    11162

    瀏覽量

    373406

原文標(biāo)題:stm32可以跑Linux操作系統(tǒng)嗎?

文章出處:【微信號(hào):混說Linux,微信公眾號(hào):混說Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    操作系統(tǒng)體系結(jié)構(gòu)

    進(jìn)行通信。   微內(nèi)核結(jié)構(gòu)有效地分離了內(nèi)核與服務(wù)、服務(wù)與服務(wù),使得它們之間的接口更加清晰,維護(hù)的代價(jià)大大降低,各部分可以獨(dú)立地優(yōu)化和演進(jìn),從而保證了操作系統(tǒng)的可靠性。   微內(nèi)核結(jié)構(gòu)的最大
    發(fā)表于 01-15 08:19

    操作系統(tǒng)運(yùn)行機(jī)制

    是最關(guān)鍵的設(shè)備。時(shí)鐘的第一功能是計(jì)時(shí),操作系統(tǒng)需要通過時(shí)鐘管理,向用戶提供標(biāo)準(zhǔn)的系統(tǒng)時(shí)間。另外,通過時(shí)鐘中斷的管理,可以實(shí)現(xiàn)進(jìn)程的切換。諸如,在分時(shí)操作系統(tǒng)中,釆用時(shí)間片輪轉(zhuǎn)調(diào)度的實(shí)現(xiàn)
    發(fā)表于 01-15 07:12

    Linux 已夠強(qiáng),國(guó)產(chǎn)操作系統(tǒng)為何仍要堅(jiān)持?

    在中國(guó)做技術(shù)的人,或多或少都有過這樣的疑問: “Linux 都這么成熟、這么好用了,國(guó)產(chǎn)操作系統(tǒng)還有必要搞嗎?” 這不是少數(shù)人的困惑,而是整個(gè)行業(yè)幾十年來反復(fù)討論的問題。 但如果你深入工業(yè)、能源
    的頭像 發(fā)表于 12-25 16:11 ?366次閱讀

    什么是嵌入式操作系統(tǒng)?

    要理解嵌入式操作系統(tǒng)(Embedded Operating System,簡(jiǎn)稱 RTOS/EOS),我們可以從本質(zhì)定義→核心區(qū)別→實(shí)際作用→典型特征→嵌入式開發(fā)場(chǎng)景適配,五個(gè)維度來拆解, 一
    發(fā)表于 12-09 10:33

    EV10AS180A模數(shù)轉(zhuǎn)換器支持哪些操作系統(tǒng)

    與這些硬件接口進(jìn)行交互,從而實(shí)現(xiàn)對(duì)EV10AS180A的控制和數(shù)據(jù)讀取。系統(tǒng)集成與應(yīng)用場(chǎng)景:在將EV10AS180A集成到具體系統(tǒng)中時(shí),用戶可能會(huì)根據(jù)系統(tǒng)需求選擇合適的操作系統(tǒng)(如
    發(fā)表于 11-18 09:18

    單片機(jī)的操作系統(tǒng)

    Linux網(wǎng)絡(luò)協(xié)議棧和文件系統(tǒng)(如JFFS2),但實(shí)時(shí)性較弱,需外擴(kuò)存儲(chǔ)器。 ? ? VxWorks ?:高效實(shí)時(shí)操作系統(tǒng),廣泛應(yīng)用于通信、軍事等領(lǐng)域,支持自定義硬件模塊。 ? 其他選擇 ? Keil
    發(fā)表于 11-14 06:18

    請(qǐng)問如何在e203中安裝linux操作系統(tǒng)

    本人用的板子是Xilinx的XC7A100TFGG484-2L,編譯軟件是vivado2017.4。目前比特流已經(jīng)成功生成,我已經(jīng)把其固化進(jìn)了板子中。現(xiàn)在的我想在我固化后的板子里面裝一個(gè)linux操作系統(tǒng),應(yīng)該如何做?
    發(fā)表于 11-07 07:32

    Jtti Linux操作系統(tǒng)最常見的10大優(yōu)勢(shì)

    。以下是Linux操作系統(tǒng)最常見的十大優(yōu)勢(shì): 1.?開源自由?? Linux的開源性質(zhì)是其最大的優(yōu)勢(shì)之一。任何人都可以自由地查看、修改和分發(fā)其源代碼。這意味著用戶不僅
    的頭像 發(fā)表于 11-06 15:32 ?298次閱讀

    樹莓派操作系統(tǒng):版本、特性及設(shè)置完整指南!

    樹莓派操作系統(tǒng)是什么?樹莓派操作系統(tǒng)是由樹莓派基金會(huì)專為樹莓派開發(fā)的官方操作系統(tǒng)。它基于DebianLinux發(fā)行版,并針對(duì)樹莓派的ARM架構(gòu)進(jìn)行了專門優(yōu)化。樹莓派操作系統(tǒng)有多個(gè)版本,
    的頭像 發(fā)表于 07-28 18:26 ?1410次閱讀
    樹莓派<b class='flag-5'>操作系統(tǒng)</b>:版本、特性及設(shè)置完整指南!

    聚徽廠家解碼——工控機(jī)操作系統(tǒng)選擇:Windows、Linux、QNX 如何匹配工業(yè)場(chǎng)景

    在工業(yè)自動(dòng)化進(jìn)程不斷推進(jìn)的當(dāng)下,工控機(jī)作為核心設(shè)備,其操作系統(tǒng)的恰當(dāng)選擇對(duì)工業(yè)生產(chǎn)的穩(wěn)定性、高效性和安全性起著決定性作用。常見的 Windows、Linux 和 QNX 操作系統(tǒng),各自具備獨(dú)特
    的頭像 發(fā)表于 05-29 16:28 ?1671次閱讀

    無人職守自動(dòng)安裝部署操作系統(tǒng)指南

    當(dāng)組織有服務(wù)器需要部署linux系統(tǒng)時(shí),需要通過網(wǎng)絡(luò)方式安裝并結(jié)合自動(dòng)應(yīng)答文件,實(shí)現(xiàn)無人職守自動(dòng)安裝部署操作系統(tǒng)。這種方式需要我們至少配置一臺(tái)服務(wù)器,所有需要安裝系統(tǒng)的客戶端通過網(wǎng)絡(luò)的
    的頭像 發(fā)表于 05-22 13:38 ?967次閱讀
    無人職守自動(dòng)安裝部署<b class='flag-5'>操作系統(tǒng)</b>指南

    鴻道Intewell操作系統(tǒng):人形機(jī)器人底層操作系統(tǒng)

    操作系統(tǒng)的實(shí)時(shí)性賦能東土科技的鴻道(Intewell)工業(yè)操作系統(tǒng)作為國(guó)內(nèi)唯一通過汽車、工業(yè)控制、醫(yī)療、軌道交通四項(xiàng)功能安全認(rèn)證的系統(tǒng),為標(biāo)準(zhǔn)體系中的技術(shù)層架構(gòu)提供了底層支持。其微內(nèi)核虛擬化架構(gòu)可將人形機(jī)器人電子架構(gòu)成本降低50
    的頭像 發(fā)表于 05-16 14:44 ?765次閱讀

    Linux主要的性能有哪些?

    都有確定的用途。它支持32位和64位硬件,能運(yùn)行主要的unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。linux繼承了unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)Linux主要特性 1 永久免費(fèi)
    的頭像 發(fā)表于 04-30 18:09 ?654次閱讀
    <b class='flag-5'>Linux</b>主要的性能有哪些?

    如何在計(jì)算機(jī)上安裝麒麟操作系統(tǒng)Kylin V10 SP3

    麒麟操作系統(tǒng) Kylin V10 SP3 是一款基于 Linux操作系統(tǒng),廣泛應(yīng)用于政府、企業(yè)和個(gè)人用戶。本文將詳細(xì)介紹如何在計(jì)算機(jī)上安裝麒麟操作系統(tǒng) Kylin V10 SP3,
    的頭像 發(fā)表于 04-11 15:32 ?3908次閱讀
    如何在計(jì)算機(jī)上安裝麒麟<b class='flag-5'>操作系統(tǒng)</b>Kylin V10 SP3

    Linux的作用

    。 2、嵌入式系統(tǒng)Linux可以被嵌入到各種嵌入式設(shè)備中,如智能路由器、智能電視等。它提供了一個(gè)靈活的平臺(tái),可以根據(jù)設(shè)備的需求進(jìn)行定制和優(yōu)化。 3、個(gè)人電腦
    發(fā)表于 04-04 01:57