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

[复制链接]
 楼主| 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编译。貌似不能上传大的工程和链接。和我一样的初学者需要的可以留个邮箱哈。。。。
shuidi_wangdan 发表于 2014-4-12 15:13 | 显示全部楼层
luoxn28 发表于 2014-4-12 12:03
版主好。。。
忘了附带工程了,这是基于战舰STM32的工程,KEIL编译。貌似不能上传大的工程和链接。 ...

lishengyi 发表于 2014-4-13 20:35 | 显示全部楼层
我也有个这样的疑问 在使用他的DEMO时 进入调试后 调试无法进行 但是开发板却正常工作之中
你说的那个KEIL 微库编译是怎么回事
这样改过之后 会影响到后面的使用吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部