簡介
這是一本關於使用C和C++來進行嵌人式系統編程的書。同樣,這裡假定讀者已經有了一些編程經驗,並且至少熟悉這兩種語言的語法。如果你比較熟悉基本的數據結構例如鍊表等,也會有些幫助。這本書並不要求你在計算機硬體方面了解很多,但是希望你願意由這本書而學一點有關硬體的知識。這畢竟是一個嵌入式程式設計師工作的一部分。寫這本書的時候,在我的腦海里有兩類讀者。第一類是初學者——正像我剛從大學畢業的時候那樣。她會何一些計算機科學或工程的背景,並有幾年編程經驗。初學者感興趣的是如何為一個既有的設備寫嵌人式程式,卻不能肯定該如問著手去做。看完前五章後,她就能夠用她的編程技術來開發簡單的嵌入式程式了。本書的其他部分可以作為她在以後的職業生涯里遇到更高級的主題時的參考。
第二類讀者已經是嵌入式系統程式設計師了。她熟悉嵌入式硬體,並目知道怎樣來為此編寫軟體。但是她正在尋找一本參考書來解釋一些關鍵問題。出許這位嵌入式系統用序員一直在用彙編語言編程,並且剛接觸C和C++不久。這樣的話,這本書會教給她如問在嵌入式系統里使用這些語言。後面的章節還會提供她所需要的更高級的材料。
不論你是否屬丁上述兩種讀者之一,我還是希望這本書能夠以一種友好和方便的形式給你一些幫助。
目錄
第一章“引言”。介紹嵌入式系統。其中定義了若干術語,給出了一些例子並且說明了為什麼選擇C和C++來作為本書的程式語言。
第二章“你的第一個嵌人式程式”。
引導你嘗試用C語言編寫一個簡單的嵌入式程式的全過程。這比較類似於其他很多編程書籍里的“Hello,World”的例子。
第三章“編譯、連結和定址”。
介紹了一些軟體工具。你將用它們來為一個嵌人式處理器生成執行檔。
第四章“下載和調試”。
介紹將可執行程式調人一個嵌入式系統的各種技術手段,同時也描述了你可以使用的調試工具和技術。
第五章“接觸硬體”。
描述了學習一個不熟悉的硬體平台的簡單過程。結束本章後,你已經能夠書寫和調試簡單的嵌人式程式了。
第六章“存儲器”。
講解了關於嵌人式系統內的存儲器作所需要知道的全部知識。這一章還包括了存儲器測試和閃速存儲器驅動程式的原始碼實現。
第七章“外圍設備”。
說明了設備驅動程式的設計和實現技術,同時包含了一個通用外圍設備(定時器)的示範驅動程式。
第八章“作業系統”。
包含了一個可以用在任何嵌入式系統中的很簡單的作業系統。這有助於你決定你是否需要這么一個作業系統,如果需要的話,是買一個還是乾脆自己寫一個。
第九章“合成一個整體’。
進一步拓展前面章節學到的關於設備驅動程式和作業系統的知識。本章講解了如何控制更複雜的外設,同時引入了一個完整的示範套用來把你學過的東西綜合到一起。
第十章“最佳化你的代碼”。
描述了如何在增加代碼運行速度的同時,減少你的嵌入式軟體對存儲器的需求。這包括使用一些技巧來刊用最有效的C++特性,而不導致顯著的性能損失。