当前位置: 首页 > news >正文

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

目录

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

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

3 Code Generator

3.1 STM32Cube Firmware Library Package

3.2 Generated files

3.3 HAL Settings

3.4 Template Settings

4 Advanced Settings

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

相关文章:

  • docker - 镜像操作(拉取、查看、删除)
  • 报错Invalid HADOOP_HDFS_HOME
  • [深度学习]卷积神经网络CNN
  • 二分查找详解(Java版)
  • Windows 7 和 Windows 7 sp 的区别
  • 【RocketMQ】SpringBoot整合RocketMQ
  • 《向量数据库指南》——非结构化数据迁徙战:向量数据库的挑战与突破
  • 计算机网络--TCP、UDP抓包分析实验
  • 企业构建AI所需的最低可行基础设施:从数据存储到大模型集成
  • Python线程终止:如何优雅地结束一场“舞蹈”
  • 制造企业为何需要PLM系统?PLM系统解决方案对制造业重要性分析
  • 【Linux的内存管理】
  • 一文让你看懂微服务,服务网格以及Serverless
  • gRPC协议简介
  • Unity 查看Inspectors组件时严重掉帧
  • [nginx文档翻译系列] 控制nginx
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【剑指offer】让抽象问题具体化
  • Codepen 每日精选(2018-3-25)
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • Java 最常见的 200+ 面试题:面试必备
  • Js基础知识(一) - 变量
  • JS数组方法汇总
  • nginx 配置多 域名 + 多 https
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Spring框架之我见(三)——IOC、AOP
  • vue--为什么data属性必须是一个函数
  • 产品三维模型在线预览
  • 回流、重绘及其优化
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 聊聊flink的BlobWriter
  • 前端代码风格自动化系列(二)之Commitlint
  • 前端攻城师
  • 时间复杂度与空间复杂度分析
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #HarmonyOS:基础语法
  • #Linux(make工具和makefile文件以及makefile语法)
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $().each和$.each的区别
  • (1)Jupyter Notebook 下载及安装
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (2)Java 简介
  • (分类)KNN算法- 参数调优
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (五)c52学习之旅-静态数码管
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)