www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 小熊派開源社區(qū)
[導(dǎo)讀]HuaweiLiteOSHuaweiLiteOS是華為面向IoT領(lǐng)域,構(gòu)建的“統(tǒng)一物聯(lián)網(wǎng)操作系統(tǒng)和中間件軟件平臺”,以輕量級(內(nèi)核小于10k)、低功耗(1節(jié)5號電池最多可以工作5年),快速啟動,互聯(lián)互通,安全等關(guān)鍵能力,為開發(fā)者提供“一站式”完整軟件平臺,有效降低開發(fā)門檻、縮短開...

Huawei LiteOSHuawei LiteOS是華為面向IoT領(lǐng)域,構(gòu)建的“統(tǒng)一物聯(lián)網(wǎng)操作系統(tǒng)和中間件軟件平臺”,以輕量級(內(nèi)核小于10k)、低功耗(1節(jié)5號電池最多可以工作5年),快速啟動,互聯(lián)互通,安全等關(guān)鍵能力,為開發(fā)者提供“一站式”完整軟件平臺,有效降低開發(fā)門檻、縮短開發(fā)周期。下面對LiteOS基礎(chǔ)內(nèi)核的任務(wù)管理、內(nèi)存管理、中斷管理、信號量、互斥鎖五大模塊進(jìn)行簡單介紹。

01
LiteOS內(nèi)核的任務(wù)管理


基本概念和功能任務(wù)是競爭系統(tǒng)資源的最小運(yùn)行單元。任務(wù)可以使用或等待CPU、使用內(nèi)存空間等系統(tǒng)資源,并獨(dú)立于其它任務(wù)運(yùn)行。
Huawei LiteOS是一個支持多任務(wù)的操作系統(tǒng),一個任務(wù)就表示一個線程,任務(wù)之間可以進(jìn)行切換和通信。LiteOS的任務(wù)管理模塊提供任務(wù)創(chuàng)建、刪除、延時、掛起和恢復(fù)、更改任務(wù)優(yōu)先級、鎖定任務(wù)調(diào)度和解鎖任務(wù)調(diào)度、根據(jù)任務(wù)控制塊查詢?nèi)蝿?wù) ID、根據(jù) ID 查詢?nèi)蝿?wù)控制塊信息等功能。
因?yàn)長iteOS內(nèi)核是搶占式調(diào)度內(nèi)核,所以高優(yōu)先級的任務(wù)可以打斷低優(yōu)先級任務(wù),低優(yōu)先級任務(wù)必須在高優(yōu)先級任務(wù)阻塞或結(jié)束后才能得到調(diào)度,同優(yōu)先級任務(wù)會進(jìn)行時間片輪轉(zhuǎn)調(diào)度。優(yōu)先級表示任務(wù)執(zhí)行的優(yōu)先順序,決定了在發(fā)生任務(wù)切換時即將要執(zhí)行的任務(wù)。LiteOS中的任務(wù)一共有32個優(yōu)先級 (0-31),最高優(yōu)先級為 0,最低優(yōu)先級為31。
任務(wù)控制TCB每一個任務(wù)都含有一個任務(wù)控制塊(TCB)。TCB 包含了任務(wù)上下文棧指針(stack pointer)、任務(wù)狀態(tài)(包括就緒、運(yùn)行、阻塞、退出4種狀態(tài))、任務(wù)棧大?。ㄈ蝿?wù)棧里保存著局部變量、寄存器、函數(shù)參數(shù)、函數(shù)返回地址等)、任務(wù)優(yōu)先級、任務(wù)ID、任務(wù)名等信息。TCB相當(dāng)于每個任務(wù)在內(nèi)核中的身份證,可以反映出每個任務(wù)運(yùn)行情況。
運(yùn)作機(jī)制在任務(wù)模塊初始化時,系統(tǒng)會先申請TCB需要的內(nèi)存空間。如果任務(wù)初始化成功,則系統(tǒng)對TCB內(nèi)容進(jìn)行初始化。用戶創(chuàng)建任務(wù)時,系統(tǒng)會將任務(wù)棧進(jìn)行初始化,預(yù)置上下文。此外,系統(tǒng)還會將“任務(wù)入口函數(shù)”地址放在相應(yīng)位置。這樣在任務(wù)第一次啟動進(jìn)入運(yùn)行態(tài)時,將會執(zhí)行“任務(wù)入口函數(shù)”。
02
LiteOS內(nèi)核的內(nèi)存管理

