《ARM体系结构与程序设计课程设计》课程教学大纲

合集下载

ARM课设

ARM课设

ARM体系结构与编程课程设计目录目录第一章设计目标及要求 (1)1.1 设计目标 (1)1.2 设计要求 (1)1.3 设备器材 (1)第二章设计原理 (2)2.1 开发板简介 (2)2.2 开发软件 (4)2.2.1 Keil uVision (4)2.2.2 JTAG 简介 (4)第三章设计步骤 (6)3.1 确立功能 (6)3.2 编写代码 (6)3.2.1 宏定义及声明 (6)3.2.2 主函数 (7)3.2.3 中断程序 (8)3.2.4 定时器 (9)4.2.5 串口通信 (9)4.2.6 延时 (10)3.3 上机调试 (10)第四章问题及处理 (12)4.1 串口调试软件乱码 (12)4.2 液晶屏显示 (12)总结 (13)参考文献 (14)ARM体系结构与编程课程设计设计目标及要求第一章设计目标及要求1.1 设计目标熟知ARM嵌入式系统基础教程中各章的内容,学会将理论知识与各项试验中积累的实践经验相结合运用于实际中。

了解计算机系统各模块工作原理,要对其建立清晰的整机概念。

了解ARM的基本组成、其中部件的设计思想、部件间的连接,掌握嵌入式系统的设计程序的编制与调试等过程,加深对理论课程的理解。

在掌握所学知识的基础上,结合平时所做的实验,设计一个模拟微波炉运转的程序,并使其能成功运行在LPC2103开发板上。

1.2 设计要求1)熟悉开发板工作环境;2)通过按键实现微波炉的工作时间的设定(以1分和10秒为增减单位)。

3)通过按启动键开始倒计时,到时后自动停止,并可通过按停止键取消工作。

4)通过串行通讯在电脑上显示倒计时时间;可选:通过数码管显示倒计时时间;5)可选:通过按键实现至少三种工作模式:强、中、弱。

1.3 设备器材装有keil uVision的计算机一台LPC2103开发板一套第二章设计原理2.1 开发板简介本次设计中使用的是LPC2103开发板,这是基于一个支持实时仿真的16/32位ARM7 TDMI-SCPU的微控制器,并带有8kB,16kB或32kB嵌入的高速Flash存储器。

《ARM体系结构与程序设计》课程教学大纲

《ARM体系结构与程序设计》课程教学大纲

《ARM体系结构与程序设计》课程教学大纲一、课程基本信息课程编号:B022310课程名称:ARM体系结构与程序设计英文名称:ARM Architecture and Programming先修课程:C语言程序设计、单片机原理与应用适用专业:通信工程(智能物联)课程类别:专业教育拓展课程课程总学时/学分:56/3.5(其中理论28学时,实验28学时)二、课程目标通过本课程的学习,使学生具备下列能力:1.了解本课程配套的STM32F107开发板的硬件结构,并能熟练搭建开发环境。

2.了解STM32F107的硬件资源,掌握STM32F107常用外设(GPIO、定时器、EXTI、USART、看门狗、DMA、ADC、DAC等)的功能和工作原理;能够对STM32F107的常用外设设计出较为完善的程序,并调试、运行。

3.能够使用μC/GUI设计出实用的嵌入式程序界面。

4.掌握STM32F107基于μC/OS-Ⅱ的程序设计方法。

5.能够从实际问题出发,从实际需求出发,综合利用所学知识,根据系统需求,设计出实用的应用程序,培养学生的动手能力和解决实际问题的能力。

四、教学内容、要求及重难点第一章概述(4学时)教学要求:1.了解ARM的含义和Cortex-M3的特点。

2.了解Cortex-M3的指令集。

3.理解STM32系列MCU的分类。

4.了解CMSIS的含义,掌握STM32固件库的结构与命名规则。

5.熟悉STM32F107的开发工具MDK-ARM。

