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

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

MDK下载安装

打开链接http://www2.keil.com/mdk5,选择下载
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第1张图片
有可能会需要填写一些信息,这一步应该可以随便填。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第2张图片
会自动跳转到下载页面,下载MDK530.EXE
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第3张图片
可能会有些慢,如果有可能会快一些。
下载好exe文件以后打开直接安装,一路默认设置下来即可,中间可能又要填一下姓名、邮箱信息。安装完以后桌面会出现图标,双击打开就能显示IDE界面。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第4张图片
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第5张图片

实验1 基于ASM的Project

实验目的

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

实验内容

1.project->new μVision project
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第6张图片
注意到我们只有ARM系列芯片可选,这是因为没有导入STM32芯片包。

导入包的话需要提前准备.pack文件。可以在https://www.keil.com/dd2/Pack/页面下载。往下拉就可以找到。这次我们用的是STM32F1。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第7张图片
下载后可以将.pack包文件放在.\Keil_v5\ARM\PACK文件夹,并在μVision中project–>manage–> pack installer 选择对应的.pack文件进行安装。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第8张图片
在pack installer 界面中,选择 file --> import , 加载PACK 包即可,安装成功后会有如下提示框。

微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第9张图片
然后就可以新建自己的project了。我命名为myproject,选择的是STM32F103ZG的芯片。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第10张图片
然后这一页无需对库进行额外配置,直接点OK
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第11张图片
这时左边已经出现了目标的项目目录:
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第12张图片
添加一个现有的ASM文件到Project。这个文件在老师给出的USTC示例代码里。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第13张图片
在asm文件夹里,注意修改所搜索的文件类型的后缀。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第14张图片
可能是这个ide不够人性化,我选中文件后点了好几下Add没有反应,但是退出来的时候在目录文件夹中已经可以看到文件了。如图:

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

熟悉Debug工具

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

接下来是第64行到第67行,注意R0,R1,R2发生了变化。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第28张图片
以上是第一部分实验的上机内容。

实验2 基于C的project

实验目的

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

实验内容

创建一个新的项目,选择ARMCM3芯片。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第29张图片
注意要勾选Keil µVision自带的CMSIS库和对应Device的启动文件(Startup)。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第30张图片
然后添加示例源代码“ustc_sample_c_asm.s”和“ustc_sample_c_c.c”至Project。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第31张图片
这里需要注意,再添加文件的时候,和实验一中一样,要修改添加文件类型,不然可能会找不到目标文件。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第32张图片
添加完成后,左边的目录会显示新增的文件。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第33张图片
按照实验一中的步骤配置。勾选debug工具。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第34张图片
这里采用Simulator方式进行调试,所以把左上角的Use Simulator点上。点击OK后就能启动debug工具了。
微机原理与嵌入式系统实验——基于Keil µVision5 Simulator的自主实验(在实验中熟悉MDK、STM32)_第35张图片
可以利用调试工具对代码的功能进行验证了。


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

你可能感兴趣的:(课程内容总结)