《ARM开发实验班》课程大纲 |
课程安排 |
|
课程内容 |
|
理论部分 3学时 |
|
嵌入式系统概述与ARM简介 1 ARM处理器与其他体系结构处理器异同比较 2 ARM芯片选型 3 ARM外围硬件设计 4 ARM程序和算法 5 ARM操作系统(uC/OS-II/ARM Linux/uCLinux/WinCE) ARM知识体系 1 ARM的特点(体系结构/流水线/异常处理/寄存器组织) 2 ARM内核概述(内核命名/应用内核/嵌入式内核/安全内核) 3 ARM内核系列
| |
|
理论部分 3学时 |
|
ARM结构与编程 1 ARM的工作模式 2 ARM存储器格式 3 ARM运行模式 4 ARM寄存器组织 5 ARM的异常 6 流水线 7 AHBA总线 ARM指令系统与汇编语言编程 1 ARM指令概述与特点 2 ARM寻址方式 3 ARM指令集 4 Thumb指令集 5 ARM汇编语言编程
| |
|
理论部分 3学时 |
|
使用ARM ADS 开发工具的方法、流程和技巧 1 编译器参数(armcc/armcpp/armasm) 2 链接器使用(armlink/scatter-file) 3 调试器及调试工具(axd/jtag) 4 辅助开发工具(fromelf/armprof/nmake/Makefile) 5 内存地址重映射(memory remap) 6 堆栈初始化(stack&heap) 7 RO/RW/ZI 段地址分配 8 系统呼叫机制(SoftWare Interrupt)
| |
|
理论部分 3学时 |
|
ARM启动代码工作原理 1 启动代码基本概念和执行流程 2 全局变量和局部变量的存储结构 3 程序的存储和加载过程 4 RO、RW以及ZI 段的存储特性 5 启动代码的搬移过程 6 启动代码的初始化流成为程
| |
|
理论部分 3学时 |
|
ARM异常和中断处理 1 异常向量表(exception vector table) 2 异常响应 3 产生异常后的处理过程 4 未定义指令异常的特殊用途 5 SWI 软中断指令与系统调用 6 异常返回处理流程
| |
|
实验部分 3学时 |
|
ARM 开发工具实验 (实验1-8) 实验1:安装开发工具实验 (ADS+AXD) 实验2:ADS 编程实验 (helloworld) 实验3:AXD 调试实验 (debug) 实验4:ARM 工具链实验 (armcc+armasm+armlink) 实验5:fromelf 实用工具实验 (fromelf) 实验6:uuencode 编码工具实验 (uuencode) 实验7:使用 Jtag 调试开发板实验 实验8:使用 Bootloader 下载执行实验
| |
|
实验部分 3学时 |
|
ARM 体系结构与汇语编言实验(实验9-16) 实验9: ARM 数据处理指令操作数寻址方式实验 实验10:ARM 内存访问指令寻址实验 实验11:ARM 堆栈指针寄存器实验 (r13) 实验12:ARM 返回连接寄存器实验 (r14) 实验13:ARM 程序计数器实验(r15) 实验14:ARM 程序状态寄存器实验(cpsr+spsr) 实验15:ARM 工作模式切换实验(svc+irq) 实验16:ARM 汇编与C语言混合编程实验
| |
|
实验部分 3学时 |
|
ARM 开发板外设接口实验(实验17-24 ) 实验17:ARM 开发板-启动代码烧写实验 实验18:ARM 开发板-LED显示灯实验 实验19:ARM 开发板-七段数码管实验 实验20:ARM 开发板-四位拨段开关实验 实验21:ARM 开发板-蜂鸣器实验 实验22:ARM 开发板-中断按钮实验 实验23:ARM 开发板-定时器实验 实验24:ARM 开发板-串口通讯实验
| |
|
实验部分 3学时 |
|
ARM Bootloader 编写实验(实验25-32) 实验25:ARM Bootloader-ledblink实验 实验26:ARM Bootloader-uart driver实验 实验27:ARM Bootloader-printf实验 实验28:ARM Bootloader-stdio实验 实验29:ARM Bootloader-shell实验 实验30:ARM Bootloader-command实验 实验31:ARM Bootloader-flashwrite实验 实验32:ARM Bootloader-autoboot实验 | |
|
实验部分 3学时 |
|
ARM 异常和中断处理实验(实验33-40) 实验33:ARM异常向量表实验 实验34:ARM软中断 SWI 异常发生和响应实验 实验35:ARM GPIO中断源使能触发实验 实验36:ARM GPIO中断处理和响应实验 实验37:ARM Timer定时器中断源使能触发实验 实验38:ARM Timer定时器中断处理和响应实验 实验39:ARM中断流程代码分层实验 实验40:ARM中断驱动框架实验 | |