教学重点:Cortex-M3的特点;STM32系列MCU的分类;STM32固件库的结构与命名规则;STM32F107的开发工具MDK-ARM。

教学难点:STM32固件库的结构;STM32固件库的命名规则。

[实验名称]建立基于STM32固件库的开发模板[实验类型]验证性[实验要求]1.掌握开发环境uVision4 IDE的使用方法。

2.掌握建立基于STM32固件库的开发模板的步骤。

ARM体系结构与编程ppt课件

ARM体系结构与编程ppt课件
ppt课件.
2
第2章 ARM指令分类及其寻址方式
在本章中,将介绍ARM指令分类以及各类指令对 应的寻址方式。
ppt课件.
3
2.1 ARM指令集概要介绍
在本节中,将介绍ARM指令相关的一些基本概念, 包括指令的分类、指令的一般编码格式以及ARM 指令中的条件码。
ppt课件.
4
2.1.1 ARM指令的分类
ppt课件.
<shifter_operand>:表示第2个操作数。
9
2.2.1 数据处理指令的操作数的寻址方式
<shifter_operand>通常有下面3种格式。
(1)
立即数方式。
(2)
寄存器方式。
(3)
寄存器移位方式。
数据处理指令操作数的具体寻址方式有下面11种。
#<immediate>
<Rm>
ARM指令集可以分为跳转指令、数据处理指令、 程序状态寄存器(PSR)传输指令、Load/Store 指令、协处理器指令和异常中断产生指令6类。
ppt课件.
5
2.1.2 ARM指令的一般编码格式
ARM指令字长为固定的32位。一条典型的ARM指 令编码格式如下:
31 28 27 25 24 21 20 19 16 15 12 11 8 7 0
IA (Increment After):事后递增方式。 IB (Increment Before):事先递增方式。 DA (Decrement After):事后递减方式。 DB (Decrement Before):事先递减方式。
[<Rn>], #+/–<offset_12>

ARM体系结构与编程

ARM体系结构与编程

2019/3/15
什么是ARM
ARM是一个公司的名字
ARM代表一项技术,即Advanced
RISC Machine ARM是一个内核,而不是我们看到的具体的芯片
ARM发展的历程
第一片ARM处理器是1983年10月到1985年4月间
在位于英国剑桥的Acorn Computer公司开发 1990年,为广泛推广ARM技术而成立了独立的公司 ꝴAdvance RISC Machine(ARM) 主要设计ARM系列RISC处理器内核 授权ARM内核给生产和销售半导体的合作伙伴 ARM 公司不生产芯片 IP(Intelligence Property) 另外也提供基于ARM架构的开发设计技术 软件工具, 评估板, 调试工具,应用软件, 总线架构, 外围设备单元,等等 20世纪90年代, ARM快速进入世界市场 。
2019/3/15
嵌入式微处理器
嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微 处理器装配在专门设计的电路板上,只保留和嵌入式应用有关 的母板功能,这样可以大幅度减小系统体积和功耗。为满嵌入 式应用 的特殊要求,嵌入式微处理器虽然在功能上和标准微处 理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方 面都做了各种增强。
800+ 雇员 全球
ARM Partnership Model
ARM的应用
2019/3/15
ARM分类
基于指令集体系结构(构架ISA)的分类
V1 体系是最初版本,只有26位的寻址空间,没有乘法指 令,最终没有商业化 ARM V2 体系与V1体系同为26位寻址空间,具有乘法和加法指 令,支持协处理器 ARM V3 体系的寻址范围扩展到32位,具有乘法和加法指令, 支持协处理器 ARM V4 体系增加了半字存储操作,对调试的支持以及支持嵌 入的ICE ARM V5 体系增加了DSP指令支持和对Java指令的支持 ARM V6 体系增加了媒体指令,ARMv6指令集合中加入了超过 60条SIMD单指令多数据指令 ARM V7 体系定义了三种独立的内核型--A(应用领域), R( 实时领域),M(控制领域)

