【STM32开发环境搭建】-3-STM32CubeMX Project Manager配置-自动生成一个Keil(MDK-ARM) 5的工程

目录

[1 KEIL(MDK-ARM) 5 Project工程设置](#1 KEIL(MDK-ARM) 5 Project工程设置)

[2 MCU和嵌入式软件包的选择](#2 MCU和嵌入式软件包的选择)

[3 Code Generator](#3 Code Generator)

[3.1 STM32Cube Firmware Library Package](#3.1 STM32Cube Firmware Library Package)

[3.2 Generated files](#3.2 Generated files)

[3.3 HAL Settings](#3.3 HAL Settings)

[3.4 Template Settings](#3.4 Template Settings)

[4 Advanced Settings](#4 Advanced Settings)

[5 自动生成的KEIL(MDK-ARM) 5 Project工程目录](#5 自动生成的KEIL(MDK-ARM) 5 Project工程目录)

结尾


1 KEIL(MDK-ARM) 5 Project工程设置

Project Name:表示生成的*.uvprojx,*.ioc文件名称;

Project Location:表示工程的存放路径;

Application Struture:

  • **Basic:**是基础的结构,一般不包含中间件(RTOS、文件系统、USB设备等);
  • **Advanced:**包含中间件,一般针对相对复杂一点的工程。

Toolchain Folder Location:STM32CubeMX和Keil 5工程存放路径;

Toolchain/IDE :选择合适的IDE,这里我们选择Keil(MDK-ARM) 5;

  • EWARM:V8.32,V8,V7;
  • MDK-ARM:V5.32,V5.27,V5,V4;
  • STM32CubeIDE;
  • Makefile;
  • CMake。

Linker Settings:堆和栈大小的设置。默认值:Heap堆为0x200,Stack栈为0x400。

2 MCU和嵌入式软件包的选择

Mcu Reference:创建IOC工程时,选择的MCU型号,这里不可修改;

Firmware Package Name and Version :使用的嵌入式软件包的版本,如:STM32Cube_FW_F0_V1.11.5,这里我们勾选Use latest available version,使用最新的嵌入式软件包的版本;

Firmware Relative Path:表示嵌入式软件包的存放路径。

3 Code Generator

3.1 STM32Cube Firmware Library Package

Copy all used libraries into the project folder将所有使用过的库文件(不管其有没有使用)复制到项目工程目录中;

Copy only the necessary library files:只复制必要的,且需要使用的库文件到项目工程目录中;

Add necessary library files as reference in the toolchain project configuration file:在工具链项目配置文件中添加必要的库文件作为参考(没有复制HAL库文件,只添加了必要文件(如main.c)。);

3.2 Generated files

Generate peripheral initialization as a pair of'.c/.h' files per peripheral: 为每个外设(ADC,I2C,UART,CAN,SPI...)生成一对".c/.h "文件的外设初始化文件。若勾选,外设初始化函数生成在对应的外设文件;

Backup previously generated files when re-generating:重新生成文件时备份之前生成的文件(放在Backup文件夹中);

Keep User Code when re-generating:重新生成时保留用户代码。这段代码写在指定的位置:BEGIN和END之间。否则会被删除;

Delete previously generated files when not re-generated:删除之前生成的文件,不再重新生成。删除STM32Cube不在使用的外设对应的文件。

3.3 HAL Settings

Set all free pins as analog (to optimize the power consumption) :将所有空闲引脚设置为模拟引脚(以优化功耗);

Enable Full Assert:启用所有Assert断言。

3.4 Template Settings

Select a template to generate customized code:选择一个模板来生成自定义代码。

4 Advanced Settings

Driver Selector:驱动选择库,可以选择HAL和LL,默认选择HAL;

Generated Function Calls:这里面可以调整各外设初始化函数的调用的先后顺序;以及在main函数中,是否生成对应外设初始化函数的调用。

  • Not Generate Function Call列:若勾选,表示在main函数中,不生成外设初始化函数调用;
  • Visibility (Static)可见性(静态):初始化代码声明为static。

5 自动生成的KEIL(MDK-ARM) 5 Project工程目录

结尾

获取更多"汽车电子资讯"和"工具链使用",

请关注CSDN博客"汽车电子助手",做您的好助手。

相关推荐
Dev_XH7 小时前
【成品设计】基于CH32H417的CH32H417AIOT家庭微电网
单片机·嵌入式硬件·物联网·ai
国科安芯8 小时前
人在回路中的总线:商业空间站环境控制与生命保障系统CANFD网络的可靠性与功能安全
网络·嵌入式硬件·安全·架构·php·抗辐射
国科安芯9 小时前
算力上天之后的电与静:星上边缘计算载荷带外管理网络的低功耗调度与辐射容错
网络·人工智能·嵌入式硬件·安全·边缘计算·低轨卫星·商业航天
Zw-awa11 小时前
用两个按键做一个OLED菜单:先把选择和执行分开
stm32
t139701812 小时前
MPPT 和 PWM 有什么区别?小功率太阳能供电到底该选哪个
嵌入式硬件·物联网
en.en..13 小时前
STM32入门最佳学习顺序(寄存器→标准库→HAL库)
单片机·嵌入式硬件
Good白101914 小时前
嵌入式:1.嵌入式入门|初识嵌入式、处理器、ARM与STM32
arm开发·stm32·嵌入式硬件
小李不想当小白14 小时前
HAL库之UART(STM32 HAL库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
Dev_XH15 小时前
【成品设计】基于物联网的旅游生态农业互动系统
stm32·单片机·嵌入式硬件·物联网·旅游
Industio_触觉智能1 天前
RK3506 Buildroot系统目录地图-上|7个关键符号链接与构建产物全解析
嵌入式硬件·sdk·智能硬件·固件·瑞芯微·系统编译·rk3506