共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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |