OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3090|回复: 3

关于ucosii复位之后不能运行

[复制链接]

49

主题

133

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2015-8-21
在线时间
92 小时
发表于 2015-9-1 20:19:45 | 显示全部楼层 |阅读模式
移植ucosii+uCGUI,程序下载进去可以正常运行,但是复位之后就不能运行了,不知道什么原因,求原子哥指导一下。是哪些原因会造成这种情况。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-9-1 20:51:52 | 显示全部楼层
这种情况一般是,程序中调用了一些还没有初始化的东西导致了hardfault,这个就要你仔细的分析你程序的逻辑了。
开往春天的手扶拖拉机
回复 支持 反对

使用道具 举报

49

主题

133

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2015-8-21
在线时间
92 小时
 楼主| 发表于 2015-9-1 21:01:23 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
谢谢版主,我再查看一下。
回复 支持 反对

使用道具 举报

49

主题

133

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2015-8-21
在线时间
92 小时
 楼主| 发表于 2015-9-1 21:35:54 | 显示全部楼层
[mw_shl_code=c,true]#include "sys.h" #include "delay.h" #include "led.h" #include "lcd5310.h" #include "includes.h" #include "GUI.h" #include "GUIDEMO.h" /////////////////////////UCOSII?????è??/////////////////////////////////// #define START_TASK_PRIO 10 //?????????????????è????×??? #define START_STK_SIZE 64 OS_STK START_TASK_STK[START_STK_SIZE]; void start_task(void *pdata); #define LED_TASK_PRIO 6 #define LED_STK_SIZE 128 OS_STK LED_TASK_STK[LED_STK_SIZE]; void led_task(void *pdata); #define DEMO_TASK_PRIO 7 #define DEMO_STK_SIZE 2048 OS_STK DEMO_TASK_STK[DEMO_STK_SIZE]; void demo_task(void *pdata); ////////////////////////////////////////////////////////////////////////////// int main(void) { delay_init(); //???±?????????? NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//?è????????????·?×é??×é2??2??????????????2???ì???????? LED_Init(); //????????LED?????????????? LCD_init(); //??????LCD GUI_Init(); OSInit(); //??????UCOSII OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO );//???¨???????? OSStart(); } //???????? void start_task(void *pdata) { OS_CPU_SR cpu_sr=0; pdata = pdata; OS_ENTER_CRITICAL(); //??????????(??·¨±??????ò??) OSTaskCreate(led_task,(void*)0,(OS_STK *)&LED_TASK_STK[LED_STK_SIZE],LED_TASK_PRIO); OSTaskCreate(demo_task,(void*)0,(OS_STK *)&DEMO_TASK_STK[DEMO_STK_SIZE],DEMO_TASK_PRIO); OSTaskSuspend(START_TASK_PRIO); //????????????. OS_EXIT_CRITICAL(); //??????????(????±??????ò??) } //LED???? void led_task(void *pdata) { while(1) { LED0=!LED0; delay_ms(500); } } void demo_task(void *pdata) { while(1) { GUIDEMO_ShowColorBar(); delay_ms(200); } } [/mw_shl_code]
我怎么都查不出来。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-1 16:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表