linux和裸機的區別,操作系統與裸機的區別

我們在學習stm32到一定階段可能會了解操作系統,然后便有這種問題產生,下面我就來粗略說說“操作系統與裸機的區別,以及stm32能運行什么操作系統,能運行linux系統嗎”等問題。

操作系統與裸機的區別

裸機運行的程序代碼,一般由一個main函數中的while死循環和各種中斷服務程序組成,平時CPU執行while循環中的代碼,出現其他事件時,跳轉到中斷服務程序進行處理,沒有多任務、線程的概念。

而引入操作系統后,程序執行時可以把一個應用程序分割為多個任務,每個任務完成一部分工作,并且每個任務都可以寫成死循環。操作系統根據任務的優先級,通過調度器是CPU分時執行各個任務,保證每個任務都能夠得到運行。若調度方法優良,則可使個任務看起來是并行執行的,減少了CPU的空閑時間,提高了CPU的利用率。由操作系統的任務管理衍生出相應的CPU管理、內存管理,它們分別負責分配任務對CPU的占有權和管理任務所占有的內存空間。在linux操作系統中,還具有文件管理、I/O設備管理的功能。

stm32能運行什么操作系統,能運行linux系統嗎?

首先操作系統有兩種:一種是用MMU(Memory

Managenent Unit ,即存儲管理單元)的,另一種是不用MMU的。

用MMU的是Windows、 MacOS、 Linux 、Android;

不用MMU的是FreeRTOS 、VxWorks 、 ucLinux、uc/OS.

其次CPU也有有兩種 :帶MMU的和不帶MMU的。

帶MMU的有 Cortex-A、ARM9 、ARM11系列。不帶MMU的有 Cortex-M系列

而我們知道STM32是 Cortex-M3系列的…所以目前還不可能運行Linux操作系統,但是stm32可以運行uc/OS、ucLinux、FreeRTOS 、VxWorks等操作系統。其中uc/OS操作系統是開源代碼,且小巧而嚴謹,具有很高的實時性,可以作為學習linux等高級操作系統的基礎,實際項目中也經常使用uc/OS開發。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287164.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287164.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287164.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ArcGIS 10.7拆分多部件要素(Multipart Features)至單部件要素的兩種方法

GIS中經常會出現多部件要素的現象,為了便于檢查拓撲等關系,需要將其拆分為單個的部件。例如,在用同一個圖層的多個圖斑去裁剪(Clip)時,或者將多個不相鄰的圖斑進行合并(merge)時,可能會產生多部件要素,本文演示ArcGIS10.7版本中常見的兩種拆分多部件要素至單部件要素…

spring-session + redis 實現集群 session 共享

2019獨角獸企業重金招聘Python工程師標準>>> 目前市面上實現session共享的方案有很多,其中比較常用的是使用Tomcat、Jetty等web服務器提供的session共享功能,以此將session內容統一存放在數據庫(如mysql)或者緩存&…

第三方的使用

1. MMDrawerController 抽屜效果 2.SVProgressHUD 透明指示層 3.SDCycleScrollView 無限輪播器 4.SDWebImage 異步圖片加載 5.RESideMenu 抽屜效果 6.AFNetworking 網絡請求 7.MJRefresh tableView上下拉刷新 8.MJExtension json轉模型 9.Masonry 布局適配框架 10.UMengSocia…

《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(10)無底洞的循環

本系列文章將會以通俗易懂的對話方式進行教學,對話中將涵蓋了新手在學習中的一般問題。此系列將會持續更新,包括別的語言以及實戰都將使用對話的方式進行教學,基礎編程語言教學適用于零基礎小白,之后實戰課程也將會逐步更新。 若…

業務流水號規則生成組件

對于很多業務系統都需要生成業務流水號,如果訂單號、購采單號等等;而這些業務流水號并不是簡單的一個增長數值,它們很多時候都有一些不同的規則來定義,如不同類型的字母或地區拼音簡寫等。為了更靈活生成這些有規則的業務流水號Be…

Android之奔潰提示com.google.gson.internal.LinkedTreeMap cannot be cast to java.util.HashMap

1 問題 Android端獲取服務端的數據然后我直接把數據轉hashMap提示錯誤如下&#xff0c; com.google.gson.internal.LinkedTreeMap cannot be cast to java.util.HashMap 2 解決辦法 直接轉Map集合即可 (t.data as Map<String, String>).forEach({if (KEEP_NAME.equals…

ArcGIS中國工具(ArcGISCTools)3.2 安裝教程(附安裝包下載)

ArcGIS中國工具,簡稱CTools,集成在ArcGIS 10.x系列版本中。本文在ArcGIS10.7的基礎之上,演示3.2版本安裝過程,并提供下載地址共大家學習和交流。 一、安裝過程

函數式編程工具:filter和reduce

