共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 跳转至页
回复
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |
我要赚赏金