主要功能Huawei LiteOS的內(nèi)存管理模塊管理系統(tǒng)的內(nèi)存資源,主要包括內(nèi)存的初始化、分配及釋放,是操作系統(tǒng)的核心模塊之一。

在系統(tǒng)運(yùn)行過程中,內(nèi)存管理模塊通過對內(nèi)存的申請/釋放操作,來管理用戶和OS對內(nèi)存的使用,使內(nèi)存的利用率和使用效率達(dá)到最優(yōu),同時最大限度地解決系統(tǒng)的內(nèi)存碎片問題。
Huawei LiteOS的內(nèi)存管理分為動態(tài)內(nèi)存管理和靜態(tài)內(nèi)存管理。
動態(tài)內(nèi)存管理在動態(tài)內(nèi)存池中分配用戶指定大小的內(nèi)存塊。
o  優(yōu)點(diǎn):按需分配。
o  缺點(diǎn):內(nèi)存池中可能出現(xiàn)碎片。
靜態(tài)內(nèi)存管理在靜態(tài)內(nèi)存池中分配用戶初始化時預(yù)設(shè)(固定)大小的內(nèi)存塊,初始化后塊大小不可變更。
o  優(yōu)點(diǎn):分配和釋放效率高,靜態(tài)內(nèi)存池中無碎片。
o  缺點(diǎn):只能申請到初始化預(yù)設(shè)大小的內(nèi)存塊,不能按需申請。
03
LiteOS內(nèi)核的中斷管理

中斷的介紹中斷是指出現(xiàn)需要時,CPU暫停執(zhí)行當(dāng)前程序,轉(zhuǎn)而執(zhí)行新程序的過程。即在程序運(yùn)行過程中,系統(tǒng)出現(xiàn)了一個必須由CPU立即處理的事務(wù)。此時,CPU暫時中止當(dāng)前程序的執(zhí)行轉(zhuǎn)而處理這個事務(wù),這個過程就叫做中斷。
為什么需要中斷眾多周知,CPU的處理速度比外設(shè)的運(yùn)行速度快很多,外設(shè)可以在沒有CPU介入的情況下完成一定的工作,但某些情況下需要CPU為其做一定的工作。通過中斷機(jī)制,在外設(shè)不需要CPU介入時,CPU可以執(zhí)行其它任務(wù),而當(dāng)外設(shè)需要CPU時通過產(chǎn)生中斷信號使CPU立即中斷當(dāng)前任務(wù)來響應(yīng)中斷請求。用戶通過中斷申請,注冊中斷處理程序,可以指定CPU響應(yīng)中斷請求時所執(zhí)行的具體操作。這樣可以使CPU避免把大量時間耗費(fèi)在等待、查詢外設(shè)狀態(tài)的操作上,因此將大大提高系統(tǒng)實(shí)時性以及執(zhí)行效率。
相關(guān)的硬件與中斷相關(guān)的硬件可以劃分為三類:設(shè)備、中斷控制器、CPU本身。
  • 設(shè)備:發(fā)起中斷的源,當(dāng)設(shè)備需要請求CPU時,產(chǎn)生一個中斷信號,該信號連接至中斷控制器。
  • 中斷控制器:中斷控制器是 CPU 眾多外設(shè)中的一個,它一方面接收其它外設(shè)中斷引腳的輸入,另一方面,它會發(fā)出中斷信號給CPU??梢酝ㄟ^對中斷控制器編程實(shí)現(xiàn)對中斷源的優(yōu)先級、觸發(fā)方式、打開和關(guān)閉源等設(shè)置操作。常用的中斷控制器有VIC(Vector Interrupt Controller)和GIC(General Interrupt Controller),在 ARM Cortex-M 系列中使用的中斷控制器是NVIC(Nested Vector Interrupt Controller)。
  • CPU:CPU會響應(yīng)中斷源的請求,中斷當(dāng)前正在執(zhí)行的任務(wù),轉(zhuǎn)而執(zhí)行中斷處理程序。

