ARM体系移植及Bootloader开发
----课程大纲
一、ARM体系结构与ARM处理器的体系结构
.IP核、芯片与开发板。
.处理器结构。
.处理器模式。
.寄存器。
.流水线结构。
.C语言内嵌汇编格式 与编程实例
二、ARM指令系统
. 算术逻辑指令。
. 指令对状态寄存器的影响。
. 比较指令。
. 分支指令。
. 移位。
. 指令位图。
. 识别机器指令。
三、内存访问与内存控制
. 数据总线与地址总线的使用与实例。
. STR/LDR。
四、ARM过程调用标准
. LDM/STM。
. 反汇编。
. APCS。
. C语言函数与汇编的互相调用。
五、ARM AT&T汇编
.AT&T汇编语法详解。
.gas工具的使用。
.label标签的作用。
.数据与代码的分布。
六、链接脚本ld-script
.段地址的确定。
.编写ld-script。
.ELF格式与libc函数库的关系。
七、时序电路基础
.电平信号。
.电路图分析。
.时序图分析。
.datasheet查看。
.s3c6410的外围器件结构。
.GPIO操作。
八、AMBA总线标准
.AMBA总线标准。
.FCLK/HCLK/PCKL频率分配与设置。
.Watchdog计时操作。
.UART操作。
九、ARM中断体系
.异常向量表。
.ARM模式切换。
.ARM中断控制器。
.软中断。
.Linux系统调用的实现。
十、Nand Flash控制器
.Flash原理。
.Nand控制器原理及时序分板。
.k9f1208时序分析。
十一、内存控制器
.s3c6410物理地址分布。
.SDRAM原理与时序。
.内存控制器的物理连接。
.地址对齐。
.SRAM访问。
十二、内存管理单元
.MMU的原理。
.ARM协处理器指令。
.section模式。
.small page模式。
.I & D TLBs。
.I & D Cache。
.哈佛结构的原理与实现。
十三、DMA 直接内存访问的机制与使用
.DMA的状态机。
.DMA的控制。
十四、触摸屏接口与ADC接口与实例
.ADC原理。
.触摸屏接口与控制。
十五、LCD控制器
.图形显示原理。
.LCD控制器。
.LCD时序。
.LCD驱动相关的框架与体系。
十六、I2S音频总线
.音频硬件原理。
.I2S时序。
.s3c64100上I2S的操作。
.音频设备的裸驱动讨论。
十七、CS8900网卡控制
.逻辑链路层与MAC层。
.CS8900原理与时序分析。
.后续网卡裸驱动讨论与体系结构 。
十八、TCP/IP协议栈移植,与网络体系结构
.LwIP TCP/IP协议栈简介。
.LwIP配置与编译。
.tftp配置与编译。
十九、Bootloader原理与移植
.u-boot的配置、编译。
.u-boot启动过程分析。
.ARM-Linux的启动要求。
.ARM-Linux kernel的ld-sript分析。
.u-boot到ARM-Linux的跳转代码分析。
.使用mkimage制作启动镜像文件。
二十、ARM-Linux原理与移植
.ARM-Linux的配置、编译。
.ARM-Linux启动代码分析。
.ARM-Linux 地址映射的关系。
.Busybox的配置、编译 。