洞察探索如何通过一套代码实现跨平台小程序开发与高效管理,助力企业数字化转型
871
2022-09-27
UCOSII在STM32F407上的移植
1、ucosii移植准备工作
1.1准备基础工程:
移植的时候需要一个基础工程,为了方便起见我们就选取跑马灯实验,作为ucossii移植的基础工程。
1.2Ucossii源码:
1)Micrium官网-
2)开发板光盘自带
2、Ucossii移植步骤
1)step1
在基础工程文件夹中先建立UCOSII文件夹,然后在基础工程中UCOSII下建立相应的文件夹:CONFIG、CORE和PORT。
2)step2
向core文件夹中添加文件,
3)step3
向CONFIG文件夹中添加文件,
4)step4
向PORT文件件中添加文件,
5)step5
将Ucosii源码添加到工程中,打开工程,选择
新建三个分组:
往分组里面添加文件,CORE
PORT
CONFIG
结果如下
把头文件路径添加进去,
编译后出现如下错误
这个文件没用到,可以注释掉
再编译,又有一个错误
这个中断服务函数完成上下文切换,一般都是用汇编来编写的,
把stm32f4xx_it.c里面的函数注释掉
再编译就没有错误了。
6)step6
修改sys.h文件
再编译会出现错误
再编译,没有错误
因为F4系列会有FPU浮点运算单元:
应该改为
重复定义了,不应该定义去掉__FPU_PRESENT=1
再编译,没有错误,
2.文件作用
1、CONFIG中文件
os_cfg.h文件很重要的一些系统相关的宏定义,主要用于系统的裁剪等。
2)PORT中的文件
注意多参考STM32的参考资料
3)CORE中的文件
4)整个架构
红色部分为整个源码部分,跟CPU无关的,
绿色部分与应用程序相关的代码
蓝色部分与移植相关的部分
3、测试软件是否移植成功
1)创建一个start_task任务,start任务用来创建其他任务。
2)创建一个led0_task任务,用来控制LED0的亮灭
3)创建一个led1_task任务,用来控制LED1的亮灭
4)创建一个float_task任务,用来测试浮点计算。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~