在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

stm32可以跑Linux操作系統嗎?

jf_BxU6dNQb ? 來源:混說Linux ? 作者:混說Linux ? 2022-12-13 09:53 ? 次閱讀

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

1. Cortex-M 的定位

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

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

圖1 Armv7下的Cortex系列

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

款式A:高性能的處理器級平臺,性能比肩計算機。

款式R:定位應用于高端嵌入式系統,高可靠及高時效性。

款式M:用于深度嵌入、定制的嵌入式系統。

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

2. 內存管理單元 MMU

內存管理單元簡稱MMU,它負責虛擬地址到物理地址的映射,并提供硬件機制的內存訪問權限檢查。在多用戶、多進程的操作系統中,MMU使得各個用戶進程都有獨立的地址空間。

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

圖2 MMU的地位

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

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

圖3 內存管理機制

3. Linux系統

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

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

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

圖4 shell 1中的bash地址

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

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

圖5 shell 2中的bash地址

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

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

圖6 進程樹

4. 總結

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

審核編輯:湯梓紅

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

    關注

    6040

    文章

    44605

    瀏覽量

    637186
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9143

    瀏覽量

    368374
  • Linux
    +關注

    關注

    87

    文章

    11331

    瀏覽量

    210020
  • STM32
    +關注

    關注

    2270

    文章

    10918

    瀏覽量

    356881

原文標題:stm32可以跑Linux操作系統嗎?

