当前位置:首页 » 《随便一记》 » 正文

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

27 人参与  2022年02月27日 10:52  分类 : 《随便一记》  评论

点击全文阅读


目录

  • 一、搭建并配置Keil嵌入式开发环境
    • (一) Keil MDK-ARM下载
    • (二) Keil MDK-ARM安装
    • (三) Keil MDK-ARM注册
  • 二、基于STM32汇编程序的编写
    • (一)新建工程
    • (二)添加源文件
    • (三)代码编写与调试
    • (四)分析生成的HEX文件
  • 三、总结

一、搭建并配置Keil嵌入式开发环境

(一) Keil MDK-ARM下载

官网下载地址
https://www.keil.com/download/product/

(二) Keil MDK-ARM安装

1.双击安装包,点击Next。
在这里插入图片描述
2.勾选同意协议,点击Next。
在这里插入图片描述
3.选择软件安装路径和支持包安装路径,点击Next。
在这里插入图片描述
4.填写基本信息,点击Next。在这里插入图片描述
5.安装中···
在这里插入图片描述
6.过程中弹出窗口,点击安装。
在这里插入图片描述
7.点击Finish,完成安装。
在这里插入图片描述

(三) Keil MDK-ARM注册

1.以管理员身份打开Keil,点击(File->License Management),复制CID。
在这里插入图片描述
2.打开注册机获取注册码,将注册码添加到注册窗口中。
在这里插入图片描述

二、基于STM32汇编程序的编写

(一)新建工程

1.点击Project->New uVision Project。
在这里插入图片描述
文件命名并保存。
在这里插入图片描述
2.选择仿真芯片。
在这里插入图片描述
3.CMSIS下选择CORE,Device下Startup(其中包含了启动文件)打勾,点击OK。
在这里插入图片描述

(二)添加源文件

1.右击Source Group 1,点击Add New Item to Group‘Source Group 1’···
在这里插入图片描述
2.选择文件类型,点击Asm Files(.s)添加汇编文件,输入文件名,点击Add。
在这里插入图片描述
3.点击Source Group 1左边的加号,看到test.s,添加成功。
在这里插入图片描述

(三)代码编写与调试

1.代码编写
在test.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

2.程序编译
先进行初始设置,点击Options for Target…,在Output界面下,勾选Create HEX File,才生成hex文件。
在这里插入图片描述
在这里插入图片描述
在Debug界面,勾选Use Simulator,点击OK保存。
在这里插入图片描述
点击Rebuild编译。
在这里插入图片描述
编译成功。
在这里插入图片描述
3.程序调试
设置下面的“Dialog DLL”项为“DARMSTM.DLL”和“TARMSTM.DLL”;parameter项为“-pSTM32F103C8”,用于设置支持STM32F103C8的软硬件仿真。
在这里插入图片描述
点击图标进入调试。
在这里插入图片描述
点击Run运行程序。
在这里插入图片描述
结果如图。
在这里插入图片描述

(四)分析生成的HEX文件

找到生成的HEX文件。
在这里插入图片描述
打开如下:
在这里插入图片描述
1.扩展线性地址记录
:020000040800F2 hex文件的第一排十六进制,也叫作 32 位地址记录或 HEX386 记录。这些记录包含数据地址的高16位。扩展线性地址记录总是有两个数据字节。
2.数据部分
Intel HEX 由任意数量的十六进制记录组成。每个记录包含 5 个域,它们按一定格式排列,:llaaaatt[dd…]cc。每一组字母对应一个不同的域,每一个字母对应一个十六进制编码的数字。每一个域由至少两个十六进制编码数字组成,它们构成一个字节。
3.文件尾
:00000001FF 在文件的最后一排,是一个文件的结束标志。

三、总结

搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。实验难度不大,调试过程中还是遇到一些小问题,最后多方面查询并解决了问题。
参考文献
https://blog.csdn.net/m0_58414679/article/details/120467462
https://blog.csdn.net/qq_43279579/article/details/108880667


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/35459.html

点击  文件  安装  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • [糙汉嘴软心硬,娇妻日日晚起]小说精彩节选免费试读_「黎夏顾卫城」主线最终章倒计时
  • 我的亲妹妹我当做畜生,只有儿子来救我反转剧情试读片段_[***小宝李小翠]精彩章节免费试读
  • 往梦难复温,沈淮霆宋思予在线_往梦难复温,沈淮霆宋思予在线
  • 爱意清浅随风离(简凝夕陆靳燃),爱意清浅随风离
  • 「冲喜而已,侯爷别太爱」小说免费在线阅读_侯府侯爷乐瑶主线最终章倒计时
  • 好看的往梦难复温沈淮霆宋思予_往梦难复温沈淮霆宋思予
  • 天才京剧花旦被废嗓后成为芭蕾舞王+后续+结局(秦意宋笙)全书秦意宋笙结局_秦意宋笙+结局列表_笔趣阁(天才京剧花旦被废嗓后成为芭蕾舞王+后续+结局)
  • (番外)+(全书)往梦难复温(沈淮霆宋思予+番外+全书)_(往梦难复温+番外+全书)免费_笔趣阁(沈淮霆宋思予)
  • 江晚烟陆聿我终于失去了你结局+番外(江晚烟陆聿)列表_江晚烟陆聿我终于失去了你结局+番外(江晚烟陆聿)结局篇+番外在线
  • 池雾陆砚寒结局+番外(陆砚寒池雾)列表_池雾陆砚寒结局+番外(陆砚寒池雾)池雾陆砚寒结局+番外在线
  • 沈静怡傅励行+后续+结局(傅励行沈静怡)列表_沈静怡傅励行+后续+结局(傅励行沈静怡)沈静怡傅励行+后续+结局在线
  • 非典时,我被妻子的白月光误诊遗弃在病房节选角色羁绊特辑‌_田越苏雅白月光角色专属支线试读入口

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1