5003|2

7

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【GD32E503评测】玩转GD32E503-uCOSIII操作系统移植附Demo [复制链接]

  本帖最后由 eew_YeKTCB 于 2021-1-19 09:39 编辑

  开发板下来,首先就可以把官方例程简单的跑一遍了。一般呢,我首先用的是:

01_GPIO_Running_LED 这个例程,用来查看开发板的好坏、开发环境是否正常。进一步的,我就用到04_USART_Printf 这个例程,GD官方提供的板子呢,自带一个USB串口,咱们接上就能直接使用这个例程。可真是相当配套!对于串口,我情有独钟,因为不论是在学习、或是软件的调试,一方面我们使用调试器进行调试、另一方面,我们还能用串口工具来打印消息,这样能让我们很直观的知道,自己的程序工作逻辑、状态。可谓是如虎添翼!

  一般,基本了解了上述的例程后,咱们就可以深入了,我本想移植个ucosII 的工程,可是上官网上看,发现还有个uCOSIII,心血来潮,要不就来移植uCOSIII吧。

 

目标:移植uCOSIII操作系统,并验证功能是否正常。

  1. 首先上网调研下,移植的可行性、准备工作

基于GD32E503V的开发板,GD32E503是个M33内核,其实呢,理解为M3的升级版即可。

移植uCOSIII当然要上Micrium 上面下些源码啦。(uCOSIII是付费的,但我们学习是免费的)PS:Micrium官网上其实就有很多移植的例程,比方ST的,热爱造轮子的朋友们可以自己去下个例程,对比来移植。

  1. 开始“冻手”

小弟坐标福建,动手前还是有点冻手的哈哈。如下图是官方提供的文件:

小弟框下所需要的文件,至于为啥我知道呢,,大家可以去下示例代码,看看示例代码里面有什么、没有什么不就能清楚啦,再一个,其实Micrium提供的文档还是相当详细的,热爱肯英文的小伙伴可以看看。(移植这个uCOSIII我也花了好几个小时看资料,目测用了一两天吧,简简单单的blog可能说不清,大家自己看书哈。看官方资料)我只能贡献下自己移植好的工程。

自己创建个uCOSIII的文件夹,将上述文件copy进来。如图:

另外呢,创建APP/BSP两个文件夹。

APP呢,就是Application,或者说,放main.c的地方。当然,官方提供的工程已经有main.c文件了,咱也可直接使用,没什么问题。

BSP呢,就是board support packet ,也就是放一些芯片外设初始化啥的。

 

  1. 开始将文件添加入工程、并编译。记得最好在keil中也用相同的文件结构,这样比较不会乱,如图:

接下去呢,就是编译了,按道理,能通过就有鬼了,出现了一些报错,比方缺少某某头文件,如果是uCOSIII的,就要去添加下,很简单,就缺啥补啥。我编译过程还算顺利,添加了头文件路径、头文件、基本就没啥啦。这里添加路径!

然后很快编译过啦。

接下去就是创建线程

参照示例代码,依样画葫芦即可:

按道理,我已经创建两个线程,即可debug,进行测试啦。

编译OK,debug OK ,然而,全速运行时,卡在某个位置,不走了,百思不得其解~,其实呢,操作系统,是需要有个心跳的,没错,就是SysTickHandler这个中断,mcu自己的启动代码文件,定义了SysTickHandler入口,uCOSIII同样也有个OS_CPU_SysTickHandler 入口,因此,我们需要替换下,记得全工程搜索下,进行替换。

进一步的,再次deBug,即可发现,有两个线程,友好的、手牵手的,一起行走了。

附上工程,

GD32E50x_Demo_Suites_V1.1.0_uCOSIII_Template.rar (4.34 MB, 下载次数: 121)

 

在这里要提个醒,此工程修改了hd.s的文件,因此,使用其他工程时,需要注意哦,所有例程共用一个.s文件。

image-20210119092238-1.png (14.03 KB, 下载次数: 0)

image-20210119092238-1.png

image-20210119092238-3.png (21.45 KB, 下载次数: 0)

image-20210119092238-3.png

image-20210119092238-5.png (24.2 KB, 下载次数: 0)

image-20210119092238-5.png

image-20210119092238-4.png (30.99 KB, 下载次数: 0)

image-20210119092238-4.png

image-20210119092238-2.png (36.83 KB, 下载次数: 1)

image-20210119092238-2.png

image-20210119092238-6.png (71.14 KB, 下载次数: 1)

image-20210119092238-6.png

image-20210119092238-7.png (28.96 KB, 下载次数: 0)

image-20210119092238-7.png

image-20210119092238-9.png (23.22 KB, 下载次数: 0)

image-20210119092238-9.png

image-20210119092238-8.png (26.5 KB, 下载次数: 0)

image-20210119092238-8.png

GD32E50x_Demo_Suites_V1.1.0_uCOSIII_Template.rar

4.34 MB, 下载次数: 92

最新回复

支持,我刚刚移植了一个FreeRTOS     详情 回复 发表于 2021-1-19 22:01
点赞 关注
 
 

回复
举报

144

帖子

0

TA的资源

版主

沙发
 

不错uscos起源早,应用也多,mark一下

 
 
 

回复

267

帖子

0

TA的资源

一粒金砂(高级)

板凳
 

支持,我刚刚移植了一个FreeRTOS

个人签名

gitee/casy

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表