共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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
用知识换取送给亲朋的礼物,做个浪漫的开发者 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
玩转“DFRobot盖革计数器模块”测一测身边的辐射源 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持数字示波器】树莓派PICO调试器官方固件本地化部署实践被打赏24分 | |
【换取手持数字示波器】分享一个KEIL无法识别CMSIS-DAP调试器的解决办法被打赏20分 | |
【换取手持数字示波器】分享一个自制的ArduinoNano扩展板底板被打赏23分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 |