使用stlink和keil进行下载调试

背景

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

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文件,增加了一个psot build操作,下图中的命令会在工程编译生成的axf文件的基础上生成bin文件。

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

c/c++

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

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

Asm

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

Linker

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

Debug

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

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

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

        Erase full Chip:在用仿真器下载的时候,会先擦除整个flash;

        Program & Verify:在点击下载的时候,会下载工程的可加载代码和数据;

        RAM for Algorith:指定了ram区间;

        Programing Algorith:这个指定了你要操作(擦查和变成的flash区间)的flash区间,可以和你的工程的可加载代码和数据保持一致;大家可以自己调整这个区间,看看点击下载按钮的时候stlink会有什么反映;

总结

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

  • 13
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值