|
ARM体系结构及工作原理
入学要求
学员学习本课程应具备下列基础知识:
◆ 熟悉C语言;
◆ 熟悉汇编语言;
◆ 了解嵌入式系统的基本知识。
培养对象
嵌入式相关领域的专业人士,具有开发和设计经验的硬件或软件开发工程师、系统移植工程师。
课程目标
1.掌握ARM体系结构及工作原理
2.掌握“ARM和Thumb交互”编程。
3.掌握汇编、c、c++混合编程的方法,完成对目标平台的软件编程,更好的熟悉嵌入式软件的开发流程。
4.掌握基于ARM的嵌入式硬件平台接口设计以及各种常用接口的开发。
5.掌握和bootloader相关的接口开发,了解嵌入式操作系统的结构及启动流程等。
班级规模及环境
为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限15人,多余人员安排到下一期进行。
上课时间和地点
上课地点:【上海总部】: 华东师范大学/银城大厦 【深圳分部】: 电影大厦
最近开课时间(周末班/连续班/晚班)
本课程每期班限额5名,报满即停止报名,请提前在线或电话预约
学时和学费
★课时: 共12天,总计96学时
◆外地学员:代理安排食宿(需提前预定)
☆合格学员免费颁发相关资格证书,提升您的职业资质
作为最早专注于嵌入式培训的专业机构,曙海嵌入式学院提供的证书得到本行业的广泛认
可,学员的能力得到大家的认同。
☆合格学员免费推荐工作
课程内容
时间 课程大纲
第一讲
学习目标 第一天的课程主要帮助学员了解ARM体系结构及工作原理,掌握ARM指令集,学会操作ARM处理器基本方法。
1 ARM体系结构
1.1 ARM简介
1.2 ARM体系结构
1.3 流水线
1.4 处理器工作模式
1.5 ARM处理器核
2 ARM指令集
2.1 V4T指令
2.2 V5TE指令
2.3 V6指令
2.4 Thumb指令
实验
1、使用RealView MDK环境构建基本工程
2、基本ARM指令练习
3、数据搬运练习
第二讲
学习目标 为提高系统的综合性能,“ARM和Thumb交互”是工程师在实际编程常用的一种方式。通过本天课程的学习,学员可以了解Thumb指令的特点,掌握ARM和Thumb指令交互方法。“异常”作为处理器的一种特殊工作方式在系统工作中扮演着重要的角色,本期课程也将帮助学员掌握ARM平台异常产生的过程和处理方法。
3 ARM与Thumb交互
3.1 交互工作基础
3.2 子程序交互和veneers
3.3 ARM V5TE架构扩展
4 RealView MDK开发工具介绍
5 异常处理
5.1 中断处理
5.2 Abort处理
5.3 SWI 处理
5.4 复位和未定义指令处理
实验:
1、ARM/Thumb交互
2、Thumb下的块拷贝实验
3、异常处理实验
第三讲
学习目标 虽然汇编指令可以完成我们所需要的所有功能,但相对C语言来说,汇编语言存在编写复杂、可读性差等缺点,所以在实际的项目开发中,工程师通常会使用C或C++等高级语言来编写主程序部分。通过第三天课程的学习,学员可以掌握汇编、c、c++混合编程的方法,完成对目标平台的软件编程,更好的熟悉嵌入式软件的开发流程。
6 C/C++ 编译器提示和技巧
6.1 arm编译优化础
6.2 汇编、c、c++混合编程
6.3 arm编译器规则
6.4 局部和全局变量
7 嵌入式软件编程
7.1 调整c库使其适合目标平台
7.2 调整内存映射使其适合目标平台
7.3 复位和初始化
7.4 编译和调试目标镜像
实验:
1、C语言程序实验
2、汇编和C混合编程实验
3、调整C库和内存映射,编写能够在目标硬件运行的LED测试程序
第四讲
学习目标 在学习完了理论知识后,该进入实践环节了。嵌入式编程最终目标还是对接口设备的操作。通过第四天课程的学习,学员可以掌握基于ARM的嵌入式硬件平台接口设计以及各种常用接口的开发。
8 基于ARM的嵌入式硬件平台接口设计
8.1 基于ARM的SOC组成
8.2 构建ARM嵌入式系统
9 嵌入式硬件平台(基于s3c2410/s3c2440)接口操作
9.1 GPIO接口
9.2 ADC接口
9.3 UART接口
9.4 I2C接口
9.5 定时器
9.6 中断接口
9.7 DMA接口
实验:
1、GPIO实验
2、ADC实验
3、UART实验
4、定时器实验
5、中断实验
6、DMA实验
第五讲
学习目标 单个接口的操作最终还是要为一个综合的软件项目服务,bootloader在嵌入式操作系统中占用重要地位,其编写、移植是一项常见而复杂的工作。通过第五天课程的学习,学员即能够通过这个综合的软件项目将前面的主要内容融会贯通,还可以掌握bootloader原理及开发过程,掌握和bootloader相关的接口开发,了解嵌入式操作系统的结构及启动流程等。
10 从零编写bootloader
10.1 嵌入式linux系统的构成
10.2 引导程序的任务
10.3 引导程序的结构及启动流程
10.4 实现串口下载功能
10.5 实现usb下载功能
10.6 实现 nandflash读写功能
10.7 引导linux内核
实验:
1、bootloader编写实验(基于realview MDK环境)
2、linux系统编译实验
3、制作文件系统实验
4、bootloader通过USB下载内核、文件系统实验 |
|