| 课程背景 |
|
ARM ( Advanced RISC Machines ),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。目前,采用 ARM 技术知识产权( IP )核的微处理器,即我们通常所说的 ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于 ARM 技术的微处理器应用约占据了 32 位 RISC 微处理器 75 %以上的市场份额, ARM 技术正在逐步渗入到我们生活的各个方面 |
主要培训对象 |
|
嵌入式相关领域的专业人士,具有开发和设计经验的硬件或软件开发工程师、系统移植工程师 |
教学重点 |
|
◆ 了解ARM体系结构; ◆ ARM汇编语言程序设计; ◆ 了解嵌入式系统的基本知识。 |
教学目标 |
|
掌握ARM内核体系结构与资源 用32位ARM内核单片机设计软硬件 |
任课教师 |
|
【 王老师】 ● 1998年毕业于长江大学电信学院电子仪器及测量技术专业,本科。我国单片机专家徐爱钧教授之门生。 曾先后在职业技术学校及大型电子公司担任电子技术教师及单片机培训师,有丰富的职业教学经验。 曾先后在国际国内知名企业如山水,乐声,迪士谱等任单片机软硬件开发工程师/项目工程师/经理等职,有着近十年的实际产品开发工作经验。
【 徐老师】 ● EDA(电子设计自动化)领域资深设计工程师,自动化专业博士学位,有多项大型系统的开发经验,并且从事EDA培训教育多年,有丰富的培训经验。 |
教材 |
|

|
◆《ARM嵌入式处理器结构与应用基础》 ◆《ARM嵌入式处理器多媒体教程》 (附送) |
| |
|
|
班级规模及环境 |
|
为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限15人,多余人员安排到下一期进行。 |
课程进度安排 (注:可根据学员需要,针对性设计课程,以便在实际工作应用) |
| 课 程 大 纲 |
课 程 内 容 |
|
|
第一天 |
|
ARM体系结构 |
1.1 ARM简介 |
|
1.2 ARM体系结构 |
|
1.3 流水线 |
|
1.4 异常中断处理 |
|
1.5 I/O管理 |
|
ARM编程模型与寻址 |
第二天 |
|
2.1 数据类型 |
|
2.2 处理器工作模式 |
|
2.3 ARM寄存器组织 |
|
2.4 数据指令寻址方式 |
|
2.5 内存访问指令寻址方式 |
|
2.6 ARM开发工具 |
|
实验:熟悉开发环境IAR |
|
ARM与Thumb指令集 |
第三天 |
|
3.1 数据传送指令
|
|
3.2 数据处理指令 |
|
3.3 乘法指令 |
|
3.4 跳转指令 |
|
3.5 协处理器指令 |
|
3.6 Thumb指令的特点及实现 |
|
3.7 Thumb指令分类说明 |
|
ARM汇编语言程序设计 |
第四天 |
|
4.1 ARM汇编程序设计规范 |
|
4.2 汇编器支持的伪指令 |
|
4.3 简单汇编语言程序设计 |
|
4.4 编写启动程序的一般规范 |
|
实验:指令集实验 |
|
嵌入式软件开发 |
第五天 |
|
5.1 内联汇编和嵌入型汇编的使用 |
|
5.2 从汇编代码访问 C 全局变量 |
|
5.3 在C++中使用C头文件 |
|
5.4 C、C++ 和 ARM 汇编语言之间的调用 |
|
5.5 基于ARM的嵌入式系统设计问题 |
|
第六天 |
|
5.6 编译器的缺省行为(-O1,-O2….-g)(indicate semehosting ) |
|
5.7 调整 C 库使其适应目标硬件 |
|
5.8 映象文件存储器映射调整 |
|
5.9 复位和初始化 |
|
ARM调试解决方案 |
第七天 |
|
6.1 调试需求 |
|
6.2 嵌入式核调试 |
|
6.3 嵌入式核跟踪 |
|
实验:嵌入式系统应用编程实例 |
|
1. S3C2410简介 |
|
2. 存储器结构 |
|
3. ADC编程接口 |
|
4. 串行口UART编程 |
|
5. 实时钟RTC编程 |
|
嵌入式Linux开发与移植 |
第八天 |
|
7.1 基于ARM的嵌入式系统设计问题 |
|
7.2 编译器的缺省行为 |
|
7.3 调整 C 库使其适应目标硬件 |
|
7.4 映象文件存储器映射调整 |
|
第九天 |
|
7.5 复位和初始化 |
|
7.6 Linux内核启动流程分析 |
|
7.7 Linux内核中的ARM汇编分析 |
|
7.8 移植Linux内核的步骤 |
|
Bootloader开发与移植 |
第十天 |
|
8.1 Bootloader中的概念 |
|
8.2 U-boot的启动流程分析 |
|
8.3 U-boot的ARM汇编分析 |
|
8.4 移植U-boot的步骤 |