顶部
收藏

嵌入式软件基础——C语言与汇编的融合(翻译版)


作者:
陈宗斌
定价:
29.00元
ISBN:
978-7-04-016105-2
版面字数:
340.000千字
开本:
16开
全书页数:
235页
装帧形式:
平装
重点项目:
出版时间:
2005-05-10
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机科学与技术专业课程

暂无
  • 序言
  • 第1章 导论
    • 1.1 什么是嵌入式系统
    • 1.2 嵌入式软件设计目标有何独特之处
    • 1.3 “实时”意味着什么
    • 1.4 “多任务”意味着什么
    • 1.5 嵌入式处理器的功能有多强
    • 1.6 使用哪些编程语言
    • 1.7 什么是“实时内核”
    • 1.8 如何构建独特的嵌入式应用程序
    • 1.9 典型的嵌入式程序有多大
    • 1.10 本书中使用的软件
    • 习题
  • 第2章 数据表示
    • 2.1 固定精度的二进制数字
      • 2.1.1 按位记数制
      • 2.1.2 二进制-十进制转换
      • 2.1.3 十进制-二进制转换
      • 2.1.4 计数
      • 2.1.5 固定精度和翻转
      • 2.1.6 十六进制表示
    • 2.2 整数的二进制表示
      • 2.2.1 带符号整数
      • 2.2.2 同一个值的正的表示和负的表示
      • 2.2.3 解释2的补码数的值
      • 2.2.4 关于范围和溢出的进一步说明
      • 2.2.5 2的补码和硬件复杂性
    • 2.3 实数的二进制表示
      • 2.3.1 定点表示
      • 2.3.2 使用通用的16.16格式的定点表示
      • 2.3.3 使用通用的32.32格式的定点表示
      • 2.3.4 浮点表示
    • 2.4 文本的ASCII表示
    • 2.5 二进制编码的十进制表示
    • 习题
  • 第3章 充分利用C语言
    • 3.1 整型数据类型
    • 3.2 混合数据类型
    • 3.3 有用的typedef和define
    • 3.4 操纵内存中的位
      • 3.4.1 测试位
      • 3.4.2 设置、清除和反转位
      • 3.4.3 提取位
      • 3.4.4 插入位
    • 3.5 操纵I/O端口中的位
      • 3.5.1 只写I/O端口
      • 3.5.2 通过读/写区分的端口
      • 3.5.3 通过顺序访问区分的端口
      • 3.5.4 通过写入数据中的位区分的端口
    • 3.6 访问内存映射的I/O设备
      • 3.6.1 通过指针访问数据
      • 3.6.2 数组、指针和“取地址”运算符
    • 3.7 结构
      • 3.7.1 打包的结构
      • 3.7.2 位域
    • 3.8 变型访问
      • 3.8.1 强制转换对象的地址
      • 3.8.2 使用共用体
    • 习题
  • 第4章 程序员眼中的计算机结构
    • 4.1 内存
    • 4.2 中央处理器
      • 4.2.1 运算器
      • 4.2.2 其他寄存器
      • 4.2.3 控制器
    • 4.3 输入/输出
    • 4.4 Intel架构介绍
      • 4.4.1 指令格式
      • 4.4.2 指令操作数
      • 4.4.3 操作数限制
      • 4.4.4 寄存器
      • 4.4.5 栈
    • 4.5 Intel实模式架构
      • 4.5.1 分段寻址
      • 4.5.2 寻址模式
    • 4.6 Intel保护模式架构
      • 4.6.1 段寄存器和全局描述符表
      • 4.6.2 平坦内存模型
      • 4.6.3 寻址模式
    • 4.7 操作数与地址长度覆盖前缀
    • 4.8 Intel数据操纵指令
      • 4.8.1 数据移动、栈和I/O指令
      • 4.8.2 算术指令
      • 4.8.3 按位指令
      • 4.8.4 移位指令
    • 习题
  • 第5章 C语言与汇编语言的融合
    • 5.1 用汇编语言编程
    • 5.2 寄存器使用约定
    • 5.3 寻址选项的典型应用
      • 5.3.1 访问地址为常量的数据
      • 5.3.2 访问地址为变量的数据
    • 5.4 指令序列
      • 5.4.1 复合条件
      • 5.4.2 If-Then-Else语句
      • 5.4.3 建立循环
      • 5.4.4 带字符串指令的更快的循环
    • 5.5 过程调用和返回
    • 5.6 参数传递
    • 5.7 获取参数
    • 5.8 一切都是按值传递
    • 5.9 临时变量
    • 习题
  • 第6章 输入/输出编程
    • 6.1 IntelI/O指令
    • 6.2 同步、传送速率和等待时间
    • 6.3 轮询的等待循环
    • 6.4 中断驱动的I/O
      • 6.4.1 硬件响应
      • 6.4.2 中断服务例程
      • 6.4.3 可编程中断控制器
      • 6.4.4 缓冲区与队列
      • 6.4.5 用汇编语言编写中断服务例程
      • 6.4.6 用C语言编写中断服务例程
      • 6.4.7 不可屏蔽的中断
      • 6.4.8 软件中断
      • 6.4.9 异常
    • 6.5 直接存储器存取
      • 6.5.1 双缓冲
    • 6.6 几种方法的比较
    • 习题
  • 第7章 并发软件
    • 7.1 前台/后台系统
      • 7.1.1 线程状态和串行化
      • 7.1.2 管理等待时间
      • 7.1.3 防止中断越界
      • 7.1.4 将工作转移到后台
    • 7.2 多线程编程
      • 7.2.1 独立线程的并发执行
      • 7.2.2 环境切换
      • 7.2.3 非抢先式(协作式)多任务处理
      • 7.2.4 抢先式多任务
    • 7.3 共享资源和临界区
      • 7.3.1 禁用中断
      • 7.3.2 禁用任务切换
      • 7.3.3 自旋锁
      • 7.3.4 互斥对象
      • 7.3.5 信号量
    • 习题
  • 第8章 调度
    • 8.1 线程状态
    • 8.2 挂起线程
    • 8.3 环境切换
    • 8.4 循环调度
    • 8.5 基于优先级的调度
      • 8.5.1 优先级倒置
      • 8.5.2 优先级继承协议
      • 8.5.3 优先级最高限度协议
    • 8.6 分配优先级
      • 8.6.1 截止期限驱动的调度
      • 8.6.2 速率单调调度
    • 8.7 死锁
    • 8.8 监视计时器
    • 习题
  • 第9章 内存管理
    • 9.1 C语言中的对象
    • 9.2 作用域
      • 9.2.1 进一步认识局部作用域
      • 9.2.2 进一步认识全局作用域
    • 9.3 生存期
    • 9.4 自动分配
      • 9.4.1 存储类“寄存器”
    • 9.5 静态分配
    • 9.6 用于区分静态与自动的3个程序
      • 9.6.1 对象创建
      • 9.6.2 对象初始化
      • 9.6.3 对象析构
    • 9.7 动态分配
      • 9.7.1 内存碎片
      • 9.7.2 内存分配池
    • 9.8 可变大小的自动分配
      • 9.8.1 可变大小的数组
    • 9.9 递归函数与内存分配
    • 习题
  • 第10章 共享内存
    • 10.1 识别共享对象
      • 10.1.1 共享全局数据
      • 10.1.2 共享私有数据
      • 10.1.3 共享函数
    • 10.2 可重入函数
    • 10.3 只读数据
      • 10.3.1 类型限定符const
    • 10.4 应避免的编码习惯
      • 10.4.1 在局部静态对象中保持内部状态的函数
      • 10.4.2 返回局部静态对象地址的函数
    • 10.5 访问共享内存
      • 10.5.1 处理器字长的影响
      • 10.5.2 只读和只写访问
      • 10.5.3 类型限定符volatile
    • 习题
  • 第11章 系统初始化
    • 11.1 内存布局
    • 11.2 CPU
      • 11.2.1 建立平坦内存模型
      • 11.2.2 切换到保护模式
    • 11.3 C运行时环境
      • 11.3.1 从ROM复制到RAM中
      • 11.3.2 将未初始化数据置
      • 11.3.3 建立堆
    • 11.4 系统计时器
      • 11.4.1 计时器0:计时器滴答信号
      • 11.4.2 计时器1:内存刷新
      • 11.4.3 计时器2:扬声器频率
    • 11.5 中断系统
      • 11.5.1 初始化IDT
      • 11.5.2 初始化8259PIC
      • 11.5.3 安装新的中断服务例程
  • 附录A 配书光盘上的内容
  • 附录B DJGPPC/C编译器
  • 附录C NASM汇编器
  • 附录D 编程项目
  • 附录E libepc库
  • 附录F 引导加载程序
  • 附录G 词汇表

相关图书