首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于rtshc12.c

关于rtshc12.c

请教版主:

我在用ucosII做一个测试,当在电脑上用simulation时,可以正常运行,进入主程序,但是当我连到单片机上单步运行的时候,程序老会在一个叫rtshc12.c的文件里面跑飞,根本不能进入主程序,这个文件位于我的Codewarrior的安装文件夹里面,应该是codewarrior里面自带的文件,其具体位置是:Codewarrior for HC12 V4.6\lib\hc12c\src\rtshc12.c

请问版主这个文件有什么作用,为什么程序到这个地方就跑飞了。

谢谢!

具体就是执行到这个函数的时候程序就跑飞了,请版主帮忙看看是怎么回事!

#pragma NO_FRAME
#pragma NO_ENTRY
#pragma NO_EXIT

void NEAR _CASE_CHECKED_BYTE (void) {
__asm {
PULX ; load address
PSHB
CMPB 2, X+ ; compare low byte
TBNE A, defa ; branch if value > 0xff
BLO jump ; branch if value < #entries
defa: LDAB -1, X ; select default entry, address = X-1
BRA sum
jump: LDAB B, X ; load branch offset
sum: LEAX B, X
PULB
_SRET ; debug info only: This is the last instr of a function with a special return
JMP 0, X ; jump to selected entry
}
}

谢谢!

同问,俺也遇到这个问题,太奇怪了

strongchen,在不?麻烦解答下哈

谢先

能不能找到具体是执行到哪一句时跑飞的?
海纳百川  有容乃大

就是找不到具体语句,设置一个断点,运行到该处,再释放就跑飞了,我怀疑是系统任务太多了

删除一个任务就OK了,前后太系统就是实时性不好!

那恐怕是堆栈溢出了吧。
海纳百川  有容乃大
返回列表