摘要 | 第1-5页 |
Abstract | 第5-9页 |
1 绪论 | 第9-17页 |
1.1 引言 | 第9-11页 |
1.1.1 我校参加机器人竞赛情况 | 第9-11页 |
1.2 课题研究背景 | 第11页 |
1.3 嵌入式操作系统的发展与现状 | 第11-14页 |
1.4 机器人技术的发展与现状 | 第14页 |
1.5 嵌入式操作系统在机器人控制中的应用 | 第14-15页 |
1.6 课题主要工作和特点 | 第15-17页 |
2 嵌入式Linux构造过程 | 第17-32页 |
2.1 Linux操作系统的基本组成 | 第17-19页 |
2.2 交叉编译环境的建立 | 第19-23页 |
2.2.1 Binutils的建立 | 第19-20页 |
2.2.2 内核头文件的设置 | 第20-21页 |
2.2.3 gcc的第一次编译 | 第21页 |
2.2.4 安装glibc链接库 | 第21-22页 |
2.2.5 完整编译gcc | 第22-23页 |
2.3 Linux内核的配置与编译 | 第23-25页 |
2.3.1 内核的配置 | 第23-25页 |
2.3.2 内核的编译 | 第25页 |
2.4 Linux根文件系统的建立 | 第25-28页 |
2.4.1 根文件系统目录和文件建立 | 第25-27页 |
2.4.2 BusyBox的编译与安装 | 第27-28页 |
2.4.3 TinyLogin的安装与调试 | 第28页 |
2.5 设备驱动程序的编写 | 第28-32页 |
2.5.1 设备驱动程序接口 | 第29-30页 |
2.5.2 设备驱动程序基本框架 | 第30-32页 |
3 硬件系统设计 | 第32-50页 |
3.1 硬件系统总体结构 | 第32-33页 |
3.2 嵌入式处理器选择 | 第33-38页 |
3.2.1 ARM处理器概述 | 第33-34页 |
3.2.2 ARM处理器分类 | 第34-36页 |
3.2.3 S3C2410介绍 | 第36-38页 |
3.3 存储器电路设计 | 第38-41页 |
3.3.1 SDRAM电路设计 | 第38-39页 |
3.3.2 NAND FLASH电路设计 | 第39页 |
3.3.3 NOR FLASH电路设计 | 第39-41页 |
3.4 RS232电路设计 | 第41-42页 |
3.5 CAN总线硬件部分设计 | 第42-45页 |
3.5.1 CAN总线通信控制器SJA1000 | 第42-43页 |
3.5.2 S3C2410与SJA1000的接口实现 | 第43-45页 |
3.6 电机驱动部分设计 | 第45-50页 |
3.6.1 电机驱动电路设计 | 第45-47页 |
3.6.2 光电编码电路设计 | 第47-50页 |
4 嵌入式Linux移植过程 | 第50-64页 |
4.1 Bootloader的原理与移植分析 | 第50-52页 |
4.1.1 Bootloader的概念 | 第50-51页 |
4.1.2 S3C2410硬件平台Bootloader的建立 | 第51-52页 |
4.2 嵌入式Linux启动分析 | 第52-57页 |
4.2.1 内核解压缩 | 第52-53页 |
4.2.2 head_armv.S启动部分 | 第53页 |
4.2.3 start_kernel函数初始化部分 | 第53-56页 |
4.2.4 init()函数初始化部分 | 第56-57页 |
4.2.5 系统的初始化程序 | 第57页 |
4.3 嵌入式Linux移植相关数据结构 | 第57-64页 |
4.3.1 machine_desc结构 | 第57-59页 |
4.3.2 map_desc结构 | 第59-61页 |
4.3.3 irqdesc结构 | 第61-64页 |
5 轮式机器人运动控制 | 第64-76页 |
5.1 轮式机器人分类 | 第64页 |
5.2 三轮移动机器人 | 第64-65页 |
5.3 轮式机器人的运动学原理 | 第65-71页 |
5.3.1 全局定位的坐标变换 | 第66-67页 |
5.3.2 车体方位的确定 | 第67-71页 |
5.4 运动控制 | 第71-76页 |
5.4.1 直线前进 | 第72-74页 |
5.4.2 转弯控制 | 第74-75页 |
5.4.3 其它动作控制 | 第75-76页 |
结论 | 第76-78页 |
参考文献 | 第78-80页 |
攻读硕士学位期间发表学术论文情况 | 第80-81页 |
致谢 | 第81-82页 |
大连理工大学学位论文版权使用授权书 | 第82页 |