问题描述:当使用IAR调试Cortex M0+产品,在IAR/MDK调试环境下烧录以后可以正常运行,但是如果使用Segger的JFLASH直接烧录固件(.bin或者.hex格式二进制文件)后程序并没有开始运行,需要手动执行复位操作或者在JFlash中点击Target->Manual Programming->Start Application,或按快捷键F9,程序才开始运行。有什么办法可以设置编程烧录完成后程序自动执行呢?
问题解决:
在J-Flash中,可以看到在Project settings配置里面有Production栏目,在这个栏目下有"Start application"选项。或者执行自动快捷按键 "Auto" (F7) 也可以启动MCU正常运行。因此,可以在JFLASH界面配置自动运行选项。打开Option->Project Setting,切换到Production选项,勾选Start Application,就可以让程序自动运行。
"Via SFR access"表示CPU通过调试接口对特殊功能寄存器进行访问来实现。
(SWD调试口只需要外接GND, SWDCLK, SWDDAT,对目标板VCC供电即可,Reset引脚可以不用接)。
调试口复位:
调试系统可以通过如下的方式复位:
• 在DAP控制寄存器里面有系统复位,使用调试器让系统在复位状态
• NVIC应用中断和复位控制寄存器里面的SYSRESETREQ执行复位
• DAP控制寄存器允许系统内核保持处于复位态
————————————————
版权声明:本文为CSDN博主「dashintolight」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_33315077/article/details/112666604
【STM32】解决J-Flash烧入固件无法正常运行
项目场景:
因为需求,需要通过J-Flash将两个Bin文件合并之后烧录。
问题描述:
合并bin文件之后,全部擦除在烧录进去程序跑不起来,不知道啥状态。
原因分析:
起初怀疑过合的Bin文件有问题,合了Hex文件,可是仍然一样不正常,怀疑过两份bin文件地址不对,对了对也没发现问题,最后发现默认是不复位的。
解决方案:
需要勾选Start application
————————————————
版权声明:本文为CSDN博主「love421」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37449342/article/details/112589709
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)