打印
[STM32F1]

STM32一直运行ucos+gui,但是程序会卡在OS_TaskIdle()中

[复制链接]
5954|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
luoxn28|  楼主 | 2014-4-11 23:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 luoxn28 于 2014-4-11 23:58 编辑

各位大虾,我移植UCOS是在STM32上是能正常运行的,加上UCGUI后不能正常运行,开发板无反应,JLINK调试的时候能单步运行到main函数中的,这时开发板能正常运行UCOS和UCGUI(能正常显示TFT彩屏和小灯任务闪烁),但是复位后就不能运行,开发板无反应。程序貌似停在了OS_TaskIdle函数中了。。。。是GUI设置参数有问题还是什么原因?望指点一下!!!!!!
沙发
luoxn28|  楼主 | 2014-4-12 11:31 | 只看该作者
自己顶一个,问题解决了。解决过程:
按照网上的移植方法,在KEIL中去掉了使用微库编译没问题了,但是jlink调试程序卡在 LDR R0, =SystemInit中,复位后无反应。
加上使用微库后,提示Error: L6218E: Undefined symbol exit (referred from jerror.o).于是进入了UCGUI/JPEG/jerror.c中,找到error_exit (j_common_ptr cinfo)函数中的exit(EXIT_FAILURE),把这行给注释掉,改用return直接返回。这样编译没问题了,但是程序会卡在HardFault_Handler中,最后,调试程序时发现在在UCOS运行之前用到了OSTimeDly(),于是把TFT初始化函数发在了一个任务中初始化(把TFT初始化函数中的Delay_ms()换成了OSTimeDly()函数),这样程序就可以正常运行了。

使用特权

评论回复
板凳
mmuuss586| | 2014-4-12 11:35 | 只看该作者

不熟哎,顶下

使用特权

评论回复
地板
luoxn28|  楼主 | 2014-4-12 12:03 | 只看该作者
版主好。。。
忘了附带工程了,这是基于战舰STM32的工程,KEIL编译。貌似不能上传大的工程和链接。和我一样的初学者需要的可以留个邮箱哈。。。。

使用特权

评论回复
5
shuidi_wangdan| | 2014-4-12 15:13 | 只看该作者
luoxn28 发表于 2014-4-12 12:03
版主好。。。
忘了附带工程了,这是基于战舰STM32的工程,KEIL编译。貌似不能上传大的工程和链接。 ...

使用特权

评论回复
6
lishengyi| | 2014-4-13 20:35 | 只看该作者
我也有个这样的疑问 在使用他的DEMO时 进入调试后 调试无法进行 但是开发板却正常工作之中
你说的那个KEIL 微库编译是怎么回事
这样改过之后 会影响到后面的使用吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

7

帖子

0

粉丝