收藏官网首页
查看: 15585|回复: 2

UCOSII在STM32上的移植--详解

跳转到指定楼层
楼主
发表于 2016-10-27 01:06:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
本帖最后由 林光光1号 于 2016-11-23 09:24 编辑

STM_UCOSII.rar (8.8 MB, 下载次数: 37) 最近学习了UCOSSII,并在STM32上移植成功,所以想跟大家分享一下,互相学习,如果有哪些错误,希望大家指出。
本文所用到的资料及例程,这次的移植主要参照《ucosiistm32 上的移植详解 .PDF》上的文章,其中PDF文件也上传了。这里我所移植的例程是按照我自己的编程习惯,如果大家看不懂可以参考PDF上的例程 template.zip (369.37 KB, 下载次数: 25) 。着PDF,边看边操作会更好理解。

首先按照PDF手册上的步骤来,我这里的算是简化了,挑主要的步骤说一下。先建立一个文件夹,并在里面建立一些子文件夹。

建立工程并保存在文件夹下,由于我已经建立了工程,所以图片上看到的文件多了Listings与Objects。并在文件下面添加以下文件。
这个是STM32的一下硬件驱动库文件。文件我已经提前从其他地方复制过来了。
这个是STM32初始化文件。文件我已经提前从其他地方复制过来了。


这个是启动文件及一些配置文件,文件我已经提前从其他地方复制过来了。

这个是用来测试的LED文件,大家可以根据实际的硬件接口修改里面的IO配置,文件我已经提前从其他地方复制过来了。
这个是包含的.H文件,整个工程要用到的
最后的ucossii文件里的源码我是从百度上下载来的版本也是2.86,不过里面有些文件夹的名字有点不一样,但是内容是一样的,不影响,文件我已经提前从其他地方复制过来了。

ucossii里建立了两个子文件夹
这个里面放的ucossii的借口文件,要修改的
这个里面的ucosii文件不用修改的

最后整个工程建立完成,如图所示。
接下来就开始讲一下怎么去修改移植过来的ucossii文件,在scr里的是不用修改的,我们主要对port文件夹里面的进行修改。
首先是os_cup.h文件,它里面什么都不用改,吧最后三个函数注释掉就行了至于为什么,大家可以看PDF,里面又详细说明

然后是os_cpu_c.c文件

它里面的钩子文件已经是写好的了只要把前面的一些定义注释掉已经最后两个函数注释掉就行了,至于为什么,大家可以看PDF,里面又详细说明

最后是os_cpu_a.asm ,这个是汇编文件,里面有两个地方需要修改的



基本要修改的都已经完成了,但是还有一些地方注意

最后的app_cfg.h 文件,是没有的,新建一个,然后保存在include文件夹中,里面的代码是定义任务函数的优先级和任务的STK大小,os_cfg.h 是用来配置 ucosii 系统的。拷贝Micrium\Software\EvalBoards\ST\STM3210B-EVAL\RVMDK\OS-Probe\os_cfg.h 里面的,并按照PDF做一些修改,


在这里说明一下,可能有一些人用的启动文件不一样,但是按照PDF里面所说的去修改就可以了,,最后记得在stm32f10x_it.c 加上
void SysTick_Handler(void) 函数。如果有什么不理解的可以多看几遍PDF文档,里面一下重要的细节我已经标出,也可以提出来互相学习。

我就是我,不一样的烟火;努力努力,永不放弃。

321

主题

1054

帖子

4513

积分

论坛元老

Rank: 8Rank: 8

积分
4513
QQ
沙发
发表于 2016-10-27 12:21:07 | 只看该作者
good啊,mark了
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
板凳
 楼主| 发表于 2016-10-28 00:22:03 | 只看该作者

多看文档吧,昨晚写着写着就差点睡着了,做的不好,多多包涵
我就是我,不一样的烟火;努力努力,永不放弃。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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