《汇编语言程序设计 —基于ARM体系结构 (第4版)》教学课件—03ARM指令系统

《汇编语言程序设计 —基于ARM体系结构 (第4版)》教学课件—03ARM指令系统

图3-1程序设计语言的层次结构
为了提高程序设计的效率,人们提出了汇编语言的概念。将机器码用指令助记符表示,这样就比机器语言方便得多。不过,在使用汇编语言后,虽然编程的效率和程序的可读性都有所提高,但汇编语言同机器语言非常接近,它的书写风格在很大程度上取决于特定计算机的机器指令,所以它仍然是一种面向机器的语言。 为了更好地进行程序设计,提高程序设计的效率,人们又提出了高级语言程序设计的概念。如C、JAVA等,这类高级语言对问题的描述十分接近人们的习惯,并且还具有较强的通用性。这就给程序员带来极大的方便。当然这类高级语言在执行前必须转换为汇编语言或其它中间语言,最终转换为机器语言。通常有两
3.2 ARM汇编语言
3.2.1指令和指令格式3.2.2指令的可选后缀3.2.3指令的条件执行3.2.4 ARM指令分类
3.2.1指令和指令格式
1.指令和指令系统 指令是指示计算机进行某种操作的命令 指令的集合称为指令系统。指令系统的功能强弱在很大程度上决定了这类计算机智能 的高低,它集中地反映了微处理器的硬件功能和属性。2.指令的表示方法从形式上看,ARM指令在机器中的表示格式是用32位的二进制数表示。计算机根据二 进制代码去完成所需的操作,如ARM中有一条指令为:ADDEQS R0,R1,#8;其二进制代码形式为:
3.1 指令基础
3.1.1程序设计语言的层次结构3.1.2指令周期和时序3.1.3程序的执行过程
3.1.1程序设计语言的层次结构
计算机程序设计语言的层次结构如图3-1所示,分为机器语言级、汇编语言级、高级语言级,机器语言是与计算机硬件最为密切的一种语言,它由微程序解释机器指令统。这一级也是硬件级,是软件系统和硬件系统之间的纽带。
例如:在8MHz的ARM微处理器中,一个 S 周期是125ns,而一个 N 周期 是 250ns。应当注意到这些时序不是 ARM 的属性,而是内存系统 的属性。例如,一个 8MHz的ARM微处理器可以与一个给出125ns 的 N 周期的 RAM 系统相连接。处理器的速率是 8MHz 只是简单 的意味着如果你使任何类型的周期,在长度上小于 125ns 则它不 保证能够工作。图3-2显示一种ARM存储器周期时序。

ARM程序设计教学课件

ARM程序设计教学课件

