重庆交通大学信息科学与工程学院
《嵌入式系统基础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
在学长分享的链接上下载
注册
1.点击运行注册器程序。
2.在桌面找到keil软件图标,点击右键,以管理员身份运行。
3.点击File–>Lincense Management–>Single-User Lincense,找到CID,复制CID中的内容填写到注册器的CID空白处,将注册器中Target选择为ARM,点击Generate,得到注册码。
4.将生成的注册码复制粘贴到Keil的New Lincense ID Code空白处,点击Add LIC,点击Close。
支持包安装
点击运行下载的支持包,NEXT开始安装,安装完成,点击Finish。
1)新建工程
点击protect 然后再点击 New μVision Project
在弹窗中设置工程项目的名称和路径,在这里,我新建名为TEST的工程文件。
2)配置环境
选择设备
右键target1 找到Options for Target ‘Target 1’并点击在弹窗中选择相应的目标环境,此处我选的是STM32F103ZE
选择运行环境
右键单击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。
然后进行编译
调试
可以看见寄存器R5,R6,R7,R8的值和程序设置一样。
通过本次学习,我学会了如何安装mdk 如何配置环境 并且编译调试源代码
学长的文章