硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3316|回复: 12
收起左侧

[有问必答] F407移植UCOSII 出现运行时OSRunning =0

[复制链接]

27

主题

91

回帖

172

积分

初级会员

积分
172
发表于 2018-6-5 10:30:31 | 显示全部楼层 |阅读模式
本帖最后由 borrow1988 于 2018-6-5 13:59 编辑

if (err == OS_ERR_NONE) {
            if (OSRunning == OS_TRUE) {                        /* Find HPT if multitasking has started */
                OS_Sched();
            }

移植UCOS2.8版本,出现不进调度函数的问题,一般怎么解决


不好意思,弄错了,关闭此贴

PS: 发现个问题
void AppLedTask(void *para)
{
        while(1)
        {
               
                GPIO_ToggleBits(GPIOA, GPIO_Pin_4); (1)
                OSTimeDlyHMSM(0, 0, 0, 200);        
                GPIO_ToggleBits(GPIOA, GPIO_Pin_5);  (2)
        }
}


在1,2分别打断点,全速执行,每次都停到2处,1断点没停过,此时程序不进入OS_IDLE这个任务,实验效果1,2灯都亮灭(明明没执行1语句,不知道为啥1的灯还会正常效果),如果删除2语句,
程序进入OS_IDLE,但是效果正常(1的灯亮灭),不知道是不是编译器问题。。。。
而且,把1,2放在延时函数上面,还是进入IDLE,试验效果还是正常,真不知道为啥。。。。


PS: 找到问题了,NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); 这个之前没加,导致上述问题,经验啊...
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2018-6-5 10:39:08 | 显示全部楼层
如果是2.8版本的话,要先淘汰掉再说,在2.86及其以前的版本有个相当坑的bug。

去我们论坛置顶帖V5网盘的uCOS-II文件夹下载一个uCOS-II例子,看一下规范的uCOS-II的例子如何编写的。现在很多uCOS-II都做的非常不规范,出现各种奇葩问题。
回复

使用道具 举报

27

主题

91

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2018-6-5 11:02:44 | 显示全部楼层
eric2013 发表于 2018-6-5 10:39
如果是2.8版本的话,要先淘汰掉再说,在2.86及其以前的版本有个相当坑的bug。

去我们论坛置顶帖V5网盘的 ...

我是在UCOS网站下载的II版本最后一个,应该是2.84以上的,有个问题是总进入Taskidle,不知道咋回事。




回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2018-6-5 11:05:39 | 显示全部楼层
borrow1988 发表于 2018-6-5 11:02
我是在UCOS网站下载的II版本最后一个,应该是2.84以上的,有个问题是总进入Taskidle,不知道咋回事。

...

把你的这些代码先删掉,太乱了。我不需要看你的代码

uCOS-II官方你下载的地址给我就行。
回复

使用道具 举报

27

主题

91

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2018-6-5 12:29:49 | 显示全部楼层
eric2013 发表于 2018-6-5 11:05
把你的这些代码先删掉,太乱了。我不需要看你的代码

uCOS-II官方你下载的地址给我就行。

https://www.micrium.com/download/micrium_stm3240g-eval_ucos-ii/
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2018-6-5 12:32:24 | 显示全部楼层
borrow1988 发表于 2018-6-5 12:29
https://www.micrium.com/download/micrium_stm3240g-eval_ucos-ii/

我们V5就是V2.92的版本,直接参考移植即可。论坛置顶帖V5网盘的uCOS-II文件夹下载

ps:另外你贴的代码已经帮你删了,太乱了,看着难受
回复

使用道具 举报

27

主题

91

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2018-6-5 12:40:54 | 显示全部楼层
eric2013 发表于 2018-6-5 12:32
我们V5就是V2.92的版本,直接参考移植即可。论坛置顶帖V5网盘的uCOS-II文件夹下载

ps:另外你贴的代码 ...

好的,只是测试下没排版,我这个就是照着你程序移植的 不过删了点东西,都是APP.C下面的
比如App_TaskReturnHook,App_TaskStatHook
回复

使用道具 举报

27

主题

91

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2018-6-5 12:46:32 | 显示全部楼层
eric2013 发表于 2018-6-5 12:32
我们V5就是V2.92的版本,直接参考移植即可。论坛置顶帖V5网盘的uCOS-II文件夹下载

ps:另外你贴的代码 ...

/*
*********************************************************************************************************
*                                          App_TaskCreateHook()
*
* Description: This function is called when a task is created.
*
* Arguments  : ptcb   is a pointer to the task control block of the task being created.
*
* Note(s)    : 1) Interrupts are disabled during this call.
*********************************************************************************************************
*/
这以下的函数都没移植,有啥用啊? 还有您刚才说2.86以上的版本有什么BUG么?
回复

使用道具 举报

27

主题

91

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2018-6-5 12:56:51 | 显示全部楼层
eric2013 发表于 2018-6-5 12:32
我们V5就是V2.92的版本,直接参考移植即可。论坛置顶帖V5网盘的uCOS-II文件夹下载

ps:另外你贴的代码 ...

void AppLedTask(void *para)
{
        while(1)
        {
                GPIO_ToggleBits(GPIOA, GPIO_Pin_4);
                OSTimeDlyHMSM(0, 0, 0, 200);       
        }
}

执行到OSTimeDlyHMSM(0, 0, 0, 200); 就进入OS_TaskIdle
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2018-6-6 00:33:16 | 显示全部楼层
borrow1988 发表于 2018-6-5 12:46
/*
********************************************************************************************** ...

在2.88才得到修正:

https://doc.micrium.com/pages/viewpage.action?pageId=12851586
回复

使用道具 举报

27

主题

91

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2018-6-6 10:10:45 | 显示全部楼层
eric2013 发表于 2018-6-6 00:33
在2.88才得到修正:

https://doc.micrium.com/pages/viewpage.action?pageId=12851586

昨天你说完2.86有个问题,我查了下,OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy];
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2018-6-6 10:11:45 | 显示全部楼层
borrow1988 发表于 2018-6-6 10:10
昨天你说完2.86有个问题,我查了下,OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy];

此贴就交流这么多吧,收工
回复

使用道具 举报

27

主题

91

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2018-6-6 10:16:36 | 显示全部楼层
eric2013 发表于 2018-6-6 10:11
此贴就交流这么多吧,收工

好的,谢大汉胸
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-17 21:49 , Processed in 0.058105 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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