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

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

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

3天內不再提示

用于單片機的uCLinux和Linux有什么區(qū)別?

strongerHuang ? 來源:strongerHuang ? 2023-05-17 10:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

uCLinux:micro-Control linux,即“針對微控制器領域中的Linux系統(tǒng)”。

uCLinux主要是針對目標處理器沒有存儲管理單元MMU(Memory Management Unit)的嵌入式系統(tǒng)而設計的。它已經(jīng)被成功地移植到了很多平臺上。由于沒有MMU,其多任務的實現(xiàn)需要一定技巧。 ---來自百度百度

分享正文之前,給大家推薦一些嵌入式相關的招聘信息。

uClinux是針對控制領域的嵌入式linux操作系統(tǒng),它從Linux 2.0/2.4內核派生而來,沿襲了主流Linux的絕大部分特性。適合不具備內存管理單元(MMU)的微處理器/微控制器,沒有MMU支持是 uClinux與主流Linux的基本差異。

有無MMU區(qū)別

如果處理器沒有MMU,或者有MMU但沒有啟用,CPU執(zhí)行單元發(fā)出的內存地址將直接傳到芯片引腳上,被內存芯片接收,這稱為物理地址(Physical Address),如下圖:

ce83bb08-f45b-11ed-90ce-dac502259ad0.png

未使用MMU 如果處理器啟用了MMU,CPU執(zhí)行單元發(fā)出的內存地址將被MMU截獲,從CPU到MMU的地址稱為虛擬地址(Virtual Address),而MMU將這個地址翻譯成另一個地址發(fā)到CPU芯片的外部地址引腳上,也就是將虛擬地址映射成物理地址,如下圖:

ce890676-f45b-11ed-90ce-dac502259ad0.png

使用了MMU 對uCLinux 來說,其設計針對沒有MMU的處理器,不能使用處理器的虛擬內存管理技術。uCLinux仍然采用存儲器的分頁管理,系統(tǒng)在啟動時把實際存儲器進行分頁。在加載應用程序時程序分頁加載。但是由于沒有MMU管理,所以實際上uCLinux采用實存儲器管理策略。 uCLinux系統(tǒng)對于內存的訪問是直接的,所有程序中訪問的地址都是實際的物理地址。操作系統(tǒng)對內存空間沒有保護,各個進程實際上共享一個運行空間。一個進程在執(zhí)行前,系統(tǒng)必須為進程分配足夠的連續(xù)地址空間,然后全部載入主存儲器的連續(xù)空間中。

uCLinux與Linux幾點區(qū)別

uCLinux與Linux相比,MMU是最基礎的區(qū)別,其實還有很多區(qū)別。 1.沒有內存保護沒有內存保護的操作會導致這樣的結果: 即使由無特權的進程來調用一個無效指針,也會觸發(fā)一個地址錯誤,并潛在地引起程序崩潰,甚至導致系統(tǒng)的掛起。顯然,在這樣的系統(tǒng)上運行的代碼必須仔細編程,并深入測試來確保健壯性和安全。 對于普通的Linux來說,需要運行不同的用戶程序,如果沒有內存保護將大大降低系統(tǒng)的安全性和可靠性;然而對于嵌入式uClinux系統(tǒng)而言,由于所運行的程序往往是在出廠前已經(jīng)固化的,不存在危害系統(tǒng)安全的程序侵入的隱患,因此只要應用程序經(jīng)過較完整的測試,出現(xiàn)問題的概率就可以控制在有限的范圍內。 2.沒有自動生長的堆棧uCLinux沒有自動生長的堆棧,也沒有brk()函數(shù),這樣,用戶空間的程序必須使用mmap() 命令來分配內存。為了方便,在uclinux的C語言庫中所實現(xiàn)的malloc()實質上就是一個mmap()。在編譯時,可以指定程序的堆棧大小。 3.通用架構的內核不同在uCLinux的發(fā)布中,/linux/mmnommu目錄取代了/linux/mm目錄.前者是修改后的內存管理子系統(tǒng) 被修改,去除了MMU的硬件依賴,并在內核軟件自身提供基本的內存管理函數(shù)。 更多區(qū)別,大家可以進一步研究。 四、uCLinux和STM32uCLinux主要用于MCU和MPU,對于市面上常見的STM32也是做了很好的支持。

ce9089d2-f45b-11ed-90ce-dac502259ad0.jpg

關于uCLinux如何應用在STM32上,這里不詳細講述,感興趣的可以自行網(wǎng)上了解,有很多相關資料。

ce96f344-f45b-11ed-90ce-dac502259ad0.jpg

