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

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]現(xiàn)在開始仔細(xì)分析,整個(gè)點(diǎn)燈大法是如何實(shí)現(xiàn)的。一、硬件初始化。在我這里是指對(duì)GPIO進(jìn)行初始化LED_GPIO_Config();//LED端口初始化具體的配置就不多說了。二、操作系統(tǒng)的初始化OSInit();接著我們看看這里面具體做了什

現(xiàn)在開始仔細(xì)分析,整個(gè)點(diǎn)燈大法是如何實(shí)現(xiàn)的。

一、硬件初始化。

在我這里是指對(duì)GPIO進(jìn)行初始化


LED_GPIO_Config();//LED端口初始化

具體的配置就不多說了。

二、操作系統(tǒng)的初始化

OSInit();

接著我們看看這里面具體做了什么:


voidOSInit(void)

{

OSInitHookBegin();/*Callportspecificinitializationcode*/

OS_InitMisc();/*Initializemiscellaneousvariables*/

OS_InitRdyList();/*InitializetheReadyList*/

OS_InitTCBList();/*InitializethefreelistofOS_TCBs*/

OS_InitEventList();/*InitializethefreelistofOS_EVENTs*/

OS_InitTaskIdle();/*CreatetheIdleTask*/

OS_InitTaskStat();/*CreatetheStatisticTask*/

OSInitHookEnd();/*Callportspecificinit.code*/

}

上面是去掉一些宏開關(guān)的簡化代碼:


1、首先是hook函數(shù),下面結(jié)合官方文檔以及我自己的理解,談?wù)勥@個(gè)hook函數(shù)

本人理解,對(duì)于我們初學(xué)者來說hook函數(shù)是不需要管的,直接把宏開關(guān)關(guān)掉,因?yàn)椴僮飨到y(tǒng)的功能擴(kuò)充
我們暫時(shí)還用不到,而這個(gè)hook函數(shù)就是實(shí)現(xiàn)對(duì)操作系統(tǒng)功能的擴(kuò)充,之所以加上了這個(gè)hook函數(shù),就是為了
防止我們直接修改源代碼。從而對(duì)源代碼產(chǎn)生破壞!

也就是說我們可以直接把這兩個(gè)hook函數(shù)注釋掉,自己動(dòng)手試試吧,我試過了!

2、接著是這個(gè) OS_InitMisc(); 看注釋就是初始化各種各樣的變量。我們可以進(jìn)去看看,代碼如下:

staticvoidOS_InitMisc(void)

{

#ifOS_TIME_GET_SET_EN>0

OSTime=0L;/*Clearthe32-bitsystemclock*/

#endif

OSIntNesting=0;/*Cleartheinterruptnestingcounter*/

OSLockNesting=0;/*Cleartheschedulinglockcounter*/

OSTaskCtr=0;/*Clearthenumberoftasks*/

OSRunning=OS_FALSE;/*Indicatethatmultitaskingnotstarted*/

OSCtxSwCtr=0;/*Clearthecontextswitchcounter*/

OSIdleCtr=0L;/*Clearthe32-bitidlecounter*/

#ifOS_TASK_STAT_EN>0

OSIdleCtrRun=0L;

OSIdleCtrMax=0L;

OSStatRdy=OS_FALSE;/*Statistictaskisnotready*/

#endif

}

從上面的代碼中我們可以獲得這樣的信息:


這幾行代碼完成的就是對(duì)系統(tǒng)定時(shí)器初值、中斷計(jì)數(shù)器、當(dāng)前任務(wù)數(shù)量等進(jìn)行清零,沒有別的意思了。

3、OS_InitRdyList這個(gè)函數(shù)看名字意思是初始化就緒態(tài)列表

那么就序列表指的就是任務(wù)處于三態(tài)中的就緒態(tài)的任務(wù),關(guān)于三態(tài)的詳細(xì)解釋可以百度一下!

那么還是一樣跟蹤進(jìn)去看看代碼里面到底做了些什么、


