嵌入式系统开发原理与实验

出版时间:2011-1  出版社:王志军、赵建业、段晓辉、 杨延军 北京大学出版社 (2011-01出版)  作者:杨延军 编  页数:362  

内容概要

  《嵌入式系统开发原理与实验》是北京大学电子信息科学基础实验中心《电子信息科学基础实验课程丛书》之一,在北京大学电子信息科学基础实验课程体系中属于研究创新层次。全书共分为八章,每章都包括背景知识介绍和实验两个部分,内容涉及从底层的汇编语言设计到高层的图形界面程序设计,基本涵盖了嵌入式LinllX软件开发的主要方面。  《嵌入式系统开发原理与实验》以GNU/Linux操作系统作为实验平台,嵌入式开发板采用最流行的ARM处理器,对于没有开发板的读者还可以使用附录中介绍的QEMU完成《嵌入式系统开发原理与实验》的大部分实验内容。《嵌入式系统开发原理与实验》可以作为高等院校电子信息类本科生嵌入式相关课程的教材,也可以作为教师和工程技术人员的参考书。

书籍目录

第一章 嵌入式系统概述1.1 嵌入式系统的定义1.2 嵌入式处理器简介1.2.1 MIPS1.2.2 PowerPC1.2.3 ARM1.2.4 DSP系列1.2.5 SoPC1.3 嵌入式操作系统简介1.3.1 WindowsCE1.3.2 VxWorks1.3.3 uC/OS1.3.4 Linux1.4 本书所使用的软硬件环境1.4.1 实验环境1.4.2 下载文件内容1.5 实验:安装Linux操作系统第二章 Linux作为开发平台2.1 Linux操作系统入门2.1.1 文件操作命令2.1.2 man命令2.1.3 vi命令2.1.4 bash相关命令与技巧2.1.5 进程和作业管理2.1.6 系统管理类命令2.1.7 其他命令2.2 GCC及GNU工具简介2.2.1 gce用法简介2.2.2 binutils简介2.2.3 GNU工具应用示例2.3 Makefile简介2.3.1 Makefile基本语法2.3.2 Makefile中变量的用法2.3.3 Makefile中的函数2.4 交叉编译原理2.4.1 交叉工具链的生成2.4.2 自动生成工具链2.5 boot loader简介2.5.1 RedBoot简介2.5.2 U-Boot简介2.6 实验:开发环境建立第三章 ARM体系结构与指令系统3.1 ARM处理器概述3.2 ARM指令集结构3.2.1 指令集设计3.2.2 RISC体系结构3.2.3 ARM指令集结构3.3 ARM流水线组织3.3.1 流水线技术3.3.2 ARM架构的流水线设计3.4 ARM存储器结构3.4.1 存储器层次3.4.2 Cache3.4.3 存储器管理3.5 ARM寄存器组织3.5.1 ARM处理器模式3.5.2 ARM状态下的寄存器3.5.3 Thumb状态下的寄存器3.5.4 协处理器寄存器3.6 ARM I/O结构3.6.1 AMBA总线3.6.2 存储器和存储器映像I/O3.6.3 中断和直接存储器存取3.7 ARM体系结构版本及命名方法3.7.1 ARM体系结构版本3.7.2 ARM体系的变种3.7.3 ARM/Thumb体系结构版本的命名格式3.8 ARM处理器核3.8.1 ARM7系列3.8.2 ARM9系列3.8.3 ARM10系列3.8.4 Intel XScale3.9 ARM指令系统3.9.1 ARM指令概述3.9.2 ARM数据处理指令3.9.3 ARM Load/Store存储器访问指令3.9.4 ARM转移指令3.9.5 ARM协处理器指令3.9.6 ARM信号处理指令3.9.7 ARM异常及中断指令3.9.8 Thumb指令简介3.10 ARM汇编语言程序设计3.10.1 ARM汇编中的语句格式3.10.2 ARM汇编中的指示符3.10.3 ARM汇编中的伪指令3.10.4 ARM汇编语言程序格式3.11 实验:ARM汇编语言程序设计第四章 处理器与开发板4.1 AT91SAM9261芯片概述4.2 处理器内存布局4.3 AT91SAM9261内部启动逻辑4.4 AT91SAM9261的集成外设4.4.1 时钟发生器4.4.2 高级中断控制器4.4.3 通用IO管脚4.4.4 通用串行口4.4.5 SPI总线4.4.6 I2C总线4.5 嵌入式开发板4.5.1 可编程模块4.5.2 触摸屏控制器4.5.3 TFT LCD接口4.6 实验:控制片上外设第五章 嵌入式Linux基本原理5.1 操作系统概述5.1.1 操作系统的分类5.1.2 嵌入式操作系统的特点5.1.3 操作系统的基本概念5.1.4 嵌入式操作系统的其他关注点5.2 操作系统基本功能模块5.2.1 内存管理5.2.2 进程管理5.2.3 设备管理5.3 编译Linux内核5.3.1 Linux内核代码结构5.3.2 内核编译步骤5.3.3 Linux内核启动流程5.4 Linux文件组织结构简介5.4.1 Linux文件目录5.4.2 Linux文件系统的建立5.5 实验:构造嵌人式Linux环境第六章 Linux环境程序设计6.1 shell脚本编程6.1.1 脚本编程简介6.1.2 shell脚本介绍6.2 Linux环境程序基础6.2.1 文件处理6.2.2 进程相关6.2.3 信号6.3 LinHX下的串口编程6.4 Linux下的网络编程6.4.1 网络通信基本原理6.4.2 SOCket编程与相关数据结构6.4.3 TCP网络通信程序的流程6.4.4 同时操作多个文件描述符6.4.5 UDP编程6.5 程序调试原理6.5.1 程序的加载和运行6.5.2 设置程序的断点和单步调试6.5.3 其他常用的命令6.5.4 远程调试6.6 软件版本控制6.6.1 Git简介6.6.2 Git分支6.7 实验:Linux平台C编程第七章 Linux模块化驱动程序原理7.1 Linux驱动编写基础7.1.1 最简单的Linux驱动示例7.1.2 printk函数简介7.2 内核的编译系统7.2.1 内核的Makefile7.2.2 Kconfig文件7.3 字符设备驱动的编写7.3.1 字符设备的注册与注销7.3.2 重要的数据结构7.3.3 内核数据和用户数据的交换7.3.4 ioctl接口7.3.5 内存资源的访问7.3.6 互斥与信号量7.3.7 阻塞I/O的处理7.3.8 硬件中断的处理7.3.9 计时与延时7.3.10 其他一些常用技术7.3.11 关键的内核头文件7.4 Linux设备驱动模型7.5 实验:Linux驱动程序设计第八章 嵌入式Linux图形编程8.1 常见的图形编程工具8.2 Qt编程入门8.2.1 信号与槽8.Z.Z Qt版本的Hello World8.2.3 QWidget简介8.2.4 使用Qt的图形部件8.2.5 自定义Widget8.2.6 qmake的更多用法8.3 Qt编程的可视化辅助设计工具8.3.1 Qt Designer简介8.3.2 ui文件的使用方法8.4 完全面向Qt编程8.4.1 简单数据类型8.4.2 文件输入/输出8.4.3 网络编程8.5 发布Qt程序8.5.1 Qt程序的国际化8.5.2 将数据嵌入程序8.6 Qt的嵌入式应用8.6.1 交叉编译Qt8.6.2 配置嵌入式Qt环境8.7 实验:嵌入式图形程序设计附录A 使用QEMU完成实验A.1 QEMU简介A.2 flash操作的仿真A.3 使用网络文件系统A.4 使用QEMU的虚拟硬件附录B 使用OpenErobedded构建文件系统B.1 OpenErobedded简介B.2 配置和使用OpenErobedded参考文献

