教育中心 > 短期强化培训 > 嵌入式Linux移植实验班
 
  课程描述
    将uClinux移植到没有支持过uClinux的CPU上。
  质量保证

     ·所有课程内容均可免费重听,直到学员完全掌握为止。
     ·凡是亚嵌学员,在以后工作中遇到课程相关问题,可得到免费技术支持。
     ·雄厚的师资力量、经典的课程体系、丰富的教学经验确保教学质量。
     ·成绩优秀的学员可免费到亚嵌合作单位实习、就业。

  培养对象
   嵌入式linux系统高级开发人员,系统移植工程师,希望了解linux内核源代码的学员。
  行业需求

   工业控制,军工企事业,电信/网络/通讯,航空航天,汽车电子行业,医疗仪器,仪器仪表与电子。

  基础要求
   对linux内核有一定了解,熟练掌握C语言编程。了解ARM体系结构和基础ARM汇编语言。
  课程教材
  《AKAE 移植班讲义》
  推荐教材
   (1)《源码开放的嵌入式系统软件分析与实践》、(2)《MiniGUI 学习版》
  实验器材
Philips LPC系列开发板

  教师简介

    李明:清华大学硕士,AKA 嵌入式小组核心成员,嵌入式软件仿真开源(SkyEye)项目核心成员,清华大学信息技术国家实验室系统工程师, 组织并参与清华大学多项智能嵌入式平台的研发,多年的技术普及及教学经历。   

  开课情况
  
开课时间: 5天 (30学时)
             (脱产班)
             (周末班)

上课地点:
            中科院校区
学    费:
            (公司)4800元;(个人)4200元;(学生)3600元
            团体报名优惠:两人报名9折,三人以上报名8折,
            
为保证教学质量,本班为小班授课,15人为满,
            报满15人即停止报名或顺延下一期,如您决定上课请及时填写报名表并办理报名手续。
 (报名时需携带本人身份证复印件1张及本人一寸照片3张)
  教学大纲

课程安排

课程内容

第一天上午
(理论课 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系统