【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博客"汽车电子助手",做您的好助手。

相关推荐
yuan1999710 小时前
STM32远程升级系统(Bootloader + 上位机)
stm32·单片机·嵌入式硬件
Heartache boy10 小时前
野火STM32_HAL库版课程笔记-ADC多通道采集热敏、光敏、反射传感器(轮询)
笔记·stm32·单片机
-Try hard-10 小时前
ARM | 内核架构、寄存器组、工作模式
arm开发
AI+程序员在路上11 小时前
嵌入式软件技术大全
linux·开发语言·arm开发·单片机
秀秀更健康12 小时前
STM32的程序下载不进去----VDDA悬空
stm32·单片机·嵌入式硬件
长安第一美人14 小时前
AI辅助下的嵌入式UI系统设计与实践(二)[代码阅读理解]
c++·嵌入式硬件·ui·显示屏·工业应用
黄昏晓x15 小时前
Linux----网络
linux·网络·arm开发
学嵌入式的小杨同学15 小时前
STM32 进阶封神之路(二十五):ESP8266 深度解析 —— 从 WiFi 通信原理到 AT 指令开发(底层逻辑 + 实战基础)
c++·vscode·stm32·单片机·嵌入式硬件·mcu·智能硬件
莎士比亚的文学花园15 小时前
硬件(4)——ARM体系架构
arm开发
树爷只认钱16 小时前
ESP01S模块+串口底座 AT指令连接中移Onenet物联网全过程(第1篇)
单片机·嵌入式硬件·物联网·esp8266