Eclipse 4Diac 移植到STM32H746(1)

  Eclipse 4Diac 网站上有介绍将4diac的Forte 移植到freeRTOS 的简单介绍,

https://www.eclipse.org/4diac/en_help.php?helppage=html/installation/freeRTOSLwIP.html

但是网络上并没有如何将forte 移植到STM32F上的详细说明。我成功地将4diac 移植到了nucleo STM32H743 板上。分享我的方法:

  开发平台

  在ubuntu OS 下开发,毕竟make,cmake gcc这些工具在linux OS 上感觉好一点。

  用到的工具

        cmake-gui

      ST 公司的trueStudio 开发工具。它是基于eclipse 开发环境的,与eclipse 相容。

  ST公司的STM32 CubeMx 工具

  过程

  下载forte 的源码,我使用的是forte-incubation_1.11.0

  在stm32 cubeMX下配置一个nucleo 74H743 的项目,上面包含一个freeRTOS和lwip 中间件,产生trueStudio的项目代码

  在 cmake 上Where is the source code 指向forte-incubation_1.11.0的目录。

         在forte-incubation_1.11.0的目录中添加一个文件夹build,将CMake中的 Where to build the binaries 指向build。

    按Configure 键,选择C++和C的交叉编译工具,这时要使用trueStudio 的工具。我的truestudo目录是在/opt/下的。

      /opt/Atollic_TrueSTUDIO_for_STM32_x86_64_9.3.0/ARMTools/bin/

   C++ 选择了/opt/Atollic_TrueSTUDIO_for_STM32_x86_64_9.3.0/ARMTools/bin/arm-atollic-eabi-c++

   C 选择了/opt/Atollic_TrueSTUDIO_for_STM32_x86_64_9.3.0/ARMTools/bin/arm-atollic-eabi-gcc

   主要的难点

    编译过程中的主要难点是如何将forte 和stm32的项目结合在一起编译。在4diac的论坛上有编译成功的人提供了一个思路。就是将forte 编译成为一个静态库,然后结合到STM32F的项目中。我也决定采取这中方法。

    配置cmake 的forte部分

  1 FORTE ARCHITECTURE 选择FreeRTOSLwip

2 勾选FORTE_BUILD_STATIC_LIBRARY,去掉原来的FORTE_BUILD_EXCUTABLE

3 重要的地方是下面的FORTE_FreeRTOSLwIP_INCLUDES 要将stm32项目中关于freeRTOS和LwIP的Include目录包含进去。但是STM32项目的目录结构好复制的样子,搞了一个晚上都没有搞定。第二天早上,我决定将STM32 的某些include 单独拷贝到一个目录中。供编译forte时使用。

  4 还有几点

     1 Inc 中的main.h 要去掉#include "stm32f4xx.h"

     2 按照Cmake的提示。
 

freeRTOS with LwIP arch needs the following flags to be defined (please do it in lwipopts.h):

#define LWIP_COMPAT_SOCKETS 1

#define LWIP_IGMP 1 //to use IP_ADD_MEMBERSHIP

#define LWIP_TIMEVAL_PRIVATE 0 

 在lwipopts.h 中添加了这三个#define

   5 在forte-incubation_1.11.0/build 的目录下进入命令行程序:

 >make

终于成功了

libforte-static.a 就是我们想要的东东。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值