官术网_书友最值得收藏!

前言

如何學習本書

本書系統講解FreeRTOS,共分為兩個部分。第一部分重點講解FreeRTOS的原理實現,從0開始,不斷迭代,教你把FreeRTOS的內核寫出來,讓你徹底學會任務是如何定義的、系統是如何調度的(包括底層的匯編代碼講解)、多優先級是如何實現的等操作系統最深層次的知識。當你拿到本書開始學習的時候,你一定會驚訝,原來RTOS(Real Time Operating System,實時操作系統)的學習并沒有那么復雜,反而是那么有趣,原來自己也可以寫RTOS,成就感瞬間爆棚。

當徹底掌握第一部分的知識之后,再學習其他RTOS,可以說十分輕松。縱觀現在市面上流行的幾種RTOS,它們的內核實現差異不大,只需要深入研究其中一種即可,沒有必要對每一種RTOS都深入地研究源碼。但如果時間允許,看一看也并無壞處。第二部分重點講解FreeRTOS的移植、內核中每個組件的應用,比起第一部分,這部分內容掌握起來應該比較容易。

全書內容循序漸進,不斷迭代,尤其在第一部分,前一章多是后一章的基礎,建議從頭開始閱讀,不要進行跳躍式閱讀。在學習時務必做到兩點:一是不能一味地看書,要把代碼和書本結合起來學習,一邊看書,一邊調試代碼。如何調試代碼呢?即單步執行每一條程序,看程序的執行流程和執行的效果與自己所想的是否一致。二是在每學完一章之后,必須將配套的例程重寫一遍(切記不要復制,哪怕是一個分號。但可以照書錄入),做到舉一反三,確保真正理解。在自己寫的時候肯定會錯漏百出,要認真糾錯,好好調試,這是你提高編程能力的最好機會。記住,編寫程序不是一氣呵成的,而是要一步一步地調試。

本書的編寫風格

本書第一部分以FreeRTOS V9.0.0官方源碼為藍本,抽絲剝繭,不斷迭代,教你如何從0開始把FreeRTOS內核寫出來。書中涉及的數據類型、變量名稱、函數名稱、文件名稱、文件存放的位置都完全按照FreeRTOS官方的方式來實現。學完這本書之后,你可以無縫地切換到原版的FreeRTOS中使用。要注意的是,在實現的過程中,某些函數中會去掉一些形參和冗余的代碼,只保留核心的功能,但這并不會影響學習。

本書第二部分主要介紹FreeRTOS的移植和內核組件的使用,不會再去深入講解源碼,而是著重講解如何應用,如果對第一部分不感興趣,可以跳過第一部分,直接進入第二部分的學習。

本書還有姊妹篇——《RT-Thread內核實現與應用開發實戰指南:基于STM32》此書由機械工業出版社出版,書號為978-7-111-61366-4。——編輯注,兩本書的編寫風格、內容框架和章節命名與排序基本一致,語言闡述類似,且涉及RTOS抽象層的理論部分也相同,不同之處在于RTOS的實現原理、內核源碼的講解和上層API的使用,這些內容才是重點部分,是讀者學習的核心。例如,雖然兩本書的第一部分的章節名稱基本類似,但內容不同,因為針對的RTOS不一樣。其中,關于新建FreeRTOS工程和裸機系統與多任務(線程)系統的描述屬于RTOS抽象層的理論部分,不具體針對某個RTOS,所以基本一樣。第二部分中,對于什么是任務(線程)、阻塞延時和信號量的應用等RTOS抽象層的理論講解也基本類似,但是具體涉及這兩個RTOS的原理實現和代碼講解時則完全不同。

如果讀者已經學習了其中一本書,再學習另外一本的話,那么涉及RTOS抽象層的理論部分可跳過,只需要把精力放在RTOS內核的實現和源碼API的應用方面。因為現有的RTOS在理論層基本都是相通的,但在具體的代碼實現上各有特點,所以可以用這兩本書進行互補學習,掌握了其中一本書的知識,再學習另外一本書定會得心應手,事半功倍。

本書的參考資料及配套硬件

關于本書的參考資料和配套硬件的信息,請參考本書附錄部分。

本書的技術論壇

如果在學習過程中遇到問題,可以到野火電子論壇www.firebbs.cn發帖交流,開源共享,共同進步。

鑒于作者水平有限,書中難免有錯漏之處,熱心的讀者也可把勘誤發送到論壇上以便改進。祝你學習愉快,FreeRTOS的世界,野火與你同行。

主站蜘蛛池模板: 萍乡市| 岑巩县| 临沧市| 邓州市| 洛川县| 定襄县| 莆田市| 溆浦县| 吴忠市| 安平县| 枣阳市| 八宿县| 苍南县| 开阳县| 龙井市| 定陶县| 宜章县| 潮州市| 饶阳县| 五峰| 长治县| 密山市| 黑河市| 夏津县| 尤溪县| 务川| 五华县| 南靖县| 海阳市| 怀宁县| 吉林市| 虹口区| 嵩明县| 宁南县| 中阳县| 淳化县| 三门县| 古浪县| 阳原县| 长兴县| 湖北省|