• 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任务,用来测试浮点计算。

  • 相关阅读:
    使用Charles对iPhone进行Http(s)请求拦截(抓包)
    pip 安装 和 卸载 django
    python2.7.5 安装pip
    (Git 学习)Git SSH Key 创建步骤
    git学习四:eclipse使用git提交项目
    我们为什么要使用List和Set(List,Set详解)
    List、Set、Map的区别
    type=hidden
    测试业务分析
    USACO 3.2 kimbits DP
  • 原文地址:https://www.cnblogs.com/gary-guo/p/5802595.html
Copyright © 2020-2023  润新知