栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Python

2021-09-30

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-09-30

搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。

目录
  • 搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。
  • 准备
  • 编写程序并调试分析
    • 1.新建工程
    • 2.代码编写
    • 3.程序调试
  • 总结
  • 参考资料


准备

安装并配置KEIL

1)在官网下载KEIL安装包。https://www.keil.com/download/product/.
安装教程参考博客
https://blog.csdn.net/dengjin20104042056/article/details/108057907
安装注册并下载支持包之后就可以编写程序了。


编写程序并调试分析 1.新建工程
  1. 照如图顺序新建工程

  2. 新建文件

  3. 这里选择STM32F103VE



4) 点击 Asm Files (.s) 添加输入文件名


5) 完成!


2.代码编写
  1. 在刚建立的.s文件中添加代码如下
 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
  1. 点击这个魔棒

  1. 在output中选中

  1. 在debug中修改

  2. rebuild编译

  1. tips:这里可能会出现问题
    Target not creat.
    解决方法:打开魔术棒,在target栏找到ARM Compiler,将默认的Use default conpiler version 6改为version 5。

  1. 然后重新编译,出现这个就没有错误了

3.程序调试
  1. run
    得到

  2. 调试得到的结果为

  3. 分析生成的HEX文件
    在生成时选定的文件夹里找到

  4. 用记事本打开

  1. 扩展线性地址记录:020000040800F2
  • 扩展线性地址记录(hex 文件的第一排十六进制)也叫作 32 位地址记录或 HEX386 记录
  • 这些记录包含数据地址的高 16 位
  • 扩展线性地址记录总是有两个数据字节,外观如下
  • 当一个扩展线性地址记录被读取,存储于数据域的扩展线性地址被保存,它被应用于从 Intel HEX 文件读取来的随后的记录
  • 线性地址保持有效,直到它被另外一个扩展地址记录所改变
  • 通过把记录当中的地址域与被移位的来自扩展线性地址记录的地址数据相加获得数据记录的绝对存储器地址
内容描述
020000040800F2扩展线性地址记录
02记录当中数据字节的数量
0000地址域,对于扩展线性地址记录,这个域总是 0000
04记录类型 04 (扩展线性地址记录)
0800是地址的高 16 位
F2是记录的校验和,计算方法:01h + NOT(02h + 00h + 00h + 04h + 08h + 00h)
  • 内容分析:数据记录
    • Intel HEX文件由任意数量以回车换行符结束的数据记录组成,比如第一行数据记录:
      • 1000000000040020ED000008F5000008F7000008DB
内容描述
00记录的长度为 0
0000LOAD OFFSET为0000
01TYPE = 01
FF校验和为FF
  • 内容分析:文件尾
    • 在文件的最后一排,是一个文件的结束标志(END OF FILE RECORD)::00000001FF
      • 00000001FF
内容描述
10记录当中数据字节的数量
0000数据将被下载到存储器当中的地址
00记录类型(数据记录)
04记录类型 04 (扩展线性地址记录)
00040020ED000008F5000008F7000008数据
DB是记录的校验和

总结

这次作业的过程遭遇了很多的问题,从一开始的安装注册到后来的编译,在老师给的博客、同学的帮助以及自己去搜索也是慢慢解决了这些问题,希望在以后的学习中能够对单片机越来越熟练。


参考资料

https://blog.csdn.net/ChenJ_1012/article/details/120520933

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/280293.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号