章节摘录

版权页:插图:嵌入式Linux的文件系统经常由BusyBox构建,它被非常形象地称为嵌入式Linux系统中的“瑞士军刀”,因为它将许多常用的UNIX命令和工具结合到了一个单独的可执行程序中。虽然与相应的GNU工具比较起来,BusyBox所提供的功能和参数略少,但在比较小的系统(例如启动盘)或者嵌入式系统中,已经足够了。BusyBox在设计上就充分考虑了硬件资源受限的特殊工作环境,它采用一种很巧妙的办法减少自己的体积:所有的命令都通过“插件”的方式集中到一个可执行文件中,在实际应用过程中通过不同的符号链接来确定到底要执行哪个操作。例如最终生成的可执行文件为BusyBox,当我们为它建立一个符号链接ls的时候,就可以通过执行这个新命令实现列目录的功能。采用单一执行文件的方式最大限度地共享了程序代码,甚至连文件头、内存中的程序控制块等其他操作系统资源都共享了,对于资源比较紧张的系统来说,真是最合适不过了。在BLlsyBox的编译过程中,可以非常方便地加减它的“插件”,最后的符号链接也可以由编译系统自动生成,下面我们就来一步步的用BusyBox从无到有的建立一个全新的Linux文件系统。

编辑推荐

《嵌入式系统开发原理与实验》:电子信息科学基础实验课程丛书

图书封面

评论、评分、阅读与下载


    嵌入式系统开发原理与实验 PDF格式下载


用户评论 (总计1条)

 
 

  •   和老师的内容很吻合,但总感觉价格太贵!
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7