打印

STM32F4 Discovery开发板上移植UCOS2

[复制链接]
2717|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tianyazhix|  楼主 | 2013-3-29 22:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
       最近,我在STM32F4 Discovery开发板上移植UCOS2,调试一直都没有成功,我将代码上传了上来,请高手帮我看下,谢谢。

F4_UCOS.rar

463.48 KB

代码

沙发
pkat| | 2013-3-29 23:12 | 只看该作者
代码贴出来可能会更加方便讨论一点

使用特权

评论回复
板凳
tianyazhix|  楼主 | 2013-3-30 11:18 | 只看该作者
怎么没有人,看帖哈:'(

使用特权

评论回复
地板
hawksabre| | 2013-3-30 17:34 | 只看该作者
操作系统这一块没有玩过   楼主   帮你顶一个   呵呵   希望有高手能够帮忙   呵呵

使用特权

评论回复
5
tianyazhix|  楼主 | 2013-3-30 21:01 | 只看该作者
本帖最后由 tianyazhix 于 2013-3-30 21:02 编辑

以下,是主函数的代码:但是不知道问题出在什么地方??

#include "includes.h"
#include "bsp.h"
#include "delay.h"
/////////////////////////UCOSII任务堆栈设置///////////////////////////////////
//START 任务
#define START_TASK_PRIO     10      //开始任务的优先级设置为最低,设置任务优先级
#define START_STK_SIZE   64     //设置任务堆栈大小
OS_STK START_TASK_STK[START_STK_SIZE];   //创建任务堆栈空间
void start_task(void *pdata);     //任务函数接口
      
//LED1任务
#define LED1_TASK_PRIO       7      //设置任务优先级
#define LED1_STK_SIZE     64     //设置任务堆栈大小
OS_STK LED1_TASK_STK[LED1_STK_SIZE];   //创建任务堆栈空间
void led1_task(void *pdata);     //任务函数接口
//LED2任务
#define LED2_TASK_PRIO       6      //设置任务优先级
#define LED2_STK_SIZE    64     //设置任务堆栈大小
OS_STK LED2_TASK_STK[LED2_STK_SIZE];   //创建任务堆栈空间
void led2_task(void *pdata);     //任务函数接口
int main(void)  //主函数
{
OS_CPU_SysTickInit(); //设置SysTick,并允许中断。
GPIO_init();   //端口初始化
OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO );//创建起始任务
OSStart();    //开始任务调度
return (0);
}
//开始任务
void start_task(void *pdata)
{
    OS_CPU_SR cpu_sr=0;
pdata = pdata;
OSStatInit();     //初始化统计任务.这里会延时1秒钟左右
  OS_ENTER_CRITICAL();   //进入临界区(无法被中断打断)   
  OSTaskCreate(led1_task,(void *)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],LED1_TASK_PRIO);         
  OSTaskCreate(led2_task,(void *)0,(OS_STK*)&LED2_TASK_STK[LED2_STK_SIZE-1],LED2_TASK_PRIO);         
OSTaskSuspend(START_TASK_PRIO); //挂起起始任务.
OS_EXIT_CRITICAL();    //退出临界区(可以被中断打断)
}
//LED1任务
void led1_task(void *pdata)
{   
while(1)
{
  LED0=0;
  delay_nms(80);
  LED0=1;
  delay_nms(920);
};
}
//LED2任务
void led2_task(void *pdata)
{   
while(1)
{
  LED1=0;
  delay_nms(300);
  LED1=1;
  delay_nms(300);
};
}

使用特权

评论回复
6
dbayj| | 2013-3-30 21:26 | 只看该作者
这是在官网下的代码,没有看过,不知道对你有没有帮助。

Micrium_STM3240G-Eval_uCOS_II.zip

2.45 MB

使用特权

评论回复
7
tianyazhix|  楼主 | 2013-3-30 22:33 | 只看该作者
dbayj 发表于 2013-3-30 21:26
这是在官网下的代码,没有看过,不知道对你有没有帮助。

我想知道,我现在的代码错在什么地方

使用特权

评论回复
8
tianyazhix|  楼主 | 2013-3-30 23:30 | 只看该作者
问题解决了,果断上传代码。希望多多支持。

F4_UCOS.rar

461.7 KB

移植代码

使用特权

评论回复
9
gxgclg| | 2013-3-30 23:33 | 只看该作者
LZ解决问题的速度很快啊,多谢分享

使用特权

评论回复
10
1612496941| | 2013-11-17 16:08 | 只看该作者
谢谢楼主分享呀:'(

使用特权

评论回复
11
tianyazhix|  楼主 | 2013-11-18 13:44 | 只看该作者
:)

使用特权

评论回复
12
wh_llp| | 2013-12-31 09:01 | 只看该作者
感谢分享!楼主好人有好报。

使用特权

评论回复
13
outstanding| | 2014-2-25 17:28 | 只看该作者

使用特权

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

本版积分规则

4

主题

56

帖子

0

粉丝