[课程描述]
    Linux具有开放、稳定和驱动资源丰富等特点,通过多年的发展,Linux核心中对ARM的支持已逐步形成了完备的移植层结构,所以也就成为众多Soc芯片设计商和板级开发商首选进行移植的操作系统。但对于移植者来说,移植系统涉及到中断、定时器、内存管理等多方面知识的实际运用,另外,对很多问题的出现难以快速定位,更得不到正确有效的解决。
    本课程通过理论课与实验课相结合的方式,力求解决开发者在移植过程中容易出现的问题,使开发者能够正确快速的完成Linux内核的移植。
[培养对象]
  对Linux核心及嵌入式系统开发有一定经验和兴趣的电子、通信、计算机、自动化等相关专业专科生、本科生及研究生。需要进行Linux的板级移植和平台级移植和相关专业的技术工程师,开发人员。
[基础要求]
  基本掌握C语言编程,了解ARM汇编
  具有数字电路、模拟电路的基础
  Linux核心编译和驱动编写基础
  Linux使用和应用程序编写基础
[推荐教材]
  《亚嵌嵌入式Linux移植开发实验班讲义》
[教学环境]
  ARM6410 (人手一块)
 
[教师简介]
    秦老师,硕士,国内著名公司操作系统部部门经理,作为主要负责人负责公司自主知识产权的操作系统和Linux 3G手机产品核心驱动的开发研究工作。具有多年的嵌入式系统开发经验,丰富的操作系统核心和驱动开发经验。
[开课情况]
  开课时间:2012年2月25日 18学时;
  上课地点:亚嵌教育中科院校区
  学    费:2800元(优惠)
            为保证教学质量,本班为小班授课,15人为满,报满15人即停止报名或顺延下一期,如您决定上课请
  及时填写报名表并办理报名手续。(报名时需携带本人身份证复印件1张及本人一寸照片3张)
   课程安排 课程内容
第一天上午
理论课
3学时
嵌入式系统移植
   1. 嵌入式系统移植基本概念
   2. Bootloader移植
   3. 操作系统移植
   4. 应用程序移植
Bootloader移植
   1. U-boot简介和架构分析
   2. U-boot代码要点分析
   3. 实现自己的bootloader
第一天下午
理论课
3学时
Arm Linux核心移植架构分析
   1. Linux的中断结构
   2. Linux的定时器
   3. Linux的设备地址映射
   4. Linux基本I/O(serial或显示)
   5. Linux的初试化
Linux核心的初试化代码分析(ARM平台)
   1. 汇编中初始化,核心初始化pgd,虚拟空间的切换
   2. 内存和硬件的初始化
   3. 中断和定时器的初始化
   4. 设备驱动的初始化
   5. 根文件系统的挂载
   6. init进程的启动
第二天上午
理论课
3学时

Linux核心的编译和链接结构分析
   1. Linux核心的makefile和Kconfig结构分析
   2. Linux核心的链接脚本分析
Linux核心的平台相关层代码分析
   1. ARM平台相关层代码结构(arm)
   2. S3C2410的平台相关层代码结构(plat-S3C24xx)
   3. S3C2410板级相关层代码结构(mach-S3C2410)
Linux核心移植
   1. 和板级移植相关的代码和数据结构
   2. 和平台级移植相关的代码和数据结构

第二天下午
实验课
3学时

第一部分实验
   实验一:构建、编译和装载自己的bootloader
   实验二:x-modem功能的实现
   实验三:启动Linux代码的实现

第三天上午
实验课
3学时

第二部分实验
   实验一:编译和配置Linux核心(S3C2410平台)
   实验二:修改Linux的启动logo
   实验三:在Bootloader实验的基础上修改核心启动参数
   实验四:实现ramdisk的挂载
   实验五:实现一个简单的init进程

第三天下午
实验课
3学时

第三部分实验
   实验一:S3C2410板级移植实验
   实验二:S3C2410平台级移植实验