[资料] 史上最详细UCOS-II移植教程,基于Gokit STM32F103C8T6
1304 查看
3 回复
 楼主 | 发布于 2017-10-17 | 只看楼主
分享到:
硬件准备:
机智云gokit V2.1 板卡,基于STM32F103C8T6
软件准备:
STM32CubeMX
IAR for ARM
Step1:在UCOS官网下载源码,这里选择Micrium_uC-Eval-STM32F107_uCOS-II,版本是V2.92.07

Step2:使用STM32CubeMX快速配置1个LED闪烁的例程,板卡有4个LED,系统时钟配置为72MHz,Systick我们用作UCOS的心跳,另外开启一个定时器作为HAL库的时基。详细配置过程查看附件里面的文档;



Step3:生成IAR工程,在其根目录创建文件夹UCOSII,在里面再创建3个文件夹:CONFIG、CORE、PORT,如下所示:
Step4:拷贝UCOS-II源码到工程文件夹,分为三步:



Step5:在IAR里面添加文件分组并添加编译路径;


Step6:修改os_cpu_a.asm文件,如下:

Step7:修改includes.h,把不需要的头文件注释掉,如下:


Step8:修改stm32f1xx_it.c文件,注释掉void PendSV_Handler(void)函数,在voidSysTick_Handler(void)函数里面调用OSTimeTick();


至此UCOS-II移植完毕,接下来编写4个LED Blinking任务测试:

Step1:在main.h添加LED控制宏:


包含OS相关头文件:


Step2:定义任务堆栈和优先级:


Step3:编写LED任务,LED1每100ms翻转1次,LED2每200ms翻转1次,LED3每300ms翻转1次,LED4每500ms翻转1次:


Step4:初始化OS,创建任务,启动调度器:


Step5:编译,无错误和警告后,烧录调试:


现象如下:
(0 ) (0 )

手术台

回复 举报

回复于 2018-03-24 沙发

多谢分享!!!
(0 )
评论 (0) 举报

回复于 2018-06-20 2#

感谢分享!有需要机械臂,电源,硬件电路设计,软件编程,开发板等各种定制的可以私聊我哦,相互学习,共同进步。
(0 )
评论 (0) 举报

回复于 2020-03-16 3#

谢谢分享
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部