陈是知
第1章 嵌入式系统概述
1.1嵌入式系统的历史
1.2嵌入式系统的定义2
1.3嵌入式系统的特点3
1.4什么是嵌入式处理器4
第2章认识μC/OS-II6
2.1范例A——演示多任务处理能力6
2.1.1声明任务堆栈7
2.1.2声明随机信号量
2.1.3声明任务及功能函数原型
2.1.4main()
2.1.5TaskStart()任务
2.1.6Task()任务
2.2范例——演示堆栈检查功能
2.2.1定义任务堆栈大小、任务ID和优先级
2.2.2声明任务堆栈
2.2.3声明消息邮箱
2.2.4声明任务及功能函数原型
2.2.5main()
2.2.6TaskStart()任务
2.2.7Task 1()任务
2.2.8Task 2()任务
2.2.9Task 3()任务
2.2.10Task 4()任务
2.2.11Task 5()任务
2.2.12TaskClk()任务
第3章μC/OS-II内核分析与系统功能
3.1μC/OS-II内核结构
3.1.1宏OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()
3.1.2任务及其状态
3.1.3任务控制块OS_TCB
3.1.4就绪表
3.1.5任务调度
3.1.6调度器上锁、开锁
3.1.7空闲任务
3.1.8统计任务
3.1.9μC/OS-II中的中断
3.1.10时钟节拍
3.1.11μC/OS-II初始化
3.1.12μC/OS-II的启动
3.2μC/OS-II系统功能
3.2.1通过OSTaskCreate()、OSTaskCreateExt()建立任务
3.2.2通过OSTaskDel()删除任务
3.2.3通过OSTaskDelReq()请求删除任务
3.2.4通过OSTaskChangePrio() 改变任务的优先级
3.2.5通过OSTaskSuspend()挂起任务
3.2.6通过OSTaskResume()恢复任务
3.2.7通过OSTimeDly()、OSTimeDlyHMSM()将任务延时
3.2.8通过OSSemCreate()建立信号量
3.2.9通过OSSemPend()等待一个信号量
3.2.10通过OSSemPost()发送信号量
3.2.11通过OSMboxCreate() 建立邮箱
3.2.12通过OSMboxPend()等待邮箱中的消息
3.2.13通过OSMboxPost()向邮箱中发送消息
3.2.14通过OSQCreate()建立消息队列
3.2.15通过OSQPend()等待消息队列中的消息
3.2.16通过OSQPost()向消息队列发送消息(FIFO)
第4章Keil Cx51基础知识
4.1Cx51程序设计基础
4.1.1标识符与关键字
4.1.2基本语法
4.1.3基本语句
4.2函数
4.2.1函数定义
4.2.2函数的调用
4.2.3函数的递归调用与再入函数
4.2.4函数变量的存储方式
4.2.5数据存放的字节顺序
4.3数组与指针
4.3.1数组的定义与引用
4.3.2字符数组
4.3.3指针
4.3.4数组的指针
4.3.5函数型指针
4.3.6指针数组
4.3.7指针型指针
4.3.8抽象型指针
4.4Cx51编译器对ANSI标准C的扩展
4.4.1Cx51编译器简介
4.4.2存储区域
4.4.3明确声明存储类型
4.4.4特殊功能寄存器(SFR)
4.4.5指针
4.4.6指针转化
4.4.7函数声明
4.4.8模拟堆栈
4.4.9编译器限制
4.5高级编程技术
4.5.1用户配置文件
4.5.2与汇编语言程序的接口
4.5.3与ANSI C的差异
4.6预处理器
4.6.1命令
4.6.2字符化操作符
4.6.3字符化连接操作符
4.7Ax51宏汇编器
4.7.1汇编伪指令
4.7.2宏处理器
第5章
μC/OS-II移植基础知识
5.1INCLUDES.H
5.2OS_CPU.H
5.2.1与编译器相关的数据类型
5.2.2OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()
5.2.3OS_STK_GROWTH
5.2.4OS_TASK_SW()
5.3OS_CPU_C.C
5.3.1OSTaskStkInit()
5.3.2Hook类函数
5.4OS_CPU_A.ASM
5.4.1OSStartHighRdy()
5.4.2OSCtxSw()
5.4.3OSTickISR()
5.4.4OSIntCtxSw()
5.5测试移植代码
5.5.1测试是存在编译错误
5.5.2测试OSTaskStkInit()与OSStartHighRdy()
5.5.3测试OSCtxSw()
5.5.4测试OSIntCtxSw()和OSTickISR()
第6章μC/OS-II在MCS-51上的移植
6.1建立工程
6.2OS_CPU.H
6.3OS_CPU_C.C
6.4OS_CPU_A.ASM
6.4.1定义压栈出栈宏
6.4.2OSStartHighRdy()
6.4.3OSCtxSw()
6.4.4OSTickISR()
6.4.5OSIntCtxSw()
6.4.6优化
6.5定时器初值设置
6.6编写测试程序
6.7移植过程遇到的问题及解决
第7章驱动程序开发
7.1串行口
7.1.1串行通信基础知识
7.1.2收发数据
7.1.3基于μC/OS-II的串口驱动
7.1.4高速串口驱动
7.2以太网驱动
7.2.1RTL8019AS基础知识
7.2.2部分源程序清单
7.3I2C总线
7.3.1I2C总线基础知识
7.3.2模拟I2C总线驱动程序
7.3.3I2C接口EEPROM读写程序
第8章简单通信协议
命令/响应包协议
8.1.1通信格式
8.1.2通信命令集
8.1.3软件通信协议
8.1.4驻留在加密器程序中的固定信息
8.2程序设计
8.2.1程序设计的基本思路
8.2.2接收任务
8.2.3加/解密任务
8.2.4发送任务
第9章μC/OS-II在DSP上的移植
9.1μC/OS-II在TMS320F2812上的移植
9.1.1OS_CPU.H
9.1.2OS_CPU_C.C
9.1.3OS_CPU_A.ASM
参考文献