OpenEdv-开源电子网

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

UCosIII+emwin移植问题,求大神指导!

[复制链接]

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
115
金钱
115
注册时间
2017-7-12
在线时间
26 小时
发表于 2017-7-22 16:50:47 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 许恒博 于 2017-7-22 17:12 编辑

手上的板子是原子的STM32F767,按照原子文档里的方案照着移植的!出现一个问题很奇怪
初始化在启动任务的临界区前时方针调试就会卡死在GUI_Init();  ,系统无法创建其他任务,一直在跑空闲任务;
如放在临界区后就可以正常运行;
然而即使放在临界区后初始化正常,但是在实际使用中,相关emwin操作如果在任务的while循环以前就会死机,但是放在while循环中就可以正常运行!

代码如下:
1、无法正常运行               
void start_task(void *p_arg)
{
        OS_ERR err;
        CPU_SR_ALLOC();
        p_arg = p_arg;

        CPU_Init();
         ....此处省略
        __HAL_RCC_CRC_CLK_ENABLE();        
        WM_SetCreateFlags(WM_CF_MEMDEV);
        GUI_Init();                  //此处无法正常运行        
        WM_MULTIBUF_Enable(1);  
        OS_CRITICAL_ENTER();        
         ....此处省略            
        OS_TaskSuspend((OS_TCB*)&StartTaskTCB,&err);                 
         OS_CRITICAL_EXIT();        
}


2、可以正常运行               
void start_task(void *p_arg)
{
        OS_ERR err;
        CPU_SR_ALLOC();
        p_arg = p_arg;

        CPU_Init();
         ....此处省略
        OS_CRITICAL_ENTER();        
         ....此处省略            
        OS_TaskSuspend((OS_TCB*)&StartTaskTCB,&err);        
        __HAL_RCC_CRC_CLK_ENABLE();        
        WM_SetCreateFlags(WM_CF_MEMDEV);
        GUI_Init();                  //放在此处可以正常运行        
        WM_MULTIBUF_Enable(1);           
         OS_CRITICAL_EXIT();        
}


3、显示花屏(红色代码运行是正常的,但是执行完了之后执行完GUI_Delay(100);就会花屏,任务运行没问题就是显示花了)
void emwindemo_task(void *p_arg)
{
        GUI_CURSOR_Show();
        GUI_SetBkColor(GUI_BLUE);               
        GUI_Clear();                                
        GUI_SetFont(&GUI_Font24_ASCII);
        GUI_SetColor(GUI_YELLOW);   
        GUI_DispString("HELLO WORD!");

        while(1)
        {
        LED1_Toggle;
        GUI_Delay(100);
        }
}

4、系统可以正常工作,显示也是正常的;
void emwindemo_task(void *p_arg)
{
        GUI_CURSOR_Show();
        while(1)
        {
        GUI_SetBkColor(GUI_BLUE);               
        GUI_Clear();                                
        GUI_SetFont(&GUI_Font24_ASCII);
        GUI_SetColor(GUI_YELLOW);   
        GUI_DispString("HELLO WORD!");
        LED1_Toggle;
        GUI_Delay(100);
        }
}


检查了很多地方,跟原子的例程没有什么区别。甚至最后把工程中emwin相关文件,melloc文件夹、连startup_stm32f767.s文件都替换成原子例程中的文件了,但是还是一样的效果。

原子的例程跑是没问题的,我的这个工程怎么都不行,有没有做过的大神指导一下!不胜感激!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
115
金钱
115
注册时间
2017-7-12
在线时间
26 小时
 楼主| 发表于 2017-7-22 17:16:25 | 显示全部楼层
自己顶一下!!大神们,帮帮忙!
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
115
金钱
115
注册时间
2017-7-12
在线时间
26 小时
 楼主| 发表于 2017-7-22 20:29:19 | 显示全部楼层
顶一下 不要沉啊!!!
回复

使用道具 举报

16

主题

339

帖子

0

精华

高级会员

Rank: 4

积分
826
金钱
826
注册时间
2017-6-18
在线时间
163 小时
发表于 2017-7-22 20:35:14 来自手机 | 显示全部楼层
呵呵,你先移不带系统,再一起来
回复

使用道具 举报

16

主题

339

帖子

0

精华

高级会员

Rank: 4

积分
826
金钱
826
注册时间
2017-6-18
在线时间
163 小时
发表于 2017-7-22 20:36:15 来自手机 | 显示全部楼层
不要一步登天,准保没事
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
115
金钱
115
注册时间
2017-7-12
在线时间
26 小时
 楼主| 发表于 2017-7-22 21:49:18 | 显示全部楼层
wlq19911021 发表于 2017-7-22 20:36
不要一步登天,准保没事

就是一步一步走的啊。。先移植的ucosIII运行正常,然后单独移植的emwin运行也是正常的。。两个一起就出现这个问题了!
找来找去不知道哪的问题
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
115
金钱
115
注册时间
2017-7-12
在线时间
26 小时
 楼主| 发表于 2017-7-22 21:50:34 | 显示全部楼层
wlq19911021 发表于 2017-7-22 20:36
不要一步登天,准保没事

能提示一下是哪块设置的原因吗?
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
115
金钱
115
注册时间
2017-7-12
在线时间
26 小时
 楼主| 发表于 2017-7-24 12:50:24 | 显示全部楼层
我问的太幼稚吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 08:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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