共2条
1/1 1 跳转至页
单步模拟仿真时,发现箭头和时间程序执行不符。

问
单步模拟仿真时,发现箭头和时间程序执行不符。
箭头执行第N行时,发现实际程序在执行N-5 行的代码、?
为什么会这样啊,该怎么解决? 答 1: 重新编译,download主要是原文件和你执行文件时间修改记录不一致 答 2: 也有可能是流水指令造成的 答 3: 我重新编译、download,还是不行?该怎么办? 答 4: 是四级流水造成的是四级流水造成的,尤其在c 和汇编混合时,在IDE容易出现这种情况,不过,不会影响的程序的正确执行,习惯就好了 答 5: 1我只在CodeStartBranch.asm用汇编关闭WDT,其它都用C的 答 6: 同意yellowland的观点。如果用过assemly, 就遇到很多流水线的相关指令问题。这也就现在很多高级DSP 不推荐使用assembly 的原因。 答 7: 2我只在CodeStartBranch.asm中用汇编,是不是把该部分改成C就可以了?
/*-------------------
CodeStartBranch.asm
----------------------*/
WD_DISABLE .set 1 ;set to 1 to disable WD, else set to 0
.ref _c_int00
***********************************************************************
* Function: codestart section
*
* Description: Branch to code starting point
***********************************************************************
.sect "codestart"
code_start:
.if WD_DISABLE == 1
LB wd_disable ;Branch to watchdog disable code
.else
LB _c_int00 ;Branch to start of boot.asm in RTS library
.endif
;end codestart section
***********************************************************************
* Function: wd_disable
*
* Description: Disables the watchdog timer
***********************************************************************
.if WD_DISABLE == 1
.text
wd_disable:
SETC OBJMODE ;Set OBJMODE for 28x object code
EALLOW ;Enable EALLOW protected register access
MOVZ DP, #7029h>>6 ;Set data page for WDCR register
MOV @7029h, #0068h ;Set WDDIS bit in WDCR to disable WD
EDIS ;Disable EALLOW protected register access
LB _c_int00 ;Branch to start of boot.asm in RTS library
.endif
;end wd_disable
.end
箭头执行第N行时,发现实际程序在执行N-5 行的代码、?
为什么会这样啊,该怎么解决? 答 1: 重新编译,download主要是原文件和你执行文件时间修改记录不一致 答 2: 也有可能是流水指令造成的 答 3: 我重新编译、download,还是不行?该怎么办? 答 4: 是四级流水造成的是四级流水造成的,尤其在c 和汇编混合时,在IDE容易出现这种情况,不过,不会影响的程序的正确执行,习惯就好了 答 5: 1我只在CodeStartBranch.asm用汇编关闭WDT,其它都用C的 答 6: 同意yellowland的观点。如果用过assemly, 就遇到很多流水线的相关指令问题。这也就现在很多高级DSP 不推荐使用assembly 的原因。 答 7: 2我只在CodeStartBranch.asm中用汇编,是不是把该部分改成C就可以了?
/*-------------------
CodeStartBranch.asm
----------------------*/
WD_DISABLE .set 1 ;set to 1 to disable WD, else set to 0
.ref _c_int00
***********************************************************************
* Function: codestart section
*
* Description: Branch to code starting point
***********************************************************************
.sect "codestart"
code_start:
.if WD_DISABLE == 1
LB wd_disable ;Branch to watchdog disable code
.else
LB _c_int00 ;Branch to start of boot.asm in RTS library
.endif
;end codestart section
***********************************************************************
* Function: wd_disable
*
* Description: Disables the watchdog timer
***********************************************************************
.if WD_DISABLE == 1
.text
wd_disable:
SETC OBJMODE ;Set OBJMODE for 28x object code
EALLOW ;Enable EALLOW protected register access
MOVZ DP, #7029h>>6 ;Set data page for WDCR register
MOV @7029h, #0068h ;Set WDDIS bit in WDCR to disable WD
EDIS ;Disable EALLOW protected register access
LB _c_int00 ;Branch to start of boot.asm in RTS library
.endif
;end wd_disable
.end
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
【Zephyr】使用Zephyr外设初始化过程解析被打赏30分 | |
【S32K146】S32DS watchdog 配置使用被打赏20分 | |
【Zephyr】使用 IAR 调试 Zephyr 镜像被打赏20分 | |
赚取电动螺丝刀+电源电路理论知识分享1被打赏5分 | |
我想要一部加热台+分享常见运算放大器电路的应用被打赏5分 | |
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
我想要一部加热台+常见的MOS管驱动电路被打赏5分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下串口调试printf输出记录被打赏29分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 |