在线观看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的復位鍵
    主站蜘蛛池模板: 亚洲444kkk| 国产免费一级高清淫曰本片| 精品亚洲欧美无人区乱码| 日韩在线三级视频| 黄色毛片基地| 国产精品香蕉在线一区| 男女交性无遮挡免费视频| 综合爱| 性欧美长视频| 欧美淫| 国产在线色视频| 亚洲精品久久久久久久蜜桃| 日日夜夜天天干干| 2017天天干| 国外免费精品视频在线观看| 俺要操| 亚洲欧洲一二三区| 亚洲黄色性视频| 日本人爽p大片免费看| 久久久噜噜噜久久久| 欧美精品啪啪| 色婷婷在线视频| 亚洲youjizz| 日本在线视频www色| 久久观看视频| 午夜看毛片| 天天色视频| 天天干天天爱天天操| 苦瓜se影院在线视频网站| 免费播放视频| 正在播放久久| 情久久| a级毛片免费网站| 77se77亚洲欧美在线大屁股| 色综合色综合色综合色综合网| 欧美三级黄| 一区二区三区四区精品| 亚洲爽爽网站| 女人色视频| 夜色成人| 好大好硬好深好爽的视频|