摘要 | 第1-5页 |
ABSTRACT | 第5-9页 |
1 绪论 | 第9-12页 |
1.1 发展现状 | 第9页 |
1.2 关键技术 | 第9-11页 |
1.2.1 微内核结构 | 第9-10页 |
1.2.2 任务调度 | 第10页 |
1.2.3 内存管理 | 第10-11页 |
1.3 本文章节安排 | 第11-12页 |
2 嵌入式系统的总体设计 | 第12-24页 |
2.1 系统硬件设计 | 第12-20页 |
2.1.1 INTEL STRONGARM 简介 | 第12-14页 |
2.1.2 PUPPY 系统的硬件结构 | 第14-15页 |
2.1.3 PUPPY 系统的外设接口 | 第15-18页 |
2.1.4 PUPPY 的内存映像 | 第18-20页 |
2.2 系统软件设计 | 第20-22页 |
2.2.1 系统软件的体系结构 | 第20-21页 |
2.2.2 系统软件的功能概述 | 第21页 |
2.2.3 系统软件的执行流程 | 第21-22页 |
2.3 本章小节 | 第22-24页 |
3 系统启动 | 第24-38页 |
3.1 虚拟内存空间的划分 | 第24-26页 |
3.2 BOOTLOADER 启动的第一阶段 | 第26-28页 |
3.2.1 硬件初始化 | 第26-27页 |
3.2.2 设置堆栈 | 第27-28页 |
3.3 bootloader 启动的第二阶段 | 第28-31页 |
3.3.1 载入内核 | 第28-29页 |
3.3.2 调用内核 | 第29-31页 |
3.4 内核启动的第一阶段 | 第31-33页 |
3.4.1 检查体系结构 | 第31页 |
3.4.2 创建临时页表 | 第31-33页 |
3.5 内核启动的第二阶段 | 第33-36页 |
3.5.1 获取系统信息 | 第33页 |
3.5.2 建立系统框架 | 第33-36页 |
3.6 BOOTLOADER 和内核启动的调试经验 | 第36页 |
3.6.1 关于串口终端的乱码问题 | 第36页 |
3.6.2 关于内核无法找到体系结构的问题 | 第36页 |
3.7 本章小节 | 第36-38页 |
4 内核对设备驱动的支持 | 第38-44页 |
4.1 内核与设备驱动 | 第38-39页 |
4.2 设备驱动程序接口 | 第39-41页 |
4.3 设备驱动程序模块 | 第41页 |
4.4 设备驱动程序结构 | 第41-43页 |
4.5 本章小节 | 第43-44页 |
5 LCD 的设计与实现 | 第44-51页 |
5.1 LCD 的显示原理 | 第44-46页 |
5.1.1 有源LCD 和无源LCD | 第44页 |
5.1.2 RGB565 和RGB666 | 第44-45页 |
5.1.3 LCD 专用DMA 与帧缓冲区 | 第45-46页 |
5.2 LCD 的软件实现 | 第46-49页 |
5.2.1 LCD 的初始化 | 第46-49页 |
5.2.2 LCD 的数据写入 | 第49页 |
5.3 本章小节 | 第49-51页 |
6 触摸屏的设计与实现 | 第51-61页 |
6.1 触摸屏的原理 | 第51-53页 |
6.1.1 触摸屏的种类 | 第51页 |
6.1.2 触摸屏的工作原理 | 第51-52页 |
6.1.3 UCB1300 和MCP | 第52-53页 |
6.2 触摸屏的软件实现 | 第53-60页 |
6.2.1 触摸屏的初始化 | 第53-55页 |
6.2.2 打开触摸屏 | 第55-56页 |
6.2.3 读取触摸屏数据 | 第56页 |
6.2.4 触摸屏中断 | 第56-58页 |
6.2.5 10ms 定时器中断 | 第58-59页 |
6.2.6 读进程被唤醒 | 第59-60页 |
6.3 本章小节 | 第60-61页 |
7 结果与讨论 | 第61-65页 |
7.1 实验结果 | 第61页 |
7.2 存在的问题 | 第61-62页 |
7.3 对今后工作的建议 | 第62-65页 |
7.3.1 使用仿真开发平台SkyEye | 第62页 |
7.3.2 选用Intel Xscale 提高性能 | 第62-63页 |
7.3.3 采用RT-Linux 改善实时性 | 第63-65页 |
参考文献 | 第65-67页 |
致谢 | 第67-68页 |
附录1 攻读硕士学位期间发表论文目录 | 第68页 |