嵌入式系统课程设计

分类: 图书,计算机/网络,计算机体系结构,
作者: 陈虎,吴涛,张安定编著
出 版 社: 机械工业出版社
出版时间: 2008-6-1字数:版次: 1页数: 233印刷时间: 2008/06/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787111239147包装: 平装编辑推荐
本书以作者近年来的嵌入式系统分析和设计经验为基础,结合华南理工大学的教学实践,精心选择了10个课程设计案例,覆盖了嵌入式系统课程的主要内容。
本书特点:
实战性强:本书的主要内容均来自实际应用系统,其中包括嵌入式Linux关键源代码的分析,实际芯片器件资料导读,以便于读者掌握实际系统的关键技术。
覆盖面广:本书既包含了对嵌入式系统SoC硬件原理、嵌入式Linux等基本结构的分析,同时重点介绍了多种实用系统的设计和实现方法。
软硬件结合:本书突出了嵌入式系统中软硬件结合的技术特点,既包含了对相关硬件系统的介绍和分析,也包含了对相应控制软件的设计指导。
遵循软件工程方法:本书以软件工程方法为指导,介绍了嵌入式系统需求分析、总体设计、详细设计、测试等多个环节,帮助读者建立比较完整的嵌入式系统开发流程观念。
内容简介
本书根据嵌入式系统设计课程的基本概念、基本原理和实际设计方法的要求,总结提炼出9个课程设计题目,以配合教学过程。本书通过分析源代码和系统设计等手段,帮助读者学习基于ARM内核的微处理器原理、嵌入式软件技术和嵌入式Linux操作系统等嵌入式系统设计的基本原理和方法,并初步具备嵌入式系统设计能力。本书第二部分的每一章对应一个课程设计题目,其中包括课程设计的目的、要求、相关知识、课程设计分析和扩展内容,书后附有部分课程设计题目的参考程序,以及相关的参考资料。
本书可以作为高等院校计算机专业、电子工程专业及其相关专业“嵌入式系统”及相关课程配套的课程设计教材,也可作为嵌入式系统设计工程人员的参考读物。
目录
专家指导委员会
丛书序言
前言
第1章嵌入式系统课程教学、实验与课程设计的关系
1.1嵌入式系统课程的教学特点
1.2嵌入式系统实验教学与课程设计的关系
1.3嵌入式系统课程设计的主要内容
1.4课程设计要求及评分标准
第2章ARM体系结构与汇编程序源代码分析
2.1课程设计目的
2.2课程设计要求
2.3ARM处理器系列简介
2.4ARM处理器的模式和寄存器结构
2.5ARM处理器的指令系统
2.5.1数据操作指令
2.5.2比较指令
2.5.3转移指令
2.5.4存储器访问指令
2.6ARM的中断结构
2.7Linux中ARM汇编语言程序段分析
2.7.1set_bit函数源代码分析
2.7.2保存和恢复用户现场
2.7.3memzero源代码分析
2.8总结与问题
第3章嵌入式系统引导程序分析
3.1课程设计目的
3.2课程设计要求
3.3嵌入式系统引导程序
3.4引导程序分析
3.4.1IO引脚初始化
3.4.2配置PXA255系统运行时钟
3.4.3配置静态存储器和CF卡接口
3.4.4配置SDRAM接口
3.5本章总结和问题
第4章生产者-消费者问题
4.1课程设计目的
4.2课程设计要求
4.3Linux操作系统中的多线程API原语
4.4线程间同步机制
4.5生产者-消费者实例
4.6总结与改进
第5章心跳检测
5.1课程设计目的
5.2课程设计要求
5.3心跳检测的基本原理
5.4Linux下的socket程序设计
5.5心跳检测系统的设计与分析
5.5.1外围节点的设计
5.5.2主控节点的设计
5.5.3报文格式
5.5.4通信协议的时间分析
5.6总结与改进
第6章CAN总线控制器
6.1课程设计目的
6.2课程设计要求
6.3CAN总线简介
6.3.1CAN总线的电气特性
6.3.2CAN通信协议格式
6.4CAN总线控制器SJA1000
6.4.1SJA1000硬件结构
6.4.2SJA1000外部引脚定义
6.4.3SJA1000内部寄存器定义
6.4.4SJA1000的验收滤波机制
6.5CAN总线节点硬件结构
6.6CAN总线节点软件设计
6.6.1SJA1000初始化
6.6.2发送程序
6.6.3接收程序
6.7总结与改进
第7章嵌入式系统开发环境和Linux内核的构建
7.1课程设计目的
7.2课程设计要求
7.3嵌入式系统开发模式
7.4创建交叉编译工具链
7.4.1创建编译环境
7.4.2创建binutils二进制开发工具集合
7.4.3创建gcc交叉编译器
7.4.4创建glibc
7.4.5建立gccC++编译器
7.5开发主机和嵌入式系统之间的通信
7.5.1minicom终端
7.5.2BOOTP协议
7.5.3TFTP协议
7.5.4NFS网络共享
7.6嵌入式Linux操作系统配置与编译
7.6.1Linux内核重编译命令
7.6.2Linux内核配置选项
7.7总结与练习
第8章A/D转换器驱动程序分析
8.1课程设计目的
8.2课程设计要求
8.3Linux下设备驱动程序简介
8.3.1设备分类
8.3.2设备文件和设备号
8.3.3设备文件的操作数据结构
8.3.4驱动程序的注册与注销
8.3.5设备的轮询与中断
8.3.6设备驱动程序的其他问题
8.4A/D转换驱动程序的分析
8.4.1驱动程序的结构
8.4.2S3C2410嵌入式处理器中的A/D转换器
8.4.3A/D转换器的设备注册和注销
8.4.4A/D转换驱动程序的文件访问功能实现
8.4.5驱动程序在嵌入式Linux系统中的安装和使用
8.5总结与改进
第9章功耗检测系统
9.1课程设计目的
9.2课程设计要求
9.3功耗检测系统的基本构成
9.4功耗检测的电流传感器
9.5A/D转换的软件操作
9.6功耗检测设备和控制主机之间的通信协议
9.7嵌入式检测设备的软件结构
9.8控制主机的软件结构
9.9总结与改进
第10章网络门禁系统
10.1课程设计目的
10.2课程设计要求
10.3网络门禁系统的需求分析
10.4磁条读写器原理与使用
10.4.1磁卡基本原理
10.4.2磁条读写器的原理
10.4.3磁条读写器的编程接口
10.5嵌入式门禁控制器
10.5.1主控CPU的硬件结构
10.5.2网络接口
10.5.3门禁控制器软件结构
10.6网络安全机制
10.6.1网络安全技术简介
10.6.2门禁系统中的网络安全方案
10.7数据传输通信协议设计
10.8控制主机软件结构
10.8.1控制主机软件总体结构
10.8.2在线部分软件结构
10.8.3控制主机数据库系统设计
10.9总结与改进
第11章数字相框
11.1课程设计目的
11.2课程设计要求
11.3数字相框的需求分析
11.3.1数字相框产品的主要特点和设计要求
11.3.2半导体存储卡的选择
11.3.3数字相框软硬件平台的选择
11.4数字相框的软件总体设计
11.5基于Qt的图形界面程序设计
11.5.1Qt简介和信号/槽机制
11.5.2数字相框中的对象通信机制
11.5.3浏览界面的实现方案
11.6CF卡的连接
11.6.1CF卡的基本原理
11.6.2CF卡的加载
11.7控制按钮的实现
11.8测试
11.8.1软件测试的基本原理
11.8.2数字相框的测试计划
11.9总结与改进
附录A第2章参考答案
附录BPXA255中若干寄存器的说明
附录C生产者、消费者源代码
附录D心跳检测系统源代码
附录ESJA1000的寄存器说明
附录FLinux的命令和配置内容
附录GLinux内核中常用的内部函数接口
附录H功耗检测终端源代码
参考文献
书摘插图
第1章嵌入式系统课程教学、实验与课程设计的关系
随着微电子技术、软件技术的进步,嵌入式系统成为当前电子和信息产业中发展最为迅速的技术之一。本书将以嵌入式系统设计为主线,提供丰富的分析和设计实例,全面剖析嵌入式系统中微处理器指令系统、引导程序、驱动程序的基本原理和内部结构,并通过多个设计实例介绍嵌入式系统中基本的程序设计方法和技术,以帮助学生将理论知识转化为实际嵌入式系统的设计能力。
1.1嵌入式系统课程的教学特点
当前,嵌入式系统的教学内容还没有通行的标准,但是嵌入式系统课程教学要从实战出发,从培养学生的实际工程设计能力出发,掌握嵌入式系统设计的主要方法和技能已成为共识。一般而言,嵌入式系统课程有综合性、专用性和学科交叉性三个特点。
1.综合性
嵌入式系统是一门综合性很强的课程。与传统的软件或硬件开发相比,嵌入式系统中集成了微处理器、存储器、外围电路等硬件结构,以及应用软件、操作系统、开发工具链等软件系统。这就要求在嵌入式系统课程的学习中要融会贯通计算机原理、计算机体系结构、接口技术、操作系统等多门课程知识,同时还应掌握多种程序设计方法和具备一定的编程能力。
嵌入式系统中的硬件平台往往采用单片机、32位微处理器或数字信号处理器(DSP)等可编程平台,对于这些可编程平台一般可以采用C语言等高级语言来设计程序。但是在很多情况下,例如设计操作系统中的硬件控制部分,往往需要设计者具备一定的汇编语言程序设计能力,这需要对处理器的指令系统和体系结构有比较深入的了解。
……