stm32f767 usoc3

移植UCOS III

 

UCOS3移植到STM32F767操作,大步骤五个,后面具体讲解,每个小步骤:

第一步:拷贝源文件:形成:【uC/CPU】、【uC/OS-III】、【uC-LIB】、【示例工程中的CONFIG、BSP】。

第二步:在Keil项目中添加文件分组,添加头文件路径。

第三步:修改 startup_stm32f7xx.s文件,PendSV_Handler和SysTick_Handler,及FPU的支持添加代码。

第四步:BSP中 bsp.c  和 bsp.h 修改。

第五步:按需配置工程:os_cfg.h 修改,cpu_cfg.h 修改,os_cfg_app.h 修改,app.c 修改。

 

 

总结性的东西,先看,看完后,带着这些总结的东西思维。

1.三个主要文件夹:uC-CPU、uC-LIB、uC-COIII,是源码中的重中之重。

2.二个次要文件夹:uC-BSP、uC-CONFIG【也有取名uC-APP】,是源码中的辅助文件。

3.先自己在工程模板中,创建一个 ucos3文件夹,再下面,创建子文件夹:uC-CPU、uC-LIB、uC-COIII、uC-BSP、uC-CONFIG

4.在Keil中创建组织文件夹时,也创建六个文件夹:uC-CPU、uC-LIB、uC-COIII\ports、uC-COIII\source、uC-BSP、uC-CONFIG

移植的内容就这么点,完全可以记下!不要嫌这么点东西多,有时候就应该像当数学公式先给记住,然后再推算都是可以的!

 

 

第一步:拷贝ucos3源代码 :

因为开发板是STM32F767型号,在下载时版本的选择最接近的示例库。

Micrum被WESTON-EMBEDDED收购了,或许,他原本就是weston公司,反正官网进行了大更新,根市场教材的样子有变化,但东西没有太大变化。

https://www.weston-embedded.com/micrium-examples

SMT32F767,从官网下载时,我选择最接近的:STM32F767ZI-Nucleo-144【其实它是ST官方的开发板】

 

 

 

 

 

 

上面是整体搬迁,一个图,个体搬迁了那些文件,下面细化一下。

查看移植过来的代码有哪些!注意事项!

uC-CPU 部分内容:

 

 

 

uC-LIB 部分内容:

 

 

 

uC/OS-III部分:ports有3个文件,source有个文件。

 

 

 

 

 

 

 

第二步:拷贝ucos3相关代码 :

新建两个文件夹:uC-BSP和uC-CONFIG【也可以取名:uC-APP】

 

 

 向uC-BSP拷贝文件:

 

向uC-CONFIG【也可以取名:uC-APP】拷贝文件:

 

 

 

 

 =====================分隔符-开始===================

注意说明:很重要,5个文件夹的文件配置操作散乱。移植过来的文件目录也是多级。

uC-BSP 和 uC-CONFIG ,只有一级目录。

uC-CPU,修改为只要一级目录:将ARM-Cortex-M子目录的文件,移到本根目录中。 

 

uC-LIB,只有一级目录。

uC-OSIII\ Ports,有多级,移到本根目录中。

 

 另外,注意:有三处有汇编代码,Keil,IAR,GNU对应三个不同的编译器。

注意选择Keil或RealView【RealView是曾经的Keil,现在Keil也将被,他们官网提供的使用Visual Studio Code加插件的官方软件替代】。

uC-CPU 中有cpu_a.asm、

uC-LIB 中有lib_men_a.asm【对内存优化可删除】、

uC-OSIII\ Ports 中有os_cpu_a.s

  =====================分隔符-结束===================

 

第三步: 在Keil项目中:添加文件分组,添加头文件路径。

文件组结构:

 

 

 

 

 

添加头文件:【这个有汇编代码的文件引入,没有进行目录多级优化,还是多层】

 

 

 

 

 

 重要说明:

从官网下载的:STM32F767ZI-Nucleo-144【其实它是ST官方的开发板】

那三个汇编的底层文件,都没有Keil版,要么改 IAR,要么修改汇编文件。

想了想,Keil熟悉,不想用IAR,【但还是安装IAR,以后再用】

IAR安装参考:https://www.mr-wu.cn/iar-embedded-workbench-for-arm-free-download-and-crack/

那只能修改,汇编文件,其实按网上的教程也能修改,这不可靠。

决定选择一家的UCOS源码:广州的正点原子,东莞的野火,武汉的安富莱

对比了源代码的有哪些不同,最终结果:正点原子,最好!

截止到现在,他们提供的源码,使用的:UCOSIII 3.04,里面的配置:STM32F429II-SK

根据F4即M4,修改为:F7即M7,的支持。

 

 

最终,又将上面所移植部分,都替换为低版本的,ucosIII 3.0.4。

及正点原子,修改的3个汇编文件。

 

 

 
posted @ 2021-07-02 09:36  glpa  阅读(294)  评论(0编辑  收藏  举报