staticvoidOS_InitRdyList(void)

{

INT8Ui;

#ifOS_LOWEST_PRIO<=63

INT8U*prdytbl;

#else

INT16U*prdytbl;

#endif

OSRdyGrp=0;/*Clearthereadylist*/

prdytbl=&OSRdyTbl[0];

for(i=0;i

*prdytbl++ = 0;

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

無論是在統(tǒng)治NLP屆的Transformer,還是最近視覺領(lǐng)域的新秀Vision Transformer,我們都能在模型中看到Transpose/Permute算子的身影,特別是在多頭注意力機(jī)制(Multi-Head A...

關(guān)鍵字: se rc os

在六個(gè)服務(wù)領(lǐng)域表現(xiàn)出顯著提升;從2021年的第7位躍居第2位 印度班加羅爾2022年4月11日 /美通社/ -- 下一代數(shù)字服務(wù)和咨詢領(lǐng)域的全球領(lǐng)軍者Infosys(印度國家證券交易所、孟買證券交易所和紐約證券交易所代...

關(guān)鍵字: Group os

(全球TMT2022年4月11日訊)下一代數(shù)字服務(wù)和咨詢領(lǐng)域的全球領(lǐng)軍者Infosys近期宣布,在Everest Group PEAK Matrix?2022年度 IT服務(wù)提供商獎(jiǎng)中排名第二。在第六屆PEAK Matr...

關(guān)鍵字: Group os

香港2022年3月29日 /美通社/ -- 在傳統(tǒng)與創(chuàng)新的十字路口,一些人不僅記錄了歷史,而且潛心打造未來?;仡橳oshiba TV第一次屏幕閃爍的那一刻,創(chuàng)新便已深植于公司的“血液”,致力于真實(shí)...

關(guān)鍵字: os

北京2022年3月21日 /美通社/ -- 微美全息軟件有限公司(納斯達(dá)克: WIMI)(以下簡稱為“微美全息”或“公司”),一家全球領(lǐng)先的增強(qiáng)現(xiàn)實(shí)(“AR”)服務(wù)提供商,今天宣布宣布被納入Proshares Metav...

關(guān)鍵字: os

Infosys 元宇宙工坊(Infosys metaverse foundry)是 Infosys Living Labs 不可或缺的一部分,它正在推動(dòng)企業(yè)的數(shù)字創(chuàng)新議程,以適應(yīng)新興的優(yōu)先事項(xiàng)和市場趨勢。 Infosys...

關(guān)鍵字: os

Chronos芯片將搭載于Ouster面向量產(chǎn)車推出的DF系列固態(tài)數(shù)字激光雷達(dá)上,提高其性能與功效...

關(guān)鍵字: 芯片 激光雷達(dá) os

(全球TMT2022年3月11日訊)2022年3月11日,高分辨率數(shù)字激光雷達(dá)供應(yīng)商Ouster發(fā)布最新Chronos 芯片,這是一款車規(guī)級(jí)、完全定制化的數(shù)字激光雷達(dá)接收芯片,將搭載于其DF系列固態(tài)激光雷達(dá)上。Chro...

關(guān)鍵字: 芯片 激光雷達(dá) os

上海2022年3月10日 /美通社/ -- 中國上海,2022年3月,柏中(Bossard)宣布推出Smart Vending Cloud幫助客戶解決MRO耗材管理問題,進(jìn)一步升級(jí)“智能工廠物流”服務(wù)。此舉也意味著柏中在...

關(guān)鍵字: 全自動(dòng) os

(全球TMT2022年2月22日訊)孚昇電子(Fusion Worldwide)收購了位于新加坡的大型電子元件測試公司Prosemi Mfg Pte Ltd。由于供應(yīng)鏈經(jīng)歷了歷史性的限制,導(dǎo)致周轉(zhuǎn)時(shí)間過長,此次收購將進(jìn)...

關(guān)鍵字: os se 電子元件
關(guān)閉