当前位置:首页 > 单片机 > 单片机
[导读]Ⅰ、概述上一篇文章是讲述uC/OS-II Ports下面os_cpu_a.asm、os_cpu_c.c和os_cpu.h文件底层端口代码的移植(修改)和说明,接着上一篇文章来讲述关于UCOS移植应用部分的代码。该文主要针对uC/OS-II上层应用(配置OS、

Ⅰ、概述

上一篇文章是讲述uC/OS-II Ports下面os_cpu_a.asm、os_cpu_c.c和os_cpu.h文件底层端口代码的移植(修改)和说明,接着上一篇文章来讲述关于UCOS移植应用部分的代码。

该文主要针对uC/OS-II上层应用(配置OS、新建任务等)来讲述。

请下载“UCOS2_STM32F1_3个简单任务”作为参考工程。

笔者将“UCOS移植详细过程”分为多篇文章来讲述,敬请关注。

关于本文的详情请往下看。

Ⅱ、下载

笔者将F0、F1、F3、F4移植到最新UCOS2.92上。移植好的、独立的4个工程供大家下载学习、研究。建立的任务都是一样的,只是针对芯片内核不同,Ports目录下相关的源代码有差异、标准外设库也存在差异。每一个系列针对不同型号芯片只需要适当改一下“型号”就行了。

提供下载的软件工程都是在板子上运行,保证没问题才上传至360云盘。下载提供下载的软件工程是在上一篇文章的基础上增加了os_cfg.h系统配置中文注释,包含了STM32F0、F1、F3、F4系列独立的软件工程。

UCOS2.92_STM32(F0、1、3、4)3个简单任务(增加os_cfg中文注释)

360云盘下载地址:

https://yunpan.cn/cBsmgInzX856G访问密码 4242

UCOS源代码工程

官网下载(需要账号):

https://www.micrium.com/downloadcenter/download-results/?searchterm=hm-stmicroelectronics&supported=true

360云盘下载(定期更新至最新):

https://yunpan.cn/cRzcf8eSacEhE访问密码 1235

ST标准外设库

官网下载(需要账号):

http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software.html?querycriteria=productId=SC961

360云盘下载(定期更新至最新):

https://yunpan.cn/cSaCpGejMSfr8访问密码 60ae

参考资料:

https://yunpan.cn/cRCdSt73GwT6j访问密码 499e

Ⅲ、工程目录结构说明


文件结构和工程目录结构对应关系如上图所示。

第一类(标准外设库):

Startup Code:启动代码

STM32F10x_StdPeriph_Driver:标准外设库库驱动

CMSIS:标准接口

第二类(μC/OS-II实时内核):

uC/OS-II Source:内核源代码(与处理器无关)

uC/OS-II Ports:OS端口底层代码(与处理器、编译平台有关)

第三类(用户应用):

Bsp:应用底层代码(初始化、驱动等)

App:应用实现代码(配置OS、应用等)

该文主要针对第三类APP进行移植描述,包括os_cfg.h、app_cfg.c、app_task.c文件等。

Ⅳ、配置os_cfg.h文件

os_cfg顾名思义,它就是系统配置的意思,它位于工程App目录结构下面,主要是系统上层配置和应用。

1.各项参数


各项参数里面针对初学者,主要有三个重要的参数,其他参数暂时可以不用深入理解。

三个重要的参数:

#define OS_LOWEST_PRIO 63u

#define OS_MAX_TASKS 10u

#define OS_TICKS_PER_SEC 100u

这三个参数需要重点理解,详情可参看中文注释。

对于HOOKS函数是我们上一篇文章讲述os_cpu_c.c里面相关的函数,这里OS_CPU_HOOKS_EN会被系统调用,将其定义为使能。

关于OS_DEBUG_EN,我们不使用系统自带的调试功能,就不使能。

2.任务堆栈大小


这里和我们自己建立的任务堆栈差不多的意思,将会在下面讲述app_cfg讲解。

3.任务管理


任务管理主要是针对uC/OS-II Source结构下os_task.c文件里面的源代码,os_task.c文件里面就包含了任务建立、删除、挂起等关于任务的一些函数接口,我们需要使用那些功能,这里就需要打开。

如创建任务:

#define OS_TASK_CREATE_EN 0u

#define OS_TASK_CREATE_EXT_EN 1u

我们使用扩展方式创建任务,也就是升级版本创建任务的函数。

4.系统其他功能


了解过UOCS系统的人可能知道,UCOS系统有多种功能,也就是可以建立多任务之间通信的功能,每一种功能对应一个源代码文件。

从上图可以看得出来,每一种功能够有使能全局的宏定义,只有使能了全局宏定义才可以使用里面的功能,里面各个模块(函数接口)也是配置了使用和不使用的的宏定义。

关于UCOS2更多功能,我会在后期整理关于UCOS系统相关的知识,也就是这里所说的其他功能,敬请关注微信等待,后期第一时间在微信发布消息。

Ⅴ、配置app_cfg.h、.c文件

app_cfg.c文件位于工程App目录结构下面,主要用于系统应用的配置。

1.任务优先级、堆栈


我们建立任务需要对任务优先级和堆栈进行一个定义,它位于app_cfg.h文件下面。

这里任务数和最小优先级数值需要和os_cfg.h文件的宏定义对应才行。

2.系统滴答


我们在前两篇文章讲述过关于系统滴答的,但讲的是屏蔽Micrium官网提供的OS_CPU_SysTick配置(位于os_cpu_c.c文件下)。

这里是兼容ST(也是M3内核标准的)的函数接口,所以就不使用Micrium官网提供的OS_CPU_SysTick配置。

3.建立任务


我们建立任务就是在系统里面分配一定的空间,给我们的应用提供一个函数接口(AppTask1、AppTask2、AppTask3)。我们一旦启动了系统(开始任务),相关的函数就会逐步执行。

Ⅶ、建立任务(app_task.c)


我们使用操作系统的最终目的还是需要执行我们的应用,我们这里简历了3个简单的应用(任务),位于app_task.c源文件下面。

应用比较简单,就是变化LED,至于OSTimeDly(50)函数,可能初学者不是很理解,其实就是延时50个滴答。

我们在os_cfg.h文件中定义#define OS_TICKS_PER_SEC 100u,也就是每秒100个滴答,OSTimeDly(50)就是延时了0.5秒的意思。

Ⅷ、文件比较工具

对于前面几篇文章,可能有些人比较关注我们移植的过程中到底修改了那些文件,这里就给大家推荐一下“文件比较工具”,网上有很多相关的工具,可以自己搜索下载。也可以到我360云盘下载:

https://yunpan.cn/cBsYfRw3Iiut3访问密码 7155

这里我们拿Beyond Compare为例,给大家看一下效果:


Ⅸ、说明

相关的文章可以到我博客上查看,我也会定期更新,新内容第一时间在微信分享。

当你掌握UCOS在一种平台上的移植,其他平台移植原理类似,请不要局限某一平台。

以上总结仅供参考,若有不对之处,敬请谅解。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