# -*- coding: utf-8 -*- #python 27 #xiaodeng #函數式編程工具&#xff1a;filter和reduce#python內置函數中&#xff0c;map函數是用來進行函數式編程這類工具最簡單的內置函數代數#函數式編程含義&#xff1a; #一種編程范式&#xff0c;也就是如何編寫程序的方法論&#x…

阿里云ECS,搭建MySQL5.7數據庫環境

為什么80%的碼農都做不了架構師&#xff1f;>>> 配置mysql yum源 [rootiZbp1j6oiamq7t2otpryarZ ~]# cd /data/ [rootiZbp1j6oiamq7t2otpryarZ data]# ll total 0###################################下載mysql源安裝包# [rootiZbp1j6oiamq7t2otpryarZ data]# wge…

Python——通過斐波那契數列來理解生成器

一、生成器&#xff08;generator&#xff09; 先來看看一個簡單的菲波那切數列&#xff0c;出第一個和第二個外&#xff0c;任意一個數都是由前兩個數相加得到的。如&#xff1a;0,1,1,2,3,5,8,13...... 輸入斐波那契數列前N個數&#xff1a; def fab(max): n, a, b 0, 0, 1 …

《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(9)集萬家之長不死 python

本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋了新手在學習中的一般問題。此系列將會持續更新&#xff0c;包括別的語言以及實戰都將使用對話的方式進行教學&#xff0c;基礎編程語言教學適用于零基礎小白&#xff0c;之后實戰課程也將會逐步更新。 若…

公司c語言面試題目,c語言面試最必考的十道試題,求職必看!!!

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓6、free()函數問&#xff1a;下面的程序會在用戶輸入’freeze’的時候出問題&#xff0c;而’zebra’則不會&#xff0c;為什么?#include int main(int argc, char *argv[]) {char *ptr (char*)malloc(10);if(NULL ptr){printf(…

Android之解決TabLayout里面每個Tab項的間距和修改指示線的長度(非反射)和修改選中字體大小

1 問題 1)由于TabLayout設置了可滑動Tab參數 app:tabMode="scrollable" 導致每個Tab之間的間距很大,但是UI設計圖里面的字體之間的間距很小,我們改怎么解決? 2)修改TabLayout指示線的長度(非反射) 3)修改選中的字體大小并且加粗 2 解決辦法 問題1解決辦法…

【重磅】ArcGIS 10.8手把手經典圖文安裝教程(附安裝包全套裝下載,親測可用)

ArcMap時代的最后一版軟件,未來官方對ArcMap的支持將僅限于提供補丁,更新和新環境支持,換句話說ArcMap10.8.X將會是最終版本,以后不會再有ArcMap10.9了,官方建議所有人在完成工作流程后立即遷移到ArcGIS Pro。 時間真快,ArcGIS 10.7剛裝完沒幾天,作為GISer的我,有的開始…

聊聊 C# 中的 Visitor 模式

前言 Visitor模式在日常工作中出場比較少&#xff0c;如果統計大家不熟悉的模式&#xff0c;那么它榜上有名的可能性非常大。使用頻率少&#xff0c;再加上很多文章提到Visitor模式都著重于它克服語言單分派的特點上面&#xff0c;而對何時應該使用這個模式及這個模式是怎么一…

AcWing 889. 滿足條件的01序列(卡特蘭數應用)

滿足條件的01序列 假設長度為n個序列要求滿足題意1的前綴0的個數不能超過1的個數 將問題抽象為從(0, 0)到(n, n) 向上走一個代表這一步對應序列中的值是1&#xff0c;向右走代表序列中的值是0 要想滿足1的前綴0的數量大于1的數量就需要滿足所有路過的途徑在y x這個函數個下面…

添加ASP.NET網站資源文件夾

ASP.NET應用程序包含7個默認文件夾&#xff0c;分別為Bin、APP_Code、App_GlobalResources、App_LocalResources、App_WebReferences、App_Browsers和“主題”文件夾。每個文件夾都存放ASP.NET應用程序的不同類型的資源。 方法 說明Bin  包含程序所需的所有已編譯程序集&#…

《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(8)我們開始做一個數字小游戲吧

本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋了新手在學習中的一般問題。此系列將會持續更新&#xff0c;包括別的語言以及實戰都將使用對話的方式進行教學&#xff0c;基礎編程語言教學適用于零基礎小白&#xff0c;之后實戰課程也將會逐步更新。 若…

Microsoft SQL Server 2019開發版安裝配置教程

一、安裝cn_sql_server_2019_developer_x64 雙擊setup.exe進行安轉。 點擊【安裝】。 點擊【全新SQL Server獨立按住啊或向現有安裝添加功能】。 點擊【下一步】。

Git提示Please move or remove them before you switch branches.

1 問題 git checkout V1 提示錯誤如下 error: The following untracked working tree files would be overwritten by checkout:flutter_module/pubspec.lock Please move or remove them before you switch branches. Aborting2 解決辦法 git clean -df ../flutter_module…