前言
嵌入式系统是一种被广泛使用的计算平台,在工业控制、通信设备、医疗仪器、信息家电、军事装备等众多领域得到了广泛的应用。在国内许多院校中,“嵌入式系统”课程是计算机科学与技术、通信工程、网络安全、智能计算等相关专业的必修课程。目前,嵌入式系统硬件平台采用的微处理器种类很多,而“嵌入式系统”课程教材大多以ARM体系结构(一种精简指令集处理器架构)的硬件平台为背景来进行讲解,以我国自主研制的龙芯微处理器芯片为背景来进行讲解的教材较少。随着龙芯微处理器芯片的成熟及应用推广,系统地打造以龙芯微处理器芯片为背景的教材是非常有必要的,这可以帮助计算机科学与技术、通信工程、网络安全、智能计算等相关专业的学生掌握以龙芯微处理器芯片为核心的嵌入式系统的设计方法。想要完整地学习嵌入式系统的设计知识,需要进行多门课程的系统学习。本书重点讲解从事以龙芯微处理器芯片为核心的嵌入式系统平台设计工作的人员所必须掌握的基本知识。
嵌入式系统涉及的知识非常多,因此,对于初学者来说,结合自己的学习目标,找准学习嵌入式系统设计知识的切入点是非常必要的。狭义地说,学习嵌入式系统设计知识可以从两个不同的层面切入。第一个层面,对于将来只是应用嵌入式系统硬件平台、软件平台来进行二次开发的读者而言,应侧重提升基于某个嵌入式系统平台(包括硬件平台和软件平台)进行应用系统设计和开发的能力,即主要学习在某个嵌入式系统(如RT-Thread)环境下的应用程序的编写、调试,学习其API(应用程序接口)函数的使用,学习I/O部件的驱动程序编写等。第二个层面,对于将来想从事嵌入式系统平台设计工作,或者需要结合应用环境设计专用硬件平台的读者而言,需重点学习嵌入式系统体系结构及接口设计原理,即主要学习某个具有代表性的嵌入式微处理器(如龙芯1号系列)的内部寄存器结构、汇编指令系统、中断(异常)管理机制及常用的外围设备接口,同时要学习无操作系统下的编程技术,还需要学习启动程序的编写和操作系统移植等方面的知识。
本书是从嵌入式系统的平台构建角度来组织编写的,重点介绍了硬件平台和软件平台的构建方法。书中没有局限于某个具体的嵌入式微处理器芯片,而用了大量的篇幅来介绍其原理。但在介绍原理的同时,还列举了许多基于龙芯1B微处理器的设计示例,从而使原理、概念具体化。
在本书的写作中,卞岳良、王宁、王丽芳、符冠瑶给予了极大的支持与帮助,在此表示衷心的感谢。在本书的编写过程中,还得到了龙芯中科技术股份有限公司、苏州市天晟软件科技有限公司的支持及帮助,在此向他们表示感谢!
感谢本书责任编辑的支持及付出!
感谢家人给我的关心和支持!
嵌入式系统目前正处于快速发展的阶段,新的技术和应用成果不断地涌现,囿于笔者的水平,书中难免存在疏漏之处,希望广大读者批评指正。读者可将意见与发现的错误发送到邮箱njfyd@mail.njust.edu.cn。
符意德
2022年12月31日 于紫金山麓