龙芯嵌入式系统原理与应用开发
上QQ阅读APP看书,第一时间看更新

前言

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月