求助STM32开发板USB调试死循环问题

123amy   2010-6-23 08:35 楼主
开发板:STM32F10B_EVAL
使用STM32的USB例程VirtualCOMPort,工程设置Device选用STM32F10xxB,勾选run to main。例程不做其他改动。
将例程下载到开发板中,发现无法跑到main函数部分,暂停调试,发现工程发生了下面的死循环:
080015AE        4807           LDR       R0,[PC,#0x1C]                        //执行过后R0=0x20003C58
080015B0        6800           LDR        R0,[R0]                                  //执行过后R0=0x00000C2F
080015B2        F2417170    MOVW   R1,#0x1770
080015B6        4288           CMP       R0,R1
080015B8        D204          BCS        0x80015C4
080015BA       4805           LDR        R0,[PC,#0x14]                       //执行过后R0=0x20003802
080015BC       7800           LDRB      R0,[R0]                                 //执行过后R0=0
080015BE       2801           CMP        R0,#0x1
080015C0       D000          BEQ         #0x80015C4
080015C2       E7F4          B              #0x80015AE
而且,在调试过程中,每次暂停都会提示CSTACK容量不够,但我照例程的0x400提高4倍至0x1000时,还是会提示容量不够

请教高人,我该怎样走出这个死循环和CSTACK容量问题
谢谢

回复评论 (12)

                                 没遇到过,顶一下
点赞  2010-6-23 09:32
                                 调试其它例程也有问题吗? 还是只有USB例程有问题?
点赞  2010-6-23 09:53
                                 楼主没说太明白
点赞  2010-6-23 15:01
                                 得说得清楚一点
点赞  2010-6-23 15:02
                                 调试其他非USB的例程没有问题,只有USB的例程有问题
点赞  2010-6-23 15:07
                                 用的什么开发工具?
点赞  2010-6-23 15:53
                                 IAR Embedded workbench IDE
点赞  2010-6-24 08:34
                                 开发工具IAR
点赞  2010-6-24 08:35
                                 只是USB例程有问题?
点赞  2010-6-24 08:44
                                 只有USB的例程有问题,非USB的例程我试过了,没问题的
点赞  2010-6-24 11:10
经过今天的挣扎,问题解决了
我换了一个JTAG调试工具,现象就全没了,工程能够运行正常了
点赞  2010-6-24 15:00
经过今天的挣扎,问题解决了
我换了一个JTAG调试工具,现象就全没了,工程能够运行正常了
看样子原来那个JTAG调试工具下载代码有问题,在下载代码时最好把校验功能也选上,这样可以避免走些弯路。
点赞  2010-6-24 16:28
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复