FR8018HA JLINK MDK5在线调试老是断开
-
使用JLINK OB V2断点单步调试程序,但是单步执行老是断,
大家有没有遇到这样的情况,很头痛,不能友好的调试代码,严重影响效率;JLINK 输出信息:
**JLink Warning: CPU could not be halted
***JLink Error: Can not read register 15 (R15) while CPU is running
***JLink Error: Can not read register 16 (XPSR) while CPU is running
***JLink Error: Can not read register 0 (R0) while CPU is running
***JLink Error: Can not read register 1 (R1) while CPU is running
***JLink Error: Can not read register 2 (R2) while CPU is running
***JLink Error: Can not read register 3 (R3) while CPU is running
***JLink Error: Can not read register 4 (R4) while CPU is running
***JLink Error: Can not read register 5 (R5) while CPU is running
***JLink Error: Can not read register 6 (R6) while CPU is running
***JLink Error: Can not read register 7 (R7) while CPU is running
***JLink Error: Can not read register 8 (R8) while CPU is running
***JLink Error: Can not read register 9 (R9) while CPU is running
***JLink Error: Can not read register 10 (R10) while CPU is running
***JLink Error: Can not read register 11 (R11) while CPU is running
***JLink Error: Can not read register 12 (R12) while CPU is running
***JLink Error: Can not read register 13 (R13) while CPU is running
***JLink Error: Can not read register 14 (R14) while CPU is running
***JLink Error: Can not read register 15 (R15) while CPU is running
***JLink Error: Can not read register 16 (XPSR) while CPU is running
***JLink Error: Can not read register 17 (MSP) while CPU is running
***JLink Error: Can not read register 18 (PSP) while CPU is running
***JLink Error: Can not read register 20 (CFBP) while CPU is running硬件连接:
VCC GND SWD CLK代码中已经屏蔽了相关patch:
#if 0
[4] = {
.patch_pc = 0x00004aae,
.replace_function = frspim_rd,
},
[3] = {
.patch_pc = 0x00004b02,
.replace_function = frspim_wr,
},
-
单步调试时注意 底层射频部分不能用单步调试.
FR8010H.FLM 是什么时候的?
-
@刘流鎏
有没有看门狗? 连接线过长?
-
@刘流鎏
感谢回复,debug的是自己的代码部分,
FR8010H.FLM 用比较工具确认了一下是git上sdk中最新的版本
-
@刘流鎏 在 FR8018HA JLINK MDK5在线调试老是断开 中说:
连接线过长,或者接触不良?
-
@刘流鎏
好的 我关闭看门狗好了很多,对于连接线 我后续看看。顺便请教一个问题,栈空间大小如何修改?
按照我的理解:
- 系统栈主要应该是用于中断的嵌套,一般在.s启动文件中配置,
在8018HA的SDK中,我发现app_boot_vector.s中“;Stack_Size EQU 0x280 ;0x00000400 ”是注释掉的,
并且没有 “Heap_Mem SPACE Heap_Size”分配栈空间的指令;
- 任务栈,底层应该是个FreeRTOS,那么任务栈是从堆空间分配的,
那么我是否可以通过FreeRTOSConfig.h中
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 17 * 1024 ) ) 来修改;
对于我们的应用,基本使用os_timer 和os_task,
现在遇到一些偶发的奇怪问题,现在分析怀疑可能在某些情况下可能调用过深;
所以想了解SDK中的栈是如何配置分配的,谢谢~
- 系统栈主要应该是用于中断的嵌套,一般在.s启动文件中配置,
-
@kk 在 FR8018HA JLINK MDK5在线调试老是断开 中说:
K中
堆栈的配置参照http://www.freqchip.net/topic/599/%E7%8E%B0%E8%B1%A1-%E5%BC%82%E5%B8%B8%E5%8F%91%E7%94%9Fcrash-dump-regs-pc-0xa506-%E7%8E%B0%E8%B1%A1%E8%BE%83%E5%BC%82%E5%B8%B8-%E6%9C%89%E5%AE%9A%E6%97%B6%E5%99%A8%E6%8C%82%E4%BA%86-%E4%B9%9F%E6%9C%89%E7%9B%B4%E6%8E%A5crash%E5%90%8E%E6%8C%82%E8%B5%B7%E7%9C%8B%E9%97%A8%E7%8B%97%E6%97%A0%E6%B3%95%E9%87%8D%E5%90%AF-%E4%B9%9F%E6%9C%89%E7%9B%B4%E6%8E%A5crash%E5%90%8E%E9%87%8D%E5%90%AF
-
-
@刘流鎏 好的 谢谢~