主要功能Huawei LiteOS支持:
·  中斷初始化
·  中斷創(chuàng)建
·  開/關(guān)中斷
·  恢復(fù)中斷
·  中斷使能
·  中斷屏蔽
04
LiteOS內(nèi)核的信號量

基本概念和功能信號量(Semaphore)是一種實(shí)現(xiàn)任務(wù)間通信的機(jī)制,可以用于任務(wù)之間同步或臨界資源的互斥訪問。

信號量可以被任務(wù)獲取或者申請,不同的信號量通過信號量索引號來唯一確定,每個信號量都有一個計數(shù)值和任務(wù)隊(duì)列。通常信號量的計數(shù)值表示有效的資源數(shù),即剩下的可被占用的互斥資源數(shù)。當(dāng)任務(wù)申請(Pend)信號量時,如果申請成功,則信號量的計數(shù)值遞減,如申請失敗,則掛起在該信號量的等待任務(wù)隊(duì)列上,一旦有任務(wù)釋放該信號量,則等待任務(wù)隊(duì)列中的任務(wù)被喚醒開始執(zhí)行。
信號量運(yùn)作示意圖↓

使用場景信號量是一種非常靈活的同步方式,可以運(yùn)用在多種場合中,實(shí)現(xiàn)鎖、同步、資源計數(shù)等功能,也能方便的用于任務(wù)與任務(wù),中斷與任務(wù)的同步中。
· 任務(wù)間互斥
用作互斥時,信號量創(chuàng)建后記數(shù)是滿的,在需要使用臨界資源時,先申請信號量,使其變空,這樣其他任務(wù)需要使用臨界資源時就會因?yàn)闊o法申請到信號量而阻塞,從而保證了臨界資源的安全。
· 任務(wù)間同步
用作同步時,信號量在創(chuàng)建后被置為空,任務(wù)1申請信號量而阻塞,任務(wù)2在某種條件發(fā)生后,釋放信號量,于是任務(wù)1得以進(jìn)入READY或RUNNING態(tài),從而達(dá)到了兩個任務(wù)間的同步。
· 資源計數(shù)
用作資源計數(shù)時,信號量的作用是一個特殊的計數(shù)器,可以遞增或者遞減,但是值永遠(yuǎn)不能為負(fù)值,典型的應(yīng)用場景是生產(chǎn)者與消費(fèi)者的場景。
· 中斷與任務(wù)的同步
用作中斷與任務(wù)的同步時,可以在中斷未觸發(fā)時將信號量的值置為0,從而堵塞中斷服務(wù)處理任務(wù),一旦中斷被觸發(fā),則喚醒堵塞的中斷服務(wù)處理任務(wù)進(jìn)行中斷處理。
05
LiteOS內(nèi)核的互斥鎖

基本概念和功能互斥鎖(mutex)又稱互斥型信號量,是一種特殊的二值信號量,用于實(shí)現(xiàn)對共享資源的獨(dú)占式處理?;コ怄i主要使用在多任務(wù)環(huán)境下,此時往往存在多個任務(wù)競爭同一共享資源的應(yīng)用場景。另外,Huawei LiteOS通過優(yōu)先級繼承算法,解決了信號量存在的優(yōu)先級翻轉(zhuǎn)問題。
運(yùn)作機(jī)制任意時刻互斥鎖只有兩種狀態(tài):開鎖或閉鎖。當(dāng)有任務(wù)持有時,互斥鎖處于閉鎖狀態(tài),這個任務(wù)獲得該互斥鎖的所有權(quán)。當(dāng)該任務(wù)釋放它時,該互斥鎖被開鎖,任務(wù)失去該互斥鎖的所有權(quán)。當(dāng)一個任務(wù)持有互斥鎖時,其他任務(wù)將不能再對該互斥鎖進(jìn)行開鎖或持有,所以其他任務(wù)此時訪問這個公共資源將會被阻塞,直到互斥鎖被持有該鎖的任務(wù)釋放后,其他任務(wù)才能重新訪問該公共資源。
互斥鎖運(yùn)作示意圖↓
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