《Cortex-M3+μC/OS-II嵌入式系统开发入门与应用》

图书作者:华清远见 丛书名称: 嵌入式开发系列 出版日期:2010年8月 PDF电子版免费下载

编辑推荐理由

推荐评分:5.0分

多年嵌入式人才培养及项目研发经验总结

数百家企业嵌入式研发岗位人才需求汇总

数十所嵌入式专业大学院校教学现状调研

侧重实践及案例分析并辅以代码加以讲解

图书简介

本书首先讲解了cortex-m3处理器的架构及realviewmdk开发平台的相关知识,然后对μc/os-ⅱ的内核移植、驱动开发、应用程序开发进行了介绍,最后综合运用所学知识介绍了一个μc/os-ⅱ的程序设计实例。
  • 本书内容由浅入深,为加深理解,列举了很多程序设计的相关实例。
  • 本书适合嵌入式初学者、嵌入式开发人员以及高校相关专业师生阅读。

图书目录

  • 第1部分
  • ※第1章 走进arm微处理器 

  • 1.1 arm体系结构的源头——arm公司 
  • 1.2 arm处理器的发展历程 
  • 1.3 arm体系结构 
  • 1.3.1 arm cortex处理器技术特点 
  • 1.3.2 arm cortex系列处理器比较 
  • 1.4 arm v7新增指令 
  • 1.4.1 位操作指令 
  • 1.4.2 比特反转指令 
  • 1.4.3 16-bit常数操作 
  • 1.4.4 调转表指令
  • 1.4.5 it指令 
  • 1.4.6 检查是否为零并跳转指令(cbz) 
  • ※第2章 cortex-m3处理器体系结构 

  • 2.1 cortex-m3综述 
  • 2.2 cortex-m3编程模式 
  • 2.2.1 cortex-m3的工作模式和工作状态 
  • 2.2.2 特权访问和用户访问
  • 2.2.3 cortex-m3的寄存器组织 
  • 2.2.4 cortex-m3的数据类型 
  • 2.2.5 cortex-m3的存储器格式 
  • 2.3 cortex-m3的存储器管理 
  • 2.3.1 存储器映射 
  • 2.3.2 bit-banding机制 
  • 2.4 cortex-m3的异常处理 
  • 2.4.1 异常优先级 
  • 2.4.2 异常处理的堆栈使用 
  • 2.4.3 cortex-m3特有的异常处理机制
  • 2.4.4 异常退出 
  • 2.4.5 复位异常 
  • 2.4.6 中止(abort)异常 
  • 2.5 cortex-m3的电源管理 
  • 2.5.1 sleeping 
  • 2.5.2 sleepdeep 
  • 2.6 嵌套向量中断控制器nvic 
  • 2.7 存储器保护单位mpu 
  • 2.8 cortex-m3开发平台——stm32v100评估板介绍
  • ※第3章 arm开发环境realview mdk平台搭建 

  • 3.1 常用arm开发工具 
  • 3.1.1 免费平台gnu 
  • 3.1.2 realview developmentsuite开发工具 
  • 3.1.3 arm硬件仿真器multi-ice与multi-trace 
  • 3.1.4 multi 2000 
  • 3.1.5 hitool for arm 
  • 3.1.6 realview mdk 
  • 3.2 realview mdk概述 
  • 3.3 realview mdk的使用 
  • 3.3.1 创建工程 
  • 3.3.2 编译、链接工程 
  • 3.3.3 程序调试 
  • 3.3.4 工程选项设置 
  • 3.4 仿真工具——ulink2 
  • 3.5 realview mdk工程实例
  • ※第4章 基于realview开发环境的嵌入式软件开发

  • 4.1 realview编译器的缺省行为 
  • 4.1.1 semihosting 
  • 4.1.2 c库结构
  • 4.1.3 默认存储器映射
  • 4.1.4 链接程序放置规则 
  • 4.1.5 应用程序启动 
  • 4.2 调整c库使其适应目标硬件 
  • 4.2.1 c库函数重定向
  • 4.2.2 从最终代码映像中去掉semihosting 
  • 4.3 映像文件存储器映射调整 
  • 4.3.1 关于分散加载 
  • 4.3.2 scatter文件语法 
  • 4.3.3 scatter文件典型用法 
  • 4.3.4 等效的简单映像分散载入描述 
  • 4.4 复位和初始化 
  • 4.4.1 初始化序列 
  • 4.4.2 向量表 
  • 4.4.3 rom/ram重映射 
  • 4.4.4 与局部存储器设置有关的考虑事项 
  • 4.4.5 栈指针初始化 
  • 4.4.6 硬件初始化 
  • ※第5章 stm32f103处理器内部资源c编程与实例 

  • 5.1 i/o控制模块c编程与实例 
  • 5.1.1 实例内容与目标 
  • 5.1.2 i/o控制模块操作原理 
  • 5.1.3 i/o控制实例操作步骤 
  • 5.1.4 i/o控制实例参考程序及说明 
  • 5.2 中断控制模块c编程与实例 
  • 5.2.1 实例内容与目标 
  • 5.2.2 中断模块nvic的操作原理 
  • 5.2.3 中断控制实例操作步骤
  • 5.2.4 中断控制实例参考程序及说明
  • 5.3 a/d转换和dma编程实例
  • 5.3.1 实例内容与目标 
  • 5.3.2 a/d转换控制器与dma控制器操作原理
  • 5.3.3 a/d转换和dma编程实例操作步骤 
  • 5.3.4 a/d转换和dma编程实例参考程序及说明 
  • 5.4 实时钟rtc编程实例 
  • 5.4.1 实例内容与目标 
  • 5.4.2 stm32f103实时钟操作原理 
  • 5.4.3 实时钟rtc编程实例操作步骤 
  • 5.4.4 实时钟rtc编程实例参考程序及说明
  • 5.5 串行外设接口spi编程实例 
  • 5.5.1 实例内容与目标 
  • 5.5.2 spi接口操作原理
  • 5.5.3 spi接口实例操作步骤 
  • 5.5.4 spi接口实例参考程序及说明
  • 5.6 can总线编程实例 
  • 5.6.1 实例内容与目标 
  • 5.6.2 can总线操作原理 
  • 5.6.3 can总线编程实例操作步骤 
  • 5.6.4 can总线实例参考程序及说明 
  • 5.7 窗口看门狗wwdg实例 
  • 5.7.1 实例内容与目标 
  • 5.7.2 wwdg操作原理 
  • 5.7.3 看门狗实例操作步骤 
  • 5.7.4 看门狗实例参考程序及说明 
  • 5.8 uart编程实例 
  • 5.8.1 实例内容与目标 
  • 5.8.2 uart编程原理 
  • 5.8.3 串口编程实例操作步骤 
  • 5.8.4 串口编程实例参考程序及说明 
  • 第2部分
  • ※第6章 μc/os-ⅱ操作系统基础及其移植开发初步 

  • 6.1 实时操作系统基本原理与技术 
  • 6.1.1 实时操作系统基本特征 
  • 6.1.2 实时操作系统的关键技术指标 
  • 6.1.3 实时操作系统基本术语 
  • 6.2 μc/os-ⅱ应用程序开发 
  • 6.2.1 μc/os-ⅱ的变量类型 
  • 6.2.2 应用程序的基本结构 
  • 6.2.3 μc/os-ⅱ api介绍 
  • 6.2.4 μc/os-ⅱ多任务实现机制 
  • 6.3 μc/os-ⅱ在stm32f103处理器上的移植 
  • 6.3.1 移植条件 
  • 6.3.2 移植步骤 
  • ※第7章 μc/os-ⅱ的内核机制 

  • 7.1 μc/os-ⅱ的内核结构 
  • 7.1.1 临界段 
  • 7.1.2 任务 
  • 7.1.3 任务状态 
  • 7.1.4 任务调度 
  • 7.1.5 中断处理 
  • 7.1.6 μc/os-ⅱ初始化 
  • 7.1.7 μc/os-ⅱ启动 
  • 7.2 μc/os-ⅱ的任务管理
  • 7.2.1 任务建立 
  • 7.2.2 任务堆栈 
  • 7.2.3 堆栈检验 
  • 7.2.4 改变任务优先级 
  • 7.2.5 挂起任务 
  • 7.2.6 恢复任务 
  • 7.2.7 删除任务 
  • 7.2.8 请求删除任务 
  • 7.3 μc/os-ⅱ的时间管理 
  • 7.3.1 任务延时 
  • 7.3.2 时/分/秒延时函数 
  • 7.3.3 恢复延时任务 
  • 7.3.4 系统时间 
  • 7.4 任务之间通信与同步
  • 7.4.1 事件控制块ecb 
  • 7.4.2 初始化任务控制块 
  • 7.4.3 使任务进入就绪态 
  • 7.4.4 使任务进入等待某事件发生状态 
  • 7.4.5 由于等待超时而将任务置为就绪态 
  • 7.4.6 信号量 
  • 7.4.7 邮箱 
  • 7.4.8 消息队列 
  • 7.5 内存管理 
  • 7.5.1 内存控制块 
  • 7.5.2 建立内存分区 
  • 7.5.3 分配内存块 
  • 7.5.4 释放内存块 
  • 7.5.5 等待内存块 
  • ※第8章 基于μc/os-ⅱ的程序设计实例 

  • 8.1 实例介绍 
  • 8.2 实例分析 
  • 8.2.1 实例任务划分 
  • 8.2.2 实例任务设计与优先级分配 
  • 8.3 任务实现详解 
  • 8.3.1 键盘任务 
  • 8.3.2 显示任务 
  • 8.3.3 使用延时函数的采样任务 
  • 8.3.4 使用时钟节拍钩子函数的采样任务 
  • 8.3.5 使用定时中断的采样任务 
  • 8.3.6 使用高优先级中断的采样任务 
  • 8.3.7 串口发送任务
  • 参考文献