第3周–ARM汇编程序入门实践

重庆交通大学信息科学与工程学院

《嵌入式系统基础A》课程

作业报告(第3周)

班 级: 物联网工程2002

姓名-学号 : 徐权-632007060327

实验项目名称: 作业题目

实验项目性质: 设计性

实验所属课程: 《嵌入式系统基础》

实验室(中心): 南岸校区语音大楼

指 导 教 师 : 娄路

完成时间: 2022 10 8


一、实验内容和任务
第3周–ARM汇编程序入门实践
二、实验要求

1. 分组要求:每个学生独立完成,即1人1组。

2. 程序及报告文档要求:具有较好的可读性,如叙述准确、标注明确、截图清晰等。

3.项目代码上传github,同时把项目完整打包为zip文件,与实验报告(Markdown源码及PDF文件)、作业博客地址一起提交到学习通。

三. 实验过程介绍 (此处可以填博客内容)
搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。
1)记录build生成的 hex文件各段的大小,了解Hex文件格式及其前8个字节内容含义;
2)学习在没有硬件条件下进行仿真调试的方法,观察ARM寄存器变化状况。
1.keil环境搭建
百度网盘分享下载

mdk531安装

链接:https://pan.baidu.com/s/1ttrDhv6kXgAvPiYINf9iGw
提取码:1234

注册器

链接:https://pan.baidu.com/s/1T11pBKpD6xc-cNmXBskcaw
提取码:1234

支持包

链接:https://pan.baidu.com/s/1a7UDSVeLC4ktHNN9lV9oIA
提取码:1234

在学长分享的链接上下载

安装
第3周–ARM汇编程序入门实践_第1张图片
点击mdk 傻瓜式安装 只需注意路径问题

注册

1.点击运行注册器程序。

2.在桌面找到keil软件图标,点击右键,以管理员身份运行。

3.点击File–>Lincense Management–>Single-User Lincense,找到CID,复制CID中的内容填写到注册器的CID空白处,将注册器中Target选择为ARM,点击Generate,得到注册码。
第3周–ARM汇编程序入门实践_第2张图片

4.将生成的注册码复制粘贴到Keil的New Lincense ID Code空白处,点击Add LIC,点击Close。
第3周–ARM汇编程序入门实践_第3张图片

支持包安装

点击运行下载的支持包,NEXT开始安装,安装完成,点击Finish。

2.## stm32程序

1)新建工程
点击protect 然后再点击 New μVision Project
在弹窗中设置工程项目的名称和路径,在这里,我新建名为TEST的工程文件。
2)配置环境
选择设备
右键target1 找到Options for Target ‘Target 1’并点击在弹窗中选择相应的目标环境,此处我选的是STM32F103ZE
第3周–ARM汇编程序入门实践_第4张图片
选择运行环境

第3周–ARM汇编程序入门实践_第5张图片
添加源文件

右键单击Source Group 1,选择Add New Item to Group,添加Asm File (.s)文件,命名为TEST并保存。

 AREA MYDATA, DATA
	
 AREA MYCODE, CODE
	ENTRY
	EXPORT __main

__main
	MOV R0, #10
	MOV R1, #11
	MOV R2, #12
	MOV R3, #13
	;LDR R0, =func01

	BL	func01
	;LDR R1, =func02
	BL	func02
	
	BL 	func03
	LDR LR, =func01
	LDR PC, =func03
	B .
		
func01
	MOV R5, #05
	BX LR
	
func02
	MOV R6, #06
	BX LR
	
func03
	MOV R7, #07
	MOV R8, #08	
	BX LR


设置仿真器模式

点击菜单中的Project,找到Options for Target ‘Target 1’并点击,选择Debug–>Use Simulator,将Dialog DLL以及Parameter处修改为自己选择的设备,OK。
第3周–ARM汇编程序入门实践_第6张图片
然后进行编译
第3周–ARM汇编程序入门实践_第7张图片
调试第3周–ARM汇编程序入门实践_第8张图片
可以看见寄存器R5,R6,R7,R8的值和程序设置一样。

三、总结

  通过本次学习,我学会了如何安装mdk 如何配置环境 并且编译调试源代码

四、参考

学长的文章

你可能感兴趣的:(单片机,stm32,嵌入式硬件)