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