zoukankan      html  css  js  c++  java
  • stm32CubeMx+TrueSTUDIO+uc/os-III移植开发(二)

    (三)复制相关文件

    (1)继上次的代码生成后会显示如下的图

     

     

    点击第一个,打开文件夹如下

     

     

     (2)新建文件夹UCOSIII

     

     

     

    在UCOSIII文件夹下,新建如下的文件夹

     

     

     (3)将uc/os源文件中 Micrium_STM3240G-EVAL_OS3MicriumExamplesSTSTM3240G-EVALOS3中文件复制到APP文件夹,共11个文件,该文件夹存放的是应用程序文件和配置文件,如图

     

     

     

     

    (4)Micrium_STM3240G-EVAL_OS3MicriumExamplesSTSTM3240G-EVALBSP的部分文件复制到BSP,这个文件是板载文件,存放的是板级支持包的文件夹。

     

     

     (5)将Micrium_STM3240G-EVAL_OS3MicriumSoftwareuC-CPU的全部文件复制到uC-CPU,依次将剩下的UC-LIB、uCOS-III、uC-Serial中的全部文件分别复制到相应文件夹,只放第一张图,剩下图片就不放了。存放的都是底层的库文件。

     

     

     (6)复制完之后打开工程.project。

     

     

     打开后的文件列表如下

     

     

     (四)修改系统文件

    (1)在菜单栏中点击“项目”——“属性”,找到下图,这是用来添加包含文件的路径。

     

     

     (2)点击Add Folder添加UCOSIII文件夹

     

     

     (3)再切换到Include界面

     

     

     将路径添加进去,分别是:

    UCOSIII/APP

    UCOSIII/BSP

    UCOSIII/BSP/CMSIS

    UCOSIII/BSP/OS/uCOS-III

    UCOSIII/uC-CPU

    UCOSIII/uC-CPU/ARM-Cortex-M4/GNU

    UCOSIII/uC-LIB

    UCOSIII/uC-LIB/Ports/ARM-Cortex-M4/GNU

    UCOSIII/uCOS-III/Ports/ARM-Cortex-M4/Generic/GNU

    UCOSIII/uCOS-III/Source

    UCOSIII/uC-Serial/Driver/ST

    UCOSIII/uC-Serial/Line

    UCOSIII/uC-Serial/OS

    UCOSIII/uC-Serial/OS/uCOS-III

    UCOSIII/uC-Serial/Source

    如图所示,添加完之后,点击“确定” “是”。

     

     

     (4)打开app.c文件,然后点击左上角,新建app.c的头文件,因为app.c文件为uc/os的main()函数文件,现在要将其改成一个API接口文件,将app.c文件中int main(void)改为int app(void),再在芯片的底层文件夹中的main.c里引用app()函数。具体操作如下:

     

     

     

    点击“完成”然后叉掉,打开app.h,编辑如下

     

     这样就改好了app.c,再在main.c里包含app.h文件

     

    最后将app()函数放在“/USER CODE BEGIN 2/”和“/USUR CODE END 2/”之间。注意:app()函数只建议放在该处,其他的应用开发函数都会放在app()函数里或者放在之前的类似“/USER CODE BEGIN 2/”和“/USUR CODE END 2/”的区域里,反正不能放在app()函数之后,因为代码不会跳转到app()函数后的代码。

     

     (5)将三个文件夹里的IAR、RealView都右键删掉,只留下GUN

     

     (6)打开startup.s文件,将startup.s的全部内容替换掉startup文件夹中的startup_stm32f407xx.s的全部内容,然后右键删掉第一个startup.s,这是用uC/os源码里的启动文件里的代码替换掉底层代码生成的启动文件代码,但是不能直接用文件替换,得用复制粘贴内容,不然startup_stm32f407xx.s文件会再次生成。

     (7)最后在删除这个system_stm32f4xx.c文件,解决时钟冲突的问题。

    点击小锤子编译,就没问题了。

     本篇移植到此结束,下一篇用led的任务试验该移植是否成功移植。

     

     

     

     

     

     

  • 相关阅读:
    [置顶] 大型网站技术架构(六)网站的伸缩性架构
    [置顶] 大型网站技术架构(五)网站高可用架构
    [置顶] 大型网站技术架构(五)网站高可用架构
    [置顶] 大型网站技术架构(四)网站的高性能架构
    [置顶] 大型网站技术架构(四)网站的高性能架构
    [置顶] 大型网站技术架构(三)架构核心要素
    [置顶] 大型网站技术架构(二)架构模式
    [置顶] 大型网站技术架构(二)架构模式
    [置顶] 大型网站技术架构(一)大型网站架构演化
    [置顶] 大型网站技术架构(一)大型网站架构演化
  • 原文地址:https://www.cnblogs.com/lailai-laird/p/12531706.html
Copyright © 2011-2022 走看看