这里首先稍微介绍一下两个软件的概念。cubemx是一款辅助keil开发的图形操作软件,简化了在keil中的操作。其用于对芯片的模块一些基础和通用配置做了统一管理,通过图形画界面的模块配置自动生成模块初始化部分的代码,减少代码开发在配置上的重复操作。使得代码开发流程在有底层库的基础上,又有了驱动层上的辅助,这样学习者基本只需编写模块的执行逻辑便可实现开发。

说明:本篇不涉及软件安装内容与cubemx的java插件相关配置。

cubemx基础配置:

1.新建工程:file->new file;

2.选择芯片:搜索芯片stm32g431rxt6,双击右下脚对应芯片选项栏;

3.时钟与时钟树:

3.1 pinout & configuaration -> RCC->配置高速时钟(High sppeed clock)为晶振时钟(crystal /ceramic resonator);

3.2 时钟树配置:(clock configuartion界面)

1.修改修改高速时钟;

2.配置输入晶振频率24MHz;

3.选择PLLCLK分频模式,配置分频系数

PLLM:/3,

*N:x20,

/R:/2;

过程:24/3*20/2 = 80;

4.配置HCLK 频率80MHz;

4. sys系统调试协议:

Debug:serial Wire;

5.滴答定时器优先级NVIC

配置定时器(time basic system tick)为最高优先级。//这里解释一下, system tick与uwTick(HAL_Get_Tick())系统定时器有关,我的项目为了简单偷懒,需要定时器的地方都用了uwTick替代。因为“系统滴答定时器主要用于简单的定时!如果需要复杂的中断处理,请使用其他定时器”。所以如果想用直接TIM定时器定时的可以不用配置。

6.工程配置:(project manager界面)

1.Project栏:

1.2 工程命名 “test_file”;Tool chain :MDK-ARM;检查版本;

1.2.取消勾选use defalut firmware location;点击browse更新芯片包地址;

2.code generater栏

2.1 修改选项为copy only the nessary library files 库文件生成;只生成(复制)有效文件;

2.2 修改选项为generate peripheral initializtion as a pair of ".c/.h"files per peripherial  生成外设初始化.c/.h文件。

6.点击生成代码(generate code):生成后打开工程(open project)。进入MDK文件夹中,打开uvision就完成了cubemx配置的全部内容了。

Keil初始化配置:

 

1.取消勾选(绿色饼干)中的software component->cmsis ->CORE->sel:5.2.0;取消后工程栏的绿色饼干会消失;

相关资料:

使用Keil uVersion MDK 5自带的CMSIS Driver建立STM32工程 - 一郎哥哥 - 博客园

2.魔术棒相关配置:

2.1在Target界面:勾选microlib,完成后OK确认;(注意cubemx刷新后的复位,有时需要重新勾选)

2.2 C/C++界面:Optimization 选择level 0(-O0),完成后OK确认;

2.3 Debug界面:

1.代码下载器选择CMSIS-DAP Debugger;

2.进入setting:(在Flash Download 界面可以看见Programing Algonth中的芯片连接成功,显示了芯片型号)。

 在Trace界面修改core clock时钟为80.00000MHz,以时序正确;在Flash Download 界面勾选Reset and Run 保证可以连续烧录程序;完成后选择OK确认;

这里就基本完成了keil的配置。可以先点击编译检查一下。

 

3.配置链接外部文件:魔术棒->C/C++,在工程目录新建app文件夹存放用户的代码文件;

4.在文件箱(品字形)上给新建的文件夹添加.c/.h程序文件。

以上便是,cubemx及keil新建工程的全部内容了。

 

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