收藏官网首页
查看: 16507|回复: 90

史上最详细UCOS-II移植教程,基于Gokit STM32F103C8T6

 
发表于 2017-3-28 16:53:03 | 显示全部楼层 |阅读模式
免费使用STM32、APP自动代码生成工具
硬件准备:
机智云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库的时基。详细配置过程查看附件里面的文档;
1-LED原理图.png

2-外设配置.png

3-管脚配置.png

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

7-port文件拷贝.png

8-config文件拷贝.png

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

10-添加编译路径.png

Step6:修改os_cpu_a.asm文件,如下:
11-修改汇编文件.png

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

12-修改includes文件.png

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

14-修改中断文件.png

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

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

14-1-5main添加LED宏.png

包含OS相关头文件:

15-包含头文件.png

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

16-4个LED任务.png

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

17-4个闪烁任务.png

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

18-启动.png

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

19-编译无误.png

现象如下:
gif5新文件.gif

附件:
移植好的工程源码:
游客,如果您要查看本帖隐藏内容请回复
UCOS官方源码:
游客,如果您要查看本帖隐藏内容请回复






1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
 楼主| 发表于 2017-4-5 22:35:58 | 显示全部楼层
Seasonic 发表于 2017-3-31 21:35
楼主这么详细的移植教程,网上并不多见,这不单单是技术问题,是你至公无私的情怀。 ...

1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

1

主题

14

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2017-5-10 23:33:32 | 显示全部楼层
谢谢分享,支持楼主,正好学习     ,先 下载1来                                   
                  
 楼主| 发表于 2017-3-28 22:36:43 | 显示全部楼层
坚果 发表于 2017-3-28 22:32
额,IAR的啊......,我没这IDE

Keil 一样,看到那个PORT文件夹没,里面有RealView文件夹,这个就是适用于keil的接口文件,使用keil添加这里的文件到分组即可
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

0

主题

5

帖子

85

积分

注册会员

Rank: 2

积分
85
发表于 2017-3-28 22:30:57 | 显示全部楼层
校园创客福利
下载下来,学习

点评

额,IAR的啊......,我没这IDE  详情 回复 发表于 2017-3-28 22:32

0

主题

5

帖子

85

积分

注册会员

Rank: 2

积分
85
发表于 2017-3-28 22:32:59 | 显示全部楼层
坚果 发表于 2017-3-28 22:30
下载下来,学习

额,IAR的啊......,我没这IDE

点评

Keil 一样,看到那个PORT文件夹没,里面有RealView文件夹,这个就是适用于keil的接口文件,使用keil添加这里的文件到分组即可  详情 回复 发表于 2017-3-28 22:36

53

主题

138

帖子

1883

积分

金牌会员

Rank: 6Rank: 6

积分
1883
发表于 2017-3-29 08:14:41 | 显示全部楼层
好文章,必须顶

14

主题

104

帖子

854

积分

高级会员

Rank: 4

积分
854
发表于 2017-3-29 09:22:27 | 显示全部楼层
手动点赞,下次继续发好的教程,谢谢

0

主题

5

帖子

286

积分

中级会员

Rank: 3Rank: 3

积分
286
发表于 2017-3-29 09:53:08 | 显示全部楼层
汉枫LPB120模块
不错,很牛逼

0

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2017-3-29 20:29:38 | 显示全部楼层
不错哦 学习了 看看学习学习

0

主题

2

帖子

41

积分

新手上路

Rank: 1

积分
41
发表于 2017-3-31 10:46:20 | 显示全部楼层
UCOS-II正是我需要实时操作系统

14

主题

122

帖子

1677

积分

金牌会员

Rank: 6Rank: 6

积分
1677
发表于 2017-3-31 21:35:58 | 显示全部楼层
楼主这么详细的移植教程,网上并不多见,这不单单是技术问题,是你至公无私的情怀。

0

主题

3

帖子

27

积分

新手上路

Rank: 1

积分
27
发表于 2017-4-1 11:46:52 | 显示全部楼层
kkkkkkkkkkkkkkkkk

0

主题

3

帖子

27

积分

新手上路

Rank: 1

积分
27
发表于 2017-4-1 11:47:22 | 显示全部楼层
KKKKKKKKKKKKKKKKKKKK

0

主题

4

帖子

431

积分

中级会员

Rank: 3Rank: 3

积分
431
发表于 2017-4-4 13:08:57 | 显示全部楼层
ucos配置变得好简单呀。。
 楼主| 发表于 2017-4-5 22:35:27 | 显示全部楼层
校园创客福利
ZJSYD 发表于 2017-3-29 08:14
好文章,必须顶

1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
 楼主| 发表于 2017-4-5 22:35:38 | 显示全部楼层
bboy格宇 发表于 2017-3-29 09:22
手动点赞,下次继续发好的教程,谢谢

1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

© 2011-2017 Gizwits ( 粤ICP备11090211号 )

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