Board logo

标题: 关于rtshc12.c [打印本页]

作者: mick    时间: 2008-6-29 16:40     标题: 关于rtshc12.c

请教版主:

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

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

谢谢!


作者: mick    时间: 2008-6-29 16:59

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

#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
}
}

谢谢!


作者: baishaohu    时间: 2008-11-19 22:20

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


作者: baishaohu    时间: 2008-11-19 22:21

strongchen,在不?麻烦解答下哈

谢先


作者: strongchen    时间: 2008-11-20 10:07

能不能找到具体是执行到哪一句时跑飞的?
作者: baishaohu    时间: 2008-11-21 22:08

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

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


作者: strongchen    时间: 2008-11-24 14:31

那恐怕是堆栈溢出了吧。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0