隊(duì)列(queue)是一種只能在一端插入元素、在另一端刪除元素的數(shù)據(jù)結(jié)構(gòu),遵循先入先出(FIFO)的規(guī)則。
在很多操作系統(tǒng)中,都存在這樣一類API(函數(shù)接口):HOOK函數(shù),也叫鉤子函數(shù)。
RTOS:Real Time Operating System,即實(shí)時(shí)操作系統(tǒng)。 RTOS是嵌入式的必修課之一,隨著國(guó)產(chǎn)化的發(fā)展,免費(fèi)的RTOS發(fā)展越來(lái)越快,嵌入式工程師可選擇的面也越來(lái)越寬。
本文來(lái)聊一下關(guān)于單片機(jī)與嵌入式、操作系統(tǒng)與RTOS之間的那些事兒。通過這篇文章,讓你操作系統(tǒng)的實(shí)時(shí)性有一個(gè)系統(tǒng)、全面的理解!
RTOS(實(shí)時(shí)操作系統(tǒng))是嵌入式的必修課之一,隨著國(guó)產(chǎn)化的發(fā)展,免費(fèi)的RTOS發(fā)展越來(lái)越快,嵌入式工程師可選擇的面也越來(lái)越寬。
在RTOS多任務(wù)編程的時(shí)候,同一個(gè)硬件(比如UART、I2C等)被多個(gè)任務(wù)訪問的情況比較多,如果不合理處理,就會(huì)導(dǎo)致“混亂”的局面。
先說(shuō)明一下MPU,MPU有很多含義,我們常見的有: MPU:Memory Protection Unit,內(nèi)存保護(hù)單元(本文描述的內(nèi)容); MPU:Microprocessor Unit,微處理器;
之前在小熊派上移植過一個(gè)裸機(jī)版本的STemWin,耍了不少例程。
在嵌入式開發(fā)中,面對(duì)的都是單個(gè)CPU的情況,而在這個(gè)開發(fā)過程中,我們會(huì)涉及到裸機(jī)開發(fā)或者是跑操作系統(tǒng)的開發(fā),在裸機(jī)開發(fā)的過程中,整個(gè)系統(tǒng)是以模塊的角度來(lái)看的,也就是系統(tǒng)在運(yùn)行完了這個(gè)模塊之后,再去運(yùn)行另外一個(gè)模塊。但在有操作系統(tǒng)的情況下,我們是把系統(tǒng)處理的一件一件事情以任務(wù)的角度來(lái)進(jìn)行劃分的,這任務(wù)與任務(wù)之間是并發(fā)執(zhí)行的。每個(gè)任務(wù)的運(yùn)行看起來(lái)是獨(dú)立的,從宏觀的角度看是多個(gè)任務(wù)同時(shí)在占據(jù)著CPU的執(zhí)行,就像是多CPU一樣,在真正的多CPU系統(tǒng)中,每個(gè)CPU都有一套自己的寄存器,而為了實(shí)現(xiàn)這樣一種多 CPU 運(yùn)行的機(jī)制,那么操作系統(tǒng)就為每個(gè)任務(wù)用一塊專用的存儲(chǔ)空間構(gòu)建了一個(gè)“虛擬 CPU”,用來(lái)保存 CPU 內(nèi)存各個(gè)寄存器的信息,這塊專用的存儲(chǔ)器空間就是“任務(wù)堆?!保卸嗌賯€(gè)任務(wù)就會(huì)有多少個(gè)任務(wù)堆棧。
全球嵌入式及行動(dòng)應(yīng)用軟體廠商美商溫瑞爾(Wind River)近日宣布,Ubee-AirWALK公司以VxWorks即時(shí)操作系統(tǒng)為基礎(chǔ),建構(gòu)其CDMA網(wǎng)路最新企業(yè)級(jí)微蜂巢式(Femtocel
• VirtualizaTIon Profile for VxWorks 把實(shí)時(shí)嵌入式Type 1 hypervisor集成到RTOS內(nèi)核中。 • 提供安全、
為支持最小尺寸的物聯(lián)網(wǎng)設(shè)備,Linux 基金會(huì)發(fā)布了 Zephyr物聯(lián)網(wǎng)操作系統(tǒng),旨在為物聯(lián)網(wǎng)設(shè)備創(chuàng)建一個(gè)開源的實(shí)時(shí)操作系統(tǒng) (RTOS)。Linux 基金會(huì)執(zhí)行董事 Jim Zemlin
關(guān)注、星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容 轉(zhuǎn)自:Mculover666 之前給大家分享過關(guān)于CMSIS的內(nèi)容,比如: Cortex-M微控制器軟件接口標(biāo)準(zhǔn)CMSIS詳細(xì)內(nèi)容 CMSIS-DAP和J-Link、ST-Link是什么關(guān)系? 今天繼續(xù)給大家分享由“Mculover666”整理的關(guān)于CMSIS的內(nèi)容。 1. CMSIS-
關(guān)注、星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容 作者:strongerHuang 微信公眾號(hào):strongerHuang 很多朋友長(zhǎng)時(shí)間使用裸機(jī)編程,切換過來(lái)學(xué)習(xí)RTOS,就對(duì)其中很多概念產(chǎn)生了誤解。 大部分人開始學(xué)習(xí)RTOS實(shí)時(shí)操作系統(tǒng)時(shí),對(duì)RTOS中的一些概念都不太理解。 一上來(lái)就是臨界段、
嵌入式系統(tǒng)中中斷是必不可少的一部分; 1 前言 本文會(huì)在中斷基礎(chǔ)上對(duì)FreeRTOS的中斷管理做一個(gè)介紹,讀者需要掌握中斷的概念,本文暫不會(huì)對(duì)此進(jìn)行深入介紹;z操作系統(tǒng)中,中斷隨處可見,從Windows的中斷,Linux的中斷,以及RTOS的中斷,其處理過程都是相同的
1、聊一聊 ? ? 好了,今天為大家講解講解OS中的線程、進(jìn)程和協(xié)程的這幾個(gè)概念,同時(shí)一起看看RTOS中的任務(wù)到底屬于哪一種。 2、三者整體關(guān)系圖 ? ? 很多小伙伴在學(xué)習(xí)OS的過程中會(huì)遇到各種程序形態(tài),比如說(shuō)進(jìn)程、線程、協(xié)程、管程、纖程,oh my god!要是對(duì)他們
關(guān)注、 星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容 素材來(lái)源:網(wǎng)絡(luò) 編輯整理:strongerHuang 物聯(lián)網(wǎng)近兩年的快速發(fā)展,想必大家都看到了,因?yàn)槲锫?lián)網(wǎng),使C語(yǔ)言的成為最受歡迎的語(yǔ)言(之前幾年JAVA一直的老大)。 順便先給大家看看6月TIOBE指數(shù): C語(yǔ)言已經(jīng)連續(xù)兩月位居榜首
關(guān)注、 星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容 素材來(lái)源:Segger 編輯整理:strongerHuang 1994年1月25日,克萊門汀號(hào)發(fā)射升空,它是美國(guó)國(guó)家航空航天局(NASA)的衛(wèi)星,用于在長(zhǎng)時(shí)間暴露于太空環(huán)境下測(cè)試傳感器和航天器組件。由于缺乏幾條看門狗代碼,它的任務(wù)于1994年
關(guān)注、星標(biāo)公眾號(hào) ,直達(dá)精彩內(nèi)容 FreeRTOS下載包的文件結(jié)構(gòu) 在FreeRTOS官方網(wǎng)站可以下載到最新版的FreeRTOS包,我這里使用的是V8.2.3版本。 下載包內(nèi)的總文件數(shù)量多的令人生畏,但文件結(jié)構(gòu)卻很簡(jiǎn)潔?!禙reeRTOS入門指南》一文的第3節(jié)詳細(xì)描述了下載包文件結(jié)
莫問收獲,但問耕耘。 ——曾國(guó)藩 本文來(lái)和大家分享一下我在RTOS打怪升級(jí)路上經(jīng)歷的幾個(gè)段位,僅供參考。 青銅段位 | 玩起來(lái)RTOS 這個(gè)段位,我把它總結(jié)為:玩起來(lái)RTOS。 2018年,我參加了RT-Thread組織的大學(xué)生雄鷹計(jì)劃,和眾多對(duì)RT-Thread感興趣的學(xué)生一起學(xué)