嵌入式实验1-嵌入式系统基本ARM指令

由于KEIL V5版本会出现诸多bug,所以在这里介绍一个很顺畅的步骤,防止bug出现。

1. 创建工程

首先,需要自己定义文件夹,注意:一定需要是英文的的路径,否则会显示文件找不到并显示以下错误信息:
.\Objects\main.axf: error: L6002U: Could not open file .\objects\startup_stm32f10x_hd.o: No such file or directory

如果更改完,还是显示这个错误,这个时候你需要去看一下你的环境变量是否设置的是对的,这里可以看一下这篇博客有这个错误的详细解析。https://www.cnblogs.com/zhongxingji/p/17697224.html

说回正题,创建过程也是老生常谈的问题,首先选择New uVision Project,之后一定一定要再次确认自己的路径是否是中文,如果没错接着下一步了可以。

接下来也有一个小雷点,大家需要注意!!一定要选择第一种,第二种应该是由于我自己安装的pack包,在写实验一时候出现了很多错误。

之后勾选yes,至于为什么,是因为后续我们要对启动文件进行修改不然运行不了。

随后创建ASM文件,也是要英文命名。

到这里如果按照这个流程应该都一切顺利

2. 复制代码

因为汇编他对缩进也是有要求的所以大家一定要注意这个具体缩进要求,具体的可以看下面这篇文章。汇编语言编程规范(草稿)_汇编的缩进-CSDN博客

如果一切顺利就来到了这里,接下来就需要debug了。

3.错误解决

不出意外,报错了,这里如何解决呢?

首先对于第一条报错:很清晰可以看到他的意思是说我们有未定义的SystemInit在startup中,那么这里,我们就需要去找启动.s文件看看了,CONTROL+F找到特定代码段,

给他注释掉。

对于第二条报错主要是因为,启动文件去寻找之前的.c文件了这里可以进行修改。

修改成这样之后,拐回程序,添加main函数,导出my_main这些,相当于主函数声明

当然你也可以把上面的my_main直接改为start,也是可以运行的,主要还是声明。

再次运行就没事儿了应该。

4. debug

打开仙女棒 ,找的debug把use Simulator打开。

接下来就可以开始debug了,切记单步运行。之后左边就是register的结果,填写进入实验报告即可。

查看存储器值也不难,如图操作,点开memory窗口,输入地址,我这里定义的堆栈0x20002000,故我直接输入查看,

能看到是0x00。

实验A

上述代码为实验A代码,实验A整体结果如下:

实验B

还是小问题,注意缩进等。结果如下

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值