课程目的

在OK6410开发板(基于三星S3C6410处理器)上开发一款简易的bootloader,使其能够完成基本的硬件启动并装载linux内核。开发流程参考uboot实现,功能经过适当简化。

学习内容

  1. linux搭建ARM裸机开发环境
  2. ARM架构与指令集
  3. ARM启动流程分析
  4. uboot启动流程分析
  5. ARM系统初始化
  6. ARM外围设备控制
  7. linux内核引导

除以上各部分内容外,还包括Makefile工程管理,UML建模,工程调试等。

课程规划与学习方法

为什么要学习裸机程序

  1. 开发bootloader
  2. 开发linux驱动

课程总体规划

bootloader是ARM裸机程序开发的终极实现,借用bootloader将裸机学习的各个步骤串联起来,从系统上电的相关初始化到各种外围设备的控制全部写到bootlader里面。课程的重点是各部分功能的串联,让各个部分即能正常工作,又能互相配合。

bootloader的设计参考uboot实现,需要先总结uboot的工作过程,然后按照uboot的工作过程进行模仿实现。

学习方法

5步学习法:

  1. 硬件相关理论
  2. 导读芯片手册
  3. 思维导图设计
  4. 程序设计
  5. 在线调试程序

  • 无标签