[资料] STM32CubeMX移植机智云自动生成代码详解
1560 查看
2 回复
 楼主 | 发布于 2017-12-28 | 只看楼主
分享到:

本文介绍如何使用STM32CubeMX将机智云自动生成的stm32源码程序移植到其他的MCU平台。

STM32CubeMX工具请在STM官网注册账号后自行下载安装,本文不做详细说明。

本示例使用在机智云自助开发中心生成的STM32F103源码工程,通过STM32Cube 移植到 STM32L496ZGT6 平台(其他STM32平台的移植也与此相似),我们选择的开发板为NUCLEO-L496ZG

name

(NUCLEO-L496ZG是ST官方推出的Nucleo系列开发板NUCLEO144系列家族的新品,L4系列综合了低功耗与高性能的优势,其上集成了ST-LINK/V2-1,使用的是STM32L496ZGT6作为主控,具有超低功耗、丰富外设等特性。)

我们可以通过机智云自动生成工具生成STM32F103平台的工程源码(详情查看文档:GoKit3二次开发-代码自动生成工具介绍),下面是生成的源码目录结构说明:

name

文件名 说明
Driver 其中包含了所有的库文件
Gizwits 机智云协议处理文件
Hal 外设驱动文件
MDK-ARM MDK 的工程文件
Inc STM32源文件的头文件
Src STM32源文件的 C 文件
Utils 公用工具库文件
.mxproject STM32Cube 的配置文件
STM32F103C8.ioc STM32CubeMX 的工程文件(已STM32F103C8平台为例)

注:需要移植的目录为Gizwits、Hal、Utils三个文件。

#移植到其他STM32平台

移植分为以下几步:

1.创建STM32CubeMX 工程文件

在STM32CubeMX中直接选择您所使用的 MCU(比如这里我们选择STM32L496ZGTx) ,如下:

name

点击“Project → Setting”设置工程目录位置以及相应参数如下所示:

name

注:这里编译器选择为Keil 5

2.导入机智云模板配置文件

因为机智云自动生成的源码中已经包含了对应平台的STM32CubeMX工程配置文件,相关驱动参数已经是配置过的,为方便开发者将STM32的源码移植到其他的平台,我们可以使用STM32CubeMX的配置文件导入功能,将STM32F103平台的配置参数导入到STM32L496ZGT6平台,如下:

选择File > Import Project

name

选择在“前言”中介绍过的STM32F103C8.ioc配置文件,如下图所示:

name

点击“OK”之后可以看到,在STM32L496ZGT6的工程中已经导入的机智云预先完成的配置文件了。

name

name

3.特殊处理(只针对STM32 L系类的低功耗平台,其他平台的开发可跳过此步)

由于NUCLEO-L496ZG开发板的USB串口默认连接的是MCU上的低功耗串口(LPUART1),而不是我们在F103平台上的UART1,故将配置中的UART1换为LPUART1,如下图:

name

注:需手动将管脚PG8/PG7设置为LPUART_RX/LPUART_TX类型

name

4.生成工程代码

点击Project > Generate Code或者点击快捷图标生成工程代码。

name

5.编译并配置工程

点击“rebuild”编译工程

name

点击下载到STM32L496ZGT开发板。如果提示错误,可以点击图标对Option for Target 的Dubug选项进行修改。


(0 ) (0 )

STWD100YNWWY3F

回复 举报

回复于 2017-12-29 沙发

不错,这都可以;
(0 )
评论 (0) 举报

回复于 2021-04-18 2#

谢谢分享!!!
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部