keil创建工程没有atmel_如何使用 KEIL 下载 HEX 文件?

本文介绍了如何在KEIL环境下下载HEX文件到单片机,包括如何设置工程生成HEX文件,如何配置下载参数,以及如何通过命令行工具保存内存数据为HEX文件,提供了一种便捷的工程管理和数据处理方法。
摘要由CSDN通过智能技术生成

熟悉 KEIL 的人都知道,KEIL 下载时使用 axf 格式的文件,里面不仅有代码指令信息,也包含了调试信息,比如C代码和汇编代码之间的对应关系(这些信息不会下载到单片机中,不然单片机可能装不下,哈哈),地址信息等。

事实上,KEIL 也能下载 HEX 文件,同时也能保存数据为HEX文件。

很多道友可能会问,既然有 axf 文件,为啥还要学 HEX 文件下载呢?我们知道,公司为了保密或者其他一些原因,不会给你源代码编译后再下载,还有一种可能是单片机有两份程序,BOOT_LOADER 程序可能是别人编写与维护的,只给你 HEX 文件,如果说你掌握了 KEIL 下载方式,那么就不需要找其他工具下载了,方便快捷(还有一种情况,代码使用 GCC 编译,文件格式为 elf)。

所以,掌握 KEIL 下载 HEX 文件的方法还是很重要的。

那么今天鱼鹰就教你如何使用 KEIL 下载 HEX 文件到单片机中。

首先,复制一个 STM32 工程模板(如果没有,去鱼鹰的公众号后台回复关键字获取)。

打开工程,看看有没有勾选 HEX 文件生成功能:

e56debb8198f08e3d5f0dbf5f4df1cf8.png

勾选这个只是为了让工程生成一个 HEX 文件,方便我们做测试,在实际 HEX 文件下载过程中,不需要勾选这个。

最后生成的文件的文件名你会发现和axf文件名是一致的,只是后缀不同,变成了 hex:

027b471739d45a7c16e338f1fd2673b5.png

所以你在工程目录下可以搜到 rtthread-stm32.hex 文件,为了接下来更好的进行说明,鱼鹰将这个文件名修改为 rtthread.hex,这样就不会认为我们接下来下载的是 axf 文件了。

下载 HEX 文件最关键的两点来了:

ddd3571bc69944b9304facc1c69a84f6.png

最后选择合适的调试器,配置好下载 axf 文件时的相关参数(即能用调试器正常下载 axf 文件即可)。

04718c2fe0e98127ce161263919d0480.png

最后点击下载按钮即可完成下载。

34191c9db0e8440f897a29a1a7e73098.png

是不是很简单?

如果说经常需要下载hex文件,每次要新建一个工程、打开工程、然后再修改参数,还是挺麻烦的,为了方便起见,我们可以为常用工程添加一个下载的目标,即多目标工程,类似这种:

d141a6ea649b6acc6e5235ef6a3466a7.png

这样一来,只要事先设置好,切换目标后,即可快速完成下载,方便快捷。

什么,你还不知道怎么设置多目标工程?看这里:

《STM32工程模板建立之Simu 目标》

《STM32工程模板建立之RAM目标》

好了,鱼鹰再说说怎么保存 FLASH 或者 RAM 数据的问题。

有些时候,FLASH或 RAM保存了很多参数或者代码,如果通过串口助手之类的工具打印出来再保存未免有些麻烦,事实上 KEIL 有命令可以帮助你快速将一块数据保存为 HEX 文件,比如鱼鹰想保存从地址 0x0800 0000 开始,大小为 0xC00 的数据,那么只要在 KEIL 命令行输入以下命令即可完成保存,方便快捷,你值得拥有:

2327b74ccdcf6219ce2481ae81f90f59.png

当然,你也可以在该命令后增加以下参数(后面加一个逗号再跟这个参数)以实现不同的访问方式,是不是很贴心啊。

82f3458fa1febd2f121086efef5d16b2.png

如果命令执行正确的话(上图表示命令已执行正确,如果不正确会报错的),你应该就能在工程目录下找到你所需的 data.hex 文件了,然后用 HEX文件查看工具即可轻松查看,再也不需要串口打印啦!

是不是心动了?那就试试吧!

测试平台:KEIL 5.14 ,STM32F103

喜欢的话,记得点赞、关注哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值