N32国民技术环境搭建
环境搭建(ARM)
一般的通用配置都会有:启动文件,CMSIS系统文件,固件库,用户文件。
项目启动之后一般会自己寻找main()函数
1.1需要找到pack包
安装了pack包才会有各种单片机的选择

1.2.选择单片机,创建工程

1.3.分组

1.4.添加启动文件

1.5.添加系统文件-CMSIS
每个公司都会有自己的CMSIS文件,他们都遵循ARM规范
但是各自实现不同,就类似函数名一样给你规定好了,但是
你具体怎么实现就不知道了,所以要找到,各个芯片厂商
自己的CMSIS系统文件

1.6.固件库--
固件库里面有各种外设,
固件库就是各芯片厂商提供的"外设操作工具箱",每个公司都不同,而且差异很大!
CMSIS = 国家规定的普通话语法标准
固件库 = 各个公司内部的工作术语和操作手册
固件库里面有各种驱动,例如GPIO,TIM,ADC,DAC等等,每个公司实现方式不同
所以内容有很大的差异。

1.7.用户文件--这个就是我们自己编写的文件
用户文件可以建立多个,是我们自己实现代码的文件

也可以有自己的框架

如果使用Stm32Cubmx很多都生成了

1.8.用户文件相关配置
1.8.1 配置生成hex文件


1.8.2 放入头文件路径和c文件


放入的是文件夹

放入C文件


1.8.3 进行Debug相关配置,我们使用的是STLINK

1.8.4 utilites

1.8.5 C++选型卡
Keil中C++选项卡的"Preprocessor Symbols"中的"Define"是C/C++预处理器的宏定义设置,它允许你在编译时定义全局宏,影响整个项目的编译过程。

宏定义作用
// Keil Define中根据实际芯片选择:
// Define: STM32F103xB
// 头文件stm32f1xx.h中:
#ifdef STM32F103xB
#include "stm32f103xb.h" // 包含C8型号的寄存器定义
#define FLASH_SIZE 128 // 128KB
#elif defined(STM32F103xE)
#include "stm32f103xe.h" // 包含RE型号的寄存器定义
#define FLASH_SIZE 512 // 512KB
#endif
// 这样同一套代码可以支持多种芯片
实际场景:产品线有多个型号,硬件略有差异
STM32F103C8:64KB Flash,20KB RAM
STM32F103RC:256KB Flash,48KB RAM
通过宏定义切换,使用同一套代码库

使用 USE_STDPERIPH_DRIVER 意味着使用的是老的"标准外设库",而不是现代的"HAL库"。
STM32一般配置的是HAL库

浙公网安备 33010602011771号