入学要求 |
学员学习本课程应具备下列基础知识:
◆ 熟悉C语言;
◆ 熟悉汇编语言;
◆ 了解嵌入式系统的基本知识。 |
培养对象 |
嵌入式相关领域的专业人士,具有开发和设计经验的硬件或软件开发工程师、系统移植工程师。
|
课程目标 |
1.掌握ARM体系结构及工作原理
2.掌握“ARM和Thumb交互”编程。
3.掌握汇编、c、c++混合编程的方法,完成对目标平台的软件编程,更好的熟悉嵌入式软件的开发流程。
4.掌握基于ARM的嵌入式硬件平台接口设计以及各种常用接口的开发。
5.掌握和bootloader相关的接口开发,了解嵌入式操作系统的结构及启动流程等。 |
班级规模及环境 |
为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限15人,多余人员安排到下一期进行。 |
上课时间和地点 |
上课地点:【【上海】:同济大学(沪西)/新城金郡商务楼(11号线白银路站) 【深圳分部】:电影大厦(地铁一号线大剧院站)/深圳大学成教院 【北京分部】:北京中山学院/福鑫大楼 【武汉分部】:佳源大厦(高新二路) 【南京分部】:金港大厦(和燕路) 【成都分部】:领馆区1号(中和大道)
最近开课时间(周末班/连续班/晚班):ARM开发班开班时间:2024年1月8日
本课程每期班限额5名,报满即停止报名,请提前在线或电话预约
|
学时和学费 |
★课时:
共请咨询客服
◆外地学员:代理安排食宿(需提前预定)
☆注重质量
☆边讲边练
☆合格学员免费推荐工作
☆合格学员免费颁发相关工程师等资格证书,提升您的职业资质
专注高端培训15年,曙海提供的证书得到本行业的广泛认可,学员的能力
得到大家的认同,受到用人单位的广泛赞誉。
★实验设备请点击这儿查看★ |
课程内容 |
时间 |
课程大纲 |
第一讲 |
学习目标 |
第一天的课程主要帮助学员了解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下载内核、文件系统实验
|