文章出處:【微信號:混說Linux,微信公眾號:混說Linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    deepin操作系統介紹

    希望從自己的能力和對桌面操作系統的理解,能給 Linux 的用戶與開發者更多的選擇。我們也相信 deepin 能夠得到更多用戶的認可與喜愛,成為開源世界的最佳選擇。? 一、 deepin 操作系統 先說
    的頭像 發表于 12-23 09:08 ?468次閱讀
    deepin<b class='flag-5'>操作系統</b>介紹

    linux是實時系統還是分時操作系統

    大家平時玩單片機基本上對于μC/OS、FreeRTOS、ThreadX這些操作系統非常熟悉了,他們都屬于實時操作系統(RTOS),在工業領域比較廣泛;然而對于linux這樣的基于時間片劃分的非實時
    的頭像 發表于 11-11 11:43 ?560次閱讀

    嵌入式 Linux 操作系統配置

    隨著物聯網(IoT)和智能設備的快速發展,嵌入式系統在各個領域扮演著越來越重要的角色。Linux因其開源、靈活和穩定的特性,成為嵌入式系統的首選操作系統。 1. 硬件選擇 在配置嵌入式
    的頭像 發表于 11-06 10:22 ?536次閱讀

    linux操作系統安裝步驟 linux操作系統的特點及組成

    Linux操作系統安裝步驟 Linux操作系統是一種開源的操作系統,它以其穩定性、安全性和靈活性而聞名。以下是安裝
    的頭像 發表于 10-21 11:24 ?628次閱讀

    面向功能安全應用的汽車開源操作系統解決方案

    在SAE 2024國際汽車安全大會上,Elektrobit的Linux專家王紅燕在操作系統與芯片技術的分論壇上為大家帶來了“面向功能安全應用的汽車開源操作系統解決方案”主題演講。
    的頭像 發表于 09-27 09:21 ?511次閱讀
    面向功能安全應用的汽車開源<b class='flag-5'>操作系統</b>解決方案

    Linux操作系統份額創歷史新高,逼近4.5%里程碑

    在最新的全球操作系統市場份額報告中,市調機構StatCounter于8月27日發布了令人矚目的數據:2024年7月,Linux系統實現了歷史性的飛躍,其市場份額首次逼近4.5%的關口,達到了4.44%的新高。這一成就標志著
    的頭像 發表于 08-27 17:05 ?984次閱讀

    Linux操作系統運行參數自動調整技術

    Linux操作系統運行參數的自動調整是一個復雜而關鍵的技術,它可以顯著提高系統性能、穩定性和資源利用率。通過使用自適應算法特別是內核態的機器學習框架、性能監控工具和配置管理工具,能夠在
    的頭像 發表于 08-22 09:53 ?336次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統</b>運行參數自動調整技術

    嵌入式實時操作系統:Intewell操作系統與VxWorks操作系統有啥區別

    Intewell操作系統和VxWorks操作系統都是工業領域常用的操作系統,它們各有特點和優勢。以下是它們之間的一些主要區別:
    的頭像 發表于 07-08 14:16 ?484次閱讀
    嵌入式實時<b class='flag-5'>操作系統</b>:Intewell<b class='flag-5'>操作系統</b>與VxWorks<b class='flag-5'>操作系統</b>有啥區別

    工業實時操作系統對比:鴻道Intewell跟rt-linux有啥區別

    Intewell和RT-Linux是兩種不同的實時操作系統(RTOS),它們具有各自獨特的特點和優勢。以下是Intewell操作系統的一些關鍵特性,以及與RT-Linux的比較:
    的頭像 發表于 07-03 10:00 ?566次閱讀
    工業實時<b class='flag-5'>操作系統</b>對比:鴻道Intewell跟rt-<b class='flag-5'>linux</b>有啥區別

    研華工控機用什么系統?Windows與Linux操作系統的較量

    工控機用什么系統?Windows與Linux操作系統的較量。工控機(工業控制計算機)作為工業自動化和監控系統的核心組件,其穩定性、可靠性和性能對整個
    的頭像 發表于 06-14 14:38 ?747次閱讀
    研華工控機用什么<b class='flag-5'>系統</b>?Windows與<b class='flag-5'>Linux</b><b class='flag-5'>操作系統</b>的較量

    AURIX3G可以使用Linux操作系統嗎?

    即使在 AURIX3G 中,也可以使用 Linux 操作系統嗎?
    發表于 05-22 07:12

    請問STM32上有RTOS實時操作系統的嗎?

    親們最近在鼓搗實時操作系統,有什么好的經驗請不吝賜教,嘿嘿。 我在摸索uT/OS。社區有在STM32幾款芯片上的移植。
    發表于 05-16 07:16

    CH32X035是否適合操作系統

    定時器等豐富外設資源,可輕松構建電機方案;同時廣泛應用于光伏、儲能電源等相關領域。 不知道他是否適合國產的開源操作系統
    發表于 03-18 11:00

    Linux操作系統上的射頻測試模式應用指南

    電子發燒友網站提供《Linux操作系統上的射頻測試模式應用指南.pdf》資料免費下載
    發表于 02-19 09:39 ?0次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統</b>上的射頻測試模式應用指南

    Linux操作系統中如何按下PCIe的復位鍵

    Linux操作系統中,看如何按下PCIe的復位鍵
    的頭像 發表于 01-20 09:31 ?1691次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統</b>中如何按下PCIe的復位鍵
    主站蜘蛛池模板: 午夜国产精品免费观看 | 九九美剧| 黄色成人一级片 | 99久久免费精品国产免费高清 | 欧美日韩色综合网站 | 国产全黄三级三级 | 女人被男人免费播放网站 | 在线天堂网 | 欧美xx高清 | 毛片a区| 国产精品久久久久久影院 | 日本69xxxxxxx69 | 天天做天天爱天天射 | 一级在线观看 | 天天夜干 | 久久国产美女 | 亚洲四虎 | 丁香伊人五月综合激激激 | 日日干夜夜骑 | 黄色免费片 | 视频一区二区在线 | 五月婷婷六月爱 | 国产成人毛片毛片久久网 | 色男人社区 | 亚洲日本免费 | 欧美色图一区 | 午夜爱爱毛片xxxx视频免费看 | 成人精品福利 | 狠狠色视频 | 国产理论 | 国产高清免费视频 | 在线天堂中文在线网 | 四虎影视大全免费入口 | 女人双腿搬开让男人桶 | 巨臀中文字幕一区二区翘臀 | 手机午夜视频 | 色欧美在线视频 | 种子天堂bt磁力在线资源 | 色多多在线播放 | 色一乱一伦一区一直爽 | 天天摸天天 |