一个具有3个分支的跳转地址表示意
图如下:
共88页
22
共88页
23
MOV R0,N
ADR R5,JPTAB
LDR PC,[R5,R0,LSL #2]
JPTAB
;跳转表
DCD FUN0
DCD FUN1
ECD FUN2
FUN0 ….. ;分支FUN0的程序段
FUN1 ….. ;分支FUN1的程序段
FUN2 ….. ;分支FUN2的程序段
LDR R1,=0XFF
STR R1,[R0]
LDR R0,=0X3FF5008
LDR R1,=0X01
STR R1,[R0]
BL PR
…….
共88页
37
PR
……
MOV PC,LR
……
END
2、子程序中堆栈的使用
relay
STMFD R13!,{R0~R12,LR};压入堆栈
……
;子程序代码
LDMFD R13!,{R0~R12,PC} ;弹出堆栈并返回
通过 BL 指令来调用子程序。该指令在执
行时完成如下操作:将子程序的返回地址
存放在连接寄存器LR中,同时将程序计数
器PC指向子程序的入口点。
为使子程序执行完毕能返回主程序的
调用处,子程序末尾处应有MOV、B、BX、
LDMFD等指令,并在指令中将返回地址重
新复制到 PC 中。
共88页
34
在调用子程序的同时,也可以使用 R0~R3 来进行参数的传递和从子程序返回 运算结果。
共88页
19
共88页
20
MOV TEQ TEQNE TEQNE TEQNE ADDEQ MOVNE

ARM汇编语言程序设计基础课件第1章 嵌入式系统基础知识

ARM汇编语言程序设计基础课件第1章 嵌入式系统基础知识
应用软件
根据具体需求开发的特定功能软件,如控 制算法、图形界面等。
嵌入式中间件
提供通信、数据管理等功能,方便应用程 序的开发和部署。
开发工具
集成开发环境(IDE)
烧录器
提供代码编辑、编译、调试等功能的 开发环境。
将编译好的程序烧录到嵌入式系统的 存储器中。
仿真器和调试器
用于模拟和测试嵌入式系统的运行情 况。
成本低
可定制
ARM处理器的成本较低,适用于各种低成 本的应用场景。
ARM处理器可根据具体应用需求进行定制 ,包括指令集、寄存器数量等。
ARM处理器的应用领域
智能手机和平板电脑
ARM处理器广泛应用于智能手机和平板电脑领域,如苹果的 iPhone、iPad和大多数Android手机和平板电脑都采用ARM处理 器。
用于访问ARM处理器以外 的硬件设备。
ARM汇编语言的伪指令
汇编器控制伪指令
用于控制汇编器的行为,例如设置符号表 、定义数据等。
段定义伪指令
用于定义程序的不同段,如代码段、数据 段等。
宏定义伪指令
用于定义可重用的代码块,简化代码编写 。
其他伪指令
如条件编译、文件包含等,根据具体需求 使用。
谢谢您的聆听
用途。
伪操作
用于控制汇编器行为的指 令,例如数据定义伪操作 (如.word、.byte等)。
ARM汇编语言的指令集
程序流程控制指令
如条件分支、无条件跳转 等,用于控制程序的执行 流程。
数据处理指令
用于对寄存器中的数据进 行算术、逻辑和移位操作 。
加载和存储指令
用于在内存和寄存器之间 传输数据。
协处理器指令
Cortex系列

ARM汇编语言程序设计基础课件第2章 ARM体系结构

ARM汇编语言程序设计基础课件第2章  ARM体系结构
● 采用存储器映像I/O的方式,即把I/O端口地址作为特殊的存 储器地址;
● 具有协处理器接口。ARM允许接16个协处理器,如CP15用于 系统控制,CP14用于调试控制器;
● 采用了降低电源电压,可工作在3.0V以下;减少门的翻转次 数,当某个功能电路不需要时禁止门翻转;减少门的数目,即降 低芯片的集成度;降低时钟频率等一些措施降低功耗;
2021/7/13
3
AMBA定义了3组总线:先进高性能总线AHB(Advanced High performance Bus);先进系统总线ASB(Advanced System Bus);先进外围总线APB(Advanced Peripheral Bus)。通过 AMBA可以方便地扩充各种处理器及I/O,可以把DSP、其他处理 器和I/O(如UART、定时器和接口等)都集成在一块芯片中;
SecurCore系列微处理器主要应用于如电子商务、电子政务、电子 银行业务、网络和认证系统等一些对安全性要求较高的应用产品 及应用系统。
2021/7/13
17
2.2.3 ARM9E微处理器 ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-
S几种类型,使用单一的处理器内核提供了微控制器、DSP、Java 应用系统的解决方案。ARM9E系列微处理器提供了增强的DSP处 理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。 ARM9E系列微处理器支持DSP指令集,适合于需要高速数字信号 处理的场合。ARM9E系列微处理器采用5级整数流水线,支持32 位ARM指令集和16位Thumb指令集,支持32位的高速AMBA总线 接口,支持VFP9浮点处理协处理器,MMU支持Windows CE、 Linux、Palm OS等多种主流嵌入式操作系统,MPU支持实时操作 系统,支持数据Cache和指令Cache,主频最高可达300MIPS。 ARM9系列微处理器主要应用于下一代无线设备、数字消费品、 成像设备、工业控制、存储设备和网络设备等领域。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《ARM体系结构与程序设计课程设计》课程教学大纲
一、课程基本信息
课程编号:B022328
课程名称:ARM体系结构与程序设计课程设计
英文名称:Practical Development of ARM Architecture and Programming
先修课程:C语言程序设计、单片机原理与应用、ARM体系结构与程序设计适用专业:通信工程(智能物联)
课程类别:专业教育选修课程/拓展课程
课程总学时/学分:2周/2
二、课程目标
1.综合运用所学的STM32F107的基础知识和其他先修课程的知识,完成一个基于STM32F107的应用系统,从而加深对STM32F107软硬件知识的理解。

2.掌握嵌入式程序设计的思想及方法,综合提高学生的应用能力和实践能力,为后续的实践课程奠定基础。

3.学生根据设计要求,确定设计方案,合理安排设计进度,并查阅相关资料,顺利完成课程设计,培养学生正确的设计思路和分析问题、解决问题的能力。

四、教学内容、要求及重难点
第一节设计准备(1天)
教学要求:
1.了解设计任务书,明确设计要求、设计内容和步骤;
2.通过查阅有关资料,了解所涉及芯片的详细资料;
3.准备好设计需要的资料;
4.拟定设计计划;
5.准备开发环境。

教学重点:
建立师生联络,明确指导方式、指导时间与形式;准备开发环境。

教学难点:
查阅的文献资料。

第二节设计阶段(1天)
教学要求:
1.根据准备工作,设计开发方案;
2.确定设计方案合理、正确。

教学重点:
确定设计方案。

教学难点:
检查设计的合理性与正确性。

第三节实现与测试阶段(6天)
教学要求:
1.根据设计要求,编写程序;
2.进行程序的调试、测试。

教学重点:
程序的编写。

教学难点:
解决调试、测试过程中出现的问题。

第四节撰写设计说明书(1天)
教学要求:
1.写出整个设计的主要程序流程或主要程序、用到的主要芯片和设计说明。

2.完成设计说明书1份。

教学重点:
撰写设计说明书的独立性与规范性。

教学难点:
设计说明书的内容与规范性。

第五节设计收尾、总结、答辩(1天)
教学要求:
1.检查完善本次设计的程序、设计文件等。

2.完成答辩前的准备工作;
3.参加答辩。

教学重点:
全面审核设计程序、设计说明书等。

教学难点:
答辩问题的正确性。

六、课程目标与考核内容
七、考核方式与评价细则
八、课程及课程目标达成评价
1.课程目标达成评价
P=0.3*(说明书分目标i平均成绩/说明书分目标i总本课程分目标达成度
i
分)+ 0.3*(编程分目标i平均成绩/编程分目标i总分+ 0.2*(答辩分目标i平均成绩/
i 。

答辩分目标i总分)+ 0.2*(考勤分目标i平均成绩/考勤分目标i总分), 1,2,3 2.课程达成评价
当某个课程目标达成度大于等于及格时,该课程目标达标。

当课程的所有课程目标都达标时,该课程达标。

课程的达成度=及格人数/总人数。

九、推荐教材及参考书目
1.推荐教材
青岛英谷教育科技股份有限公司. Cortex-M3开发技术及实践. 西安电子科技大学出版社,2013
2.参考书目
[1] 刘火良,杨森. STM32库开发实战指南. 机械工业出版社,2013
[2] 范书瑞,李琦,赵燕飞. Cortex-M3嵌入式处理器原理与应用. 电子工业出版社,2011.
[3] 蒙博宇. STM32自学笔记(第2版). 北京航空航天大学出版社,2014
[4] 陈志旺. STM32嵌入式微控制器快速上手(第2版). 电子工业出版社,2014。

相关文档
最新文档