RTOS是學(xué)習(xí)嵌入式軟件開(kāi)發(fā)避不開(kāi)的一個(gè)內(nèi)容,之前給大家分享過(guò)RTOS內(nèi)核源碼,非必要不建議閱讀。
其實(shí),掌握了RTOS的朋友應(yīng)該知道,學(xué)習(xí)RTOS需要理論(RTOS各種概念)+實(shí)踐(跑各種例程)這樣才能更快掌握RTOS的主要內(nèi)容。
雖然不建議閱讀RTOS內(nèi)核源碼,但有條件的朋友還是可以讀一讀內(nèi)核源碼?;氐浇裉斓脑掝},讀完FreeRTOS內(nèi)核源碼,需要多久?
一天?還是一年?或者三年?
先說(shuō)下我的情況,我沒(méi)有認(rèn)認(rèn)真真完全讀過(guò)FreeRTOS內(nèi)核源碼,但我有認(rèn)認(rèn)真真讀過(guò)ucos內(nèi)核源碼,我讀ucos內(nèi)核源碼是在大學(xué)快畢業(yè)的時(shí)候,前后大概花了一年多(具體花了多少時(shí)間不記得了,反正花了挺長(zhǎng)時(shí)間)。
雖然我沒(méi)有完全讀過(guò)FreeRTOS內(nèi)核源碼,你讓我現(xiàn)在去讀FreeRTOS內(nèi)核源碼,在不被打擾的安靜環(huán)境下,我覺(jué)得一天能讀完并理解其中的90%以上的內(nèi)容。
可能會(huì)有小伙伴說(shuō):你一會(huì)兒一年多,一會(huì)兒一天,是不是在吹牛逼?
有沒(méi)有吹牛逼,你問(wèn)下其他過(guò)來(lái)人應(yīng)該就知道了。
花多少時(shí)間,其實(shí)是看情況的,由于我之前認(rèn)真研究過(guò)RTOS底層的原理,也用RTOS做過(guò)很多項(xiàng)目,包括現(xiàn)在的項(xiàng)目也會(huì)用到RTOS。所以,你能理解我現(xiàn)在為什么一天能讀完FreeRTOS內(nèi)核源碼了嗎?
FreeRTOS內(nèi)核源碼文件其實(shí)也就那么幾個(gè),與任務(wù)Task相關(guān)的有一些內(nèi)容難理解一點(diǎn),其他相對(duì)簡(jiǎn)單一點(diǎn)。
對(duì)于新手來(lái)說(shuō),可能理解一個(gè)任務(wù)控制塊都需要一個(gè)月,甚至半年的時(shí)間。包括C預(yù)言基礎(chǔ)不好的同學(xué),里面用到的指針數(shù)組鏈表那些內(nèi)容,也很費(fèi)腦筋。
讀完FreeRTOS內(nèi)核源碼所需的時(shí)間,取決于多方面因素:編程基礎(chǔ):基礎(chǔ)牢固,有用開(kāi)發(fā)經(jīng)驗(yàn)的朋友,自會(huì)會(huì)更快理解代碼。閱讀深度:僅了解功能還是深入理解源碼的細(xì)節(jié),簡(jiǎn)單理解則花費(fèi)時(shí)間更少。投入時(shí)間:三天打魚(yú)兩天曬網(wǎng),肯定花費(fèi)時(shí)間更長(zhǎng)。學(xué)習(xí)目標(biāo):以項(xiàng)目使用FreeRTOS為目標(biāo),理論+實(shí)踐,這樣更能理解,閱讀效率也更高。
所以,讀完FreeRTOS內(nèi)核源碼可能花費(fèi)的時(shí)間大概為:新手初學(xué)者:可能需要半年至兩年。入門(mén)開(kāi)發(fā)者:可能需要一個(gè)月至半年。有經(jīng)驗(yàn)的開(kāi)發(fā)者:可能需要幾天至幾周。
當(dāng)然,還要考慮閱讀的深度,深入理解,花費(fèi)時(shí)間可能還要翻倍。
最后,你閱讀過(guò)RTOS內(nèi)核源碼嗎?大概花費(fèi)了多少時(shí)間?