審核編輯 :李倩

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

    關注

    48

    文章

    8305

    瀏覽量

    163563
  • 單片機
    +關注

    關注

    6074

    文章

    45457

    瀏覽量

    667096
  • Linux
    +關注

    關注

    88

    文章

    11681

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    用于單片機uCLinuxLinux什么區(qū)別?

    uCLinux: micro-Control linux,即“針對微控制器領域中的Linux系統(tǒng)”。
    發(fā)表于 05-17 10:45 ?1238次閱讀
    <b class='flag-5'>用于</b><b class='flag-5'>單片機</b>的<b class='flag-5'>uCLinux</b>和<b class='flag-5'>Linux</b><b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>?

    ARM和單片機什么區(qū)別

    ARM和單片機什么區(qū)別
    發(fā)表于 03-12 06:58

    單片機學習與基于ARM+Linux裸機學習什么區(qū)別?

    單片機學習與基于ARM+Linux裸機學習什么區(qū)別
    發(fā)表于 01-19 07:44

    FPGA和單片機什么區(qū)別

    FPGA和單片機什么區(qū)別?好像性能參數(shù)上也差不了太多。
    發(fā)表于 11-02 07:34

    FPGA和單片機什么區(qū)別呢?

    到底FPGA和單片機什么區(qū)別呢?根據(jù)我的經(jīng)驗,可以用下面進行概述。
    發(fā)表于 02-11 08:00 ?4.3w次閱讀

    單片機通信uart和modbus什么區(qū)別

    單片機通信uart和modbus什么區(qū)別,modbus是一個應用層的協(xié)議,他是構建在串口,網(wǎng)線等底層傳輸基礎上的。uart只是串口協(xié)議而已。
    的頭像 發(fā)表于 04-11 17:02 ?2.2w次閱讀

    瑞薩單片機和51單片機什么區(qū)別?

    瑞薩單片機和51單片機什么區(qū)別? 瑞薩單片機8位32位
    發(fā)表于 10-10 08:00 ?45次下載

    DSP與單片機到底什么區(qū)別

    什么區(qū)別看到某論壇一篇關于DSP和單片機區(qū)別的帖子,經(jīng)過仔細整理,現(xiàn)在再次介紹DSP與單片機區(qū)別,同時讓自己重溫一下 DSP與
    發(fā)表于 09-24 17:18 ?6次下載
    DSP與<b class='flag-5'>單片機</b>到底<b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>

    單片機中C51的關系與&&和位&的什么區(qū)別

    本文檔的主要內容詳細介紹的是單片機中C51的關系與&&和位&的什么區(qū)別。
    發(fā)表于 07-09 17:40 ?1次下載
    <b class='flag-5'>單片機</b>中C51的關系與&&和位&的<b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>

    51單片機中變量的存儲類型什么區(qū)別

    本文檔的主要內容詳細介紹的是51單片機中變量的存儲類型什么區(qū)別
    發(fā)表于 07-03 17:41 ?0次下載
    51<b class='flag-5'>單片機</b>中變量的存儲類型<b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>

    單片機中斷與CPU的輪詢什么區(qū)別

    單片機編程過程中,經(jīng)常會使用到中斷。那么,什么是單片機中斷,它與CPU的輪詢什么區(qū)別?在本文中,單片機開發(fā)工程師將對
    發(fā)表于 06-29 11:30 ?4050次閱讀

    單片機和plc什么區(qū)別

    單片機和plc之間什么區(qū)別?首先單片機是芯片,不能獨立使用。而PLC是由單片機組成的通用控制器,可以直接使用。
    發(fā)表于 07-20 09:47 ?1w次閱讀

    單片機和PLC什么區(qū)別?

    單片機和PLC什么區(qū)別
    發(fā)表于 11-13 19:21 ?11次下載
    <b class='flag-5'>單片機</b>和PLC<b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>?

    單片機和PLC什么區(qū)別

    單片機和PLC什么區(qū)別?
    發(fā)表于 11-23 16:21 ?79次下載
    <b class='flag-5'>單片機</b>和PLC<b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>?

    Linux基礎入門:單片機Linux什么不同嗎

    我發(fā)現(xiàn)很多初學者只有單片機基礎,甚至沒有單片機基礎。在學習Linux時,對很多概念比較陌生,導致不知道學什么,也不知道學了之后有什么用。所以小編在此分享此文。第1章 單片機
    發(fā)表于 12-07 17:36 ?4次下載
    <b class='flag-5'>Linux</b>基礎入門:<b class='flag-5'>單片機</b>和<b class='flag-5'>Linux</b><b class='flag-5'>有</b>什么不同嗎