大家好,精选小编来为大家解答以上问题。ucosii任务堆栈里存放着什么,ucosii很多人还不知道,现在让我们一起来看看吧!
1、 Step1:在UCOS官网下载源代码。在这里,选择Micrium _ UC-Eval-STM 32f 107 _ UCOS-II,版本2.92.07
2、 Step2:使用STM32CubeMX快速配置一个LED闪烁的例程。该板有4个led,系统时钟配置为72MHz。Systick被用作UCOS的心跳,一个定时器被启动作为HAL库的时基。查看随附文档,了解详细的配置过程;
3、 Step3:生成IAR项目,在其根目录下创建文件夹UCOSII,并在其中再创建三个文件夹:CONFIG、CORE和PORT,如下图:
4、 步骤4:将UCOS-II源代码复制到项目文件夹中。有三个步骤:
5、 步骤5:在IAR中添加文件分组和编译路径;
6、 步骤6:修改os_cpu_a.asm文件,如下所示:
7、 步骤7:修改includes.h并注释掉不必要的头文件,如下所示:
8、 Step8:修改stm32f1xx_it.c文件,注释掉void PendSV_Handler(void)函数,调用void SysTick_Handler(void)函数中的ostimetick();
9、 至此,UCOS-II已经移植完毕。接下来,编写四个LED闪烁任务测试:
10、 步骤1:在main.h中添加LED控制宏:
11、 包括与操作系统相关的头文件:
12、 步骤2:定义任务堆栈和优先级:
13、 Step3:写LED任务,LED1每100ms转一次,LED2每200ms转一次,LED3每300ms转一次,LED4每500ms转一次:
14、 步骤4:初始化操作系统,创建任务,并启动调度程序:
15、 步骤5:编译,没有错误和警告后,刻录和调试:
本文到此结束,希望对大家有所帮助。