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

前言

如何學習本書

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

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

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

本書的編寫風格

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

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

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

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

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

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

本書的技術論壇

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

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

主站蜘蛛池模板: 宜州市| 万宁市| 仙游县| 光泽县| 黄石市| 青神县| 木兰县| 台北县| 博兴县| 克什克腾旗| 伊春市| 清水县| 上蔡县| 永吉县| 开江县| 宣恩县| 山东省| 措美县| 鄄城县| 瓮安县| 慈利县| 云安县| 大石桥市| 通江县| 阜宁县| 山丹县| 肥西县| 鄂托克旗| 彭州市| 宜兴市| 五指山市| 大埔区| 宜阳县| 绵阳市| 吐鲁番市| 灌南县| 右玉县| 海南省| 绥江县| 西乌珠穆沁旗| 广河县|