微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)

这是中科大2020春季《微机原理与嵌入式系统》课程实验,是今年特殊情况(疫情无法上机的特制版实验)。

MDK下载安装

打开链接http://www2.keil.com/mdk5,选择下载
在这里插入图片描述
有可能会需要填写一些信息,这一步应该可以随便填。
在这里插入图片描述
会自动跳转到下载页面,下载MDK530.EXE
在这里插入图片描述
可能会有些慢,如果有vpn可能会快一些。
下载好exe文件以后打开直接安装,一路默认设置下来即可,中间可能又要填一下姓名、邮箱信息。安装完以后桌面会出现图标,双击打开就能显示IDE界面。
在这里插入图片描述
在这里插入图片描述

实验1 基于ASM的Project

实验目的

(1) 掌握µVision IDE基本使用、了解一个项目编译、连接、调试的工作过程
(2) 汇编代码编写的一般语法,掌握编写子程序的方法
(3) 掌握常规代码调试技巧
(4) 理解编程者模型

实验内容

1.project->new μVision project
在这里插入图片描述
注意到我们只有ARM系列芯片可选,这是因为没有导入STM32芯片包。

导入包的话需要提前准备.pack文件。可以在https://www.keil.com/dd2/Pack/页面下载。往下拉就可以找到。这次我们用的是STM32F1。
在这里插入图片描述
下载后可以将.pack包文件放在.\Keil_v5\ARM\PACK文件夹,并在μVision中project–>manage–> pack installer 选择对应的.pack文件进行安装。
在这里插入图片描述
在pack installer 界面中,选择 file --> import , 加载PACK 包即可,安装成功后会有如下提示框。

在这里插入图片描述
然后就可以新建自己的project了。我命名为myproject,选择的是STM32F103ZG的芯片。
在这里插入图片描述
然后这一页无需对库进行额外配置,直接点OK
在这里插入图片描述
这时左边已经出现了目标的项目目录:
在这里插入图片描述
添加一个现有的ASM文件到Project。这个文件在老师给出的USTC示例代码里。
在这里插入图片描述
在asm文件夹里,注意修改所搜索的文件类型的后缀。
在这里插入图片描述
可能是这个ide不够人性化,我选中文件后点了好几下Add没有反应,但是退出来的时候在目录文件夹中已经可以看到文件了。如图:

在这里插入图片描述

熟悉Debug工具

接下来就是编译、连接project。可以用project–>build target或者快捷键F7。
在这里插入图片描述
下面的buildout状态栏就会有如下输出
在这里插入图片描述
接下来就可以进行调试了。设置采用Simulator方式进行调试,先打开“Options for Target …”配置窗口,这里也可以用快捷键Alt+F7。
在这里插入图片描述
在Debug一栏中选择“Simulator”
在这里插入图片描述
点击OK确认后可以从Debug栏进入调试状态。试验单步运行、运行到光标位置、设置断点等功能。
在这里插入图片描述
调试界面状态如图:
在这里插入图片描述
Debug一栏很多按钮都可以使用了,快捷键F10对应单步调试,Ctrl+F10对应运行到光标位置,F9对应插入/移除断点。
在这里插入图片描述
当然设置断点可以直接点击对应行前面的灰色部分。有断点的行前面会有一个小红点,蓝色三角形则指向当前选定的行。
在这里插入图片描述
我将断点设置在57行、64行。观察寄存器初始状态,R0-R12初始状态全0.
在这里插入图片描述
连续按F10单步调试观察,当程序运行到57行时暂停一下。注意到,部分寄存器的数值已经发生了变化。
在这里插入图片描述
继续单步调试(F10)到62行,追踪寄存器的数值变化:
在这里插入图片描述
可以发现,第62行此时还没有运行。此时R2寄存器中的数值已经变味了后进栈的R3的值,可以猜到,下一步弹出R1的值赋给R4:
在这里插入图片描述

接下来是第64行到第67行,注意R0,R1,R2发生了变化。
在这里插入图片描述
以上是第一部分实验的上机内容。

实验2 基于C的project

实验目的

(1) 掌握µVision IDE下创建C语言工程的基本步骤
(2) 了解µVision IDE自带CMSIS库和device的启动文件
(3) 掌握联机帮助查询技巧
(4) 掌握代码分析技巧
(5) 理解ARM汇编程序中的伪指令(指示符,Directive)
(6) 掌握C和汇编混合编程方法

实验内容

创建一个新的项目,选择ARMCM3芯片。
在这里插入图片描述
注意要勾选Keil µVision自带的CMSIS库和对应Device的启动文件(Startup)。
在这里插入图片描述
然后添加示例源代码“ustc_sample_c_asm.s”和“ustc_sample_c_c.c”至Project。
在这里插入图片描述
这里需要注意,再添加文件的时候,和实验一中一样,要修改添加文件类型,不然可能会找不到目标文件。
在这里插入图片描述
添加完成后,左边的目录会显示新增的文件。
在这里插入图片描述
按照实验一中的步骤配置。勾选debug工具。
在这里插入图片描述
这里采用Simulator方式进行调试,所以把左上角的Use Simulator点上。点击OK后就能启动debug工具了。
在这里插入图片描述
可以利用调试工具对代码的功能进行验证了。


未完待续
感谢大家的支持和点赞。

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邵政道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值