-
安装相关开发工具
-
Keil MDK 工具下载
略, 自行体会 -
Keil 芯片支持包下载
Keil 包 网址 https://www.keil.com/pack
此处下载的是STM32L4xx的支持包
https://www.keil.com/pack/Keil.STM32L4xx_DFP.2.6.2.pack -
STM32CubeMX 下载与包下载
i. 下载(需要使用用户)
网址:
https://www.st.com/zh/development-tools/stm32cubemx.html
拉到底下 “获取软件” 部分下载 STM32CubeMX-Win 进行下载;ii. 包下载(需要使用用户)
打开安装好的STM32CubeMX软件, 点击右边 Install or Remove embedded software packs releases
下载自己的芯片支持
-
-
使用 STM32CubeMX 创建一个开发板的 Keil 项目
-
简介我的开发板上的硬件与芯片的引脚映射信息
a. 开发板 : Bearpi Std(小熊派标准板)
b. 主芯片: STM32L431RCT6 (80MHz)
c. 用户灯 : PC13 \ 推挽输出即可 \ 高电平点亮 -
配置一个点亮LED的项目
i. 打开STM32CubeMX 软件, 创建一个新项目, 芯片选择STM32L431RCT6
ii. 初始化时钟
遵循医嘱 RCC 设置为内部时钟
设定80MHz 时钟 并 Enter (回车)进行设置
配置项目的LED使用引脚为输出
-
设置GPIO的标签, 这样生成的代码就会将标签访问LED的GPIO了
生成代码
- 编译和下载程序到你的开发板中
1) 打开 STM32CubeMX生成的Keil项目
在生成项目目录下的MDK-ARM目录下又 BearPi_LED.uvprojx文件双击打开
2) 进行简单编译
3) 添加用户代码
在main函数的while 循环中添加你的代码块, 注意在注释 BEGIN开始的位置添加,这样使用STM32CubeMX重新生成代码的时候会保留块内代码
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_GPIO_TogglePin(USER_LED_GPIO_Port, USER_LED_Pin);
HAL_Delay(1000); // delay 1s
}
/* USER CODE END 3 */
}