课程安排 |
课程内容 |
第一天上午
(理论课 3学时) |
内核调试工具
1. Skyeye的使用
2. Skyeye的源代码分析
3. 基于Skyeye开发针对特定开发板的模拟器 |
第一天下午
(理论课 3学时) |
Bootloader移植
1. LPC2294的体系架构分析
2. U-BOOT(或blob)的简介和架构分析
3. U-BOOT(或blob)简介
4. U-BOOT(或blob)架构分析
5. U-BOOT(或blob)移植 |
第二天上午
(理论课 3学时) |
uClinux移植 (主要针对于linux 2.6.10内核移植)
1. 术语和uClinux源代码的基本常识
2. 启动代码的汇编程序部分
3. setup_arch(内核初始化)
4. PARSE_OPTIONS(uClinux命令行参数的解析)
5. trap_init(中断底层初始化,中断向量到do_IRQ)
6. init_irq(中断高层初始化,do_IRQ到中断服务程序)
7. time_init(时钟中断)
8. 串口驱动
9. 其它杂项(各种剩余的修改文件)
10. uClinux的配置(Makefile, config.in, .config) |
第二天下午
(理论课 3学时) |
linux 2.6移植代码分析
1. linux2.6底层代码分析, 主要针对于上午课程几大部分的代码分析。参照内
核源代码,以便后续的移植工作 |
第三天上午
(理论课 3学时) |
linux 2.6驱动代码分析
1. linux 2.6驱动,以及串口和时钟、网络驱动分析
2. linux2.4的底层代码分析 & linux2.4的操作系统移植 |
第三天下午
(实验课 3学时) |
ARM7开发板嵌入式应用编程实验
简单的裸机应用程序编程
1. HelloWorld实验
2. 中断按钮实验
3. 定时器实验
4. 串口通讯实验 |
第四天上午
(实验课 3学时) |
移植U-BOOT
使U-BOOT可以在LPC22xx开发板上运行
1. U-BOOT启动代码移植
2. U-BOOT串口驱动移植
3. U-BOOT flash驱动移植
4. 增加一个U-BOOT命令选项
5. 运行调试U-BOOT |
第四天下午
(实验课 3学时) |
开发针对目标板的Skyeye模拟器,
并在Skyeye上运行U-BOOT
1. 在Skyeye中增加LPC22xx的硬件初始化函数
2. 在Skyeye中增加LPC22xx中断处理
3. 在Skyeye中增加LPC22xx串口处理
4. 在Skyeye中增加LPC22xx时钟处理
5. 写skyeye.conf硬件配置文件
6. 加载U-BOOT到Skyeye系统中 |
第五天上午
(实验课 3学时) |
uClinux 2.6.10移植到LPC22xx开发板
1. 移植LPC22xx启动代码
2. 移植LPC22xx中断部分
3. 移植LPC22xx串口驱动
4. 移植LPC22xx时钟驱动
5. 配置LPC22xx系统 |
第五天下午
(实验课 3学时) |
uCLinux 2.4.x的移植到LPC22xx开发板
1. 移植LPC22xx启动代码
2. 移植LPC22xx中断部分
3. 移植LPC22xx串口驱动
4. 移植LPC22xx时钟驱动
5. 配置LPC22xx系统 |