- 龍芯嵌入式系統原理與應用開發
- 孫冬梅
- 1467字
- 2023-06-21 18:30:19
前言
1. 本書定位
本書基于國產硬件平臺和國產操作系統進行嵌入式系統開發的講解,深度融合產業需求,培養硬件和軟件人才,引入國產硬件和國產操作系統案例,直面關鍵基礎軟件技術問題,激發讀者的愛國情懷和使命擔當,培養讀者過硬的專業能力。
我國有組織科技攻關的能力,也有推動國產芯片應用所需要的動員能力。目前我國已經有設計和生產芯片的能力,但是芯片的生態還不完善。為了更好地推進國產芯片的使用,推廣國產操作系統,擴大國產嵌入式系統的生態圈,系統介紹基于龍芯芯片的嵌入式系統開發過程就十分有必要了。
本書不僅介紹龍芯1號系列芯片的國產嵌入式系統開發,還介紹基于國產RT-Thread操作系統的應用開發,在全國產基礎上內容的適用性廣。在內核原理、應用程序編寫方面,與市場上常見的ARM架構芯片相比,這一開發過程是通用的,包括編譯、程序下載、調試、應用開發、內核裁剪等。
本書定位為學習SoC芯片LS1B的入門教材,即電子信息類專業基礎課程可選用的教材。本書側重基本原理的闡述,并從嵌入式系統開發的基礎知識入手,詳細介紹GPIO、UART、PWM、RTC、I2C、SPI、CAN總線的原理與設計實例。
本書通過理論與實踐相結合的方式,幫助讀者掌握嵌入式系統基礎知識與常用接口。書中實例的安排由淺入深、層層遞進,在幫助讀者掌握某一方面功能的同時,有效整合其他外圍設備(簡稱外設)與內核,如按鍵、傳感器等,并設計嵌入式系統,體現學習的系統性。
2. 框架結構
本書圍繞兩個主題展開,一是LS1B的結構及原理,二是嵌入式LS1B的開發與實踐。本書在講解上由易到難、循序漸進,內容可分為4個部分:第01~03章為基礎知識,第04~09章為裸機編程部分,第10~17章為操作系統部分,第18章為綜合設計。裸機編程部分是一個初學者成長為系統程序員所需掌握的基礎內容,包括基于設備的基本硬件接口,如GPIO、UART等,以及總線與通信。操作系統部分包含操作系統的基礎知識,如文件、進程、線程、信號、網絡等。
第04~18章給出了設計實例的源碼及運行結果,并對源碼進行詳細分析。同時采用多結構化的編程方法,有利于與其他外設整合,進行綜合開發,實現應用系統功能,幫助讀者培養良好的編程習慣。
書中的代碼部分借鑒了網絡資源,部分由編者撰寫,全部經過調試并在LS1B開發套件上運行通過。其中,部分應用程序與其他ARM架構的系統是通用的。
3. 內容編排
本書具體內容如下。
第01章簡要介紹嵌入式系統、LS1B以及本書所采用的LS1B開發套件。
第02章介紹LS1B開發套件的硬件平臺,包括內部結構與外部接口,為讀者設計電路和進行軟件開發提供參考;還介紹最小系統和外設相關調試。
第03章介紹嵌入式軟件開發基礎、集成開發環境LoongIDE,并完成第一個嵌入式系統項目的運行。
第04~09章介紹裸機編程,包括GPIO、UART、PWM定時器、RTC定時器、WDT、I2C總線、SPI總線、CAN總線。首先講解這些外設的基本原理,其次給出常用的庫函數,最后給出設計實例。
第10章介紹國產操作系統RT-Thread的內核原理與實現方法。
第11~14章為嵌入式操作系統開發奠定基礎,詳細介紹RT-Thread中的線程管理、系統節拍與定時器管理、線程間同步與通信、內存管理。
第15章介紹基于 RT-Thread 的LS1B文件系統的原理和編程示例。
第16章介紹基于 RT-Thread 的LS1B網絡系統的原理和編程示例。
第17章介紹基于 RT-Thread 的LS1B的設備操作實現。
第18章給出基于LS1B開發套件的綜合設計案例,并基于實際項目對系統設計流程進行介紹,具有一定的實踐參考價值。
配套資源中提供了本書的教學課件、實驗指導書及LS1B開發套件電路原理圖,以方便讀者進行學習與實踐。讀者可登錄“異步社區”網站,搜索本書,在本書頁面中的“配套資源”處進行下載。
4. 內容勘誤
由于編者水平有限,書中難免存在不妥之處,歡迎讀者朋友通過郵件(sundm75@njtech.edu.cn)反饋!
孫冬梅
2023年1月