问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用ST-Link和Keil进行嵌入式系统下载调试

创作时间:
作者:
@小白创作中心

使用ST-Link和Keil进行嵌入式系统下载调试

引用
CSDN
1.
https://blog.csdn.net/golden_apple009/article/details/141826754

本文详细介绍了如何使用ST-Link和Keil进行嵌入式系统的下载和调试。从设备配置、目标设置到调试选项的设置,文章通过图文并茂的方式,为读者提供了全面的技术指导。

背景

前面介绍了如何安装ST-Link驱动,这里继续介绍如何配置Keil的工程属性,使用ST-Link进行下载和调试。

Device

前面介绍了如何在Keil下安装Py32(冉普)的BSP驱动,安装完之后,在Device列表下面就有Py32器件,我们这里使用的是PY32F040XB型号的CPU。

Target

这个页面有3个选项需要关注:

  • Use MicroLib:这个选项使工程在链接的时候,使用精简的lib库,减少程序版本的大小;
  • IROM:这个指定了Flash区间,告诉链接器将可加载的代码和数据链接到哪里;
  • IRAM:这个指定了RAM区间,告诉链接器将可读写的数据段,包括堆和栈,应该链接到哪里;

IROM和IRAM指定的是当前这个工程需要占用的Flash和RAM大小,不需要指定到整个Flash和RAM区间。

Output

这个页面的属性没有修改,保持的默认值;

Listing

这个页面也保持默认值,没有做修改;

User

为了生成bin文件,增加了一个post build操作,下图中的命令会在工程编译生成的axf文件的基础上生成bin文件。

这个bin文件是纯粹的可加载的代码和数据,一般对外发布的都是二进制bin文件,或者其他格式的,针对Flash的二进制文件;

C/C++

这个页面保持的默认值,没有做修改;

注意:这里有优化等级的选项,在调试阶段可以设置-O0,即关闭优化,这样方便使用仿真器进行单步调试,功能调试好了之后,可以提高优化等级。

Asm

这个页面保持默认值,没有做修改;

Linker

这个页面保持默认值,没有做修改;

Debug

使用ST-Link进行调试,需要正确安装驱动,且连接好仿真器与CPU的管脚,这里才会有ST-Link Debugger的选项可供选择;

Run to main:这个选项是否勾选不影响调试,如果勾选这个,在加载完成之后,CPU会从entrypoint开始运行,在main函数处停止下来;如果你想调试观察启动代码,就不要选择这个选项;

点击Settings,会弹出高级设置选项,如下图所示;

  • Erase full Chip:在用仿真器下载的时候,会先擦除整个Flash;
  • Program & Verify:在点击下载的时候,会下载工程的可加载代码和数据;
  • RAM for Algorithm:指定了RAM区间;
  • Programming Algorithm:这个指定了你要操作(擦除和编程)的Flash区间,可以和你的工程的可加载代码和数据保持一致;大家可以自己调整这个区间,看看点击下载按钮的时候ST-Link会有什么反映;

总结

这里的设置属性较多,大部分都不需要修改;需要修改的大部分集中在指定RAM和Flash区间的参数,大家可以尝试修改成不同的值,观察工程的编译结果,观察下载的时候,仿真器的行为有什么变化。后面会给大家介绍如何使用仿真器进行加载和调试。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号