蓝桥杯-STM32G431RBT6工程创建和程序烧录(保姆级图文详解)

文章目录


前言

蓝桥杯嵌入式赛道所使用的开发板为STM32G431RBT6  CT117E-M4开发板(新版),如下图:

一、需要安装的环境

keil MDK,stm32cubemx,官方提供的资源包

二、使用步骤(STM32cubemx部分)

1,首先打开STM32cubemx

注:蓝桥杯用HAL库更节省比赛时间,也更方便修改

2,创建项目(两种方法打开)

3.搜索指定开发板,完成项目初步创建

4,配置系统时钟(初步)

5,时钟配置(完善)

6,建立项目名称,存储路径

7,代码生成配置

8,配置引脚(初步),选择模式

9,配置引脚(完善)

10,生成代码并打开文件

三、使用步骤(keil MDK部分)

1,配置

2,编译下载

四,注意事项

STM32CUBEMX 注意事项:

  1. 芯片型号选择:确保准确选择 STM32G432RBT6 芯片型号,避免选错。
  2. 时钟配置:仔细检查时钟源和相关设置,确保系统时钟正确。
  3. 外设配置:根据需求合理配置外设,注意不要遗漏重要的功能模块。
  4. 生成代码设置:设置好代码生成的相关选项,如文件路径等。

KEIL MDK 注意事项:

  1. 工程设置:导入 STM32CUBEMX 生成的代码后,检查工程设置,包括目标芯片、编译选项等。
  2. 调试设置:根据实际需求设置调试相关选项,如调试器类型等。
  3. 代码优化:根据性能要求,适当调整代码优化级别。
  4. 中断向量表:确保中断向量表正确映射到相应的地址。
  5. 外设驱动:根据芯片手册和文档,正确编写和配置外设驱动程序。
### 解决STM32G431RBT6在Cortex-M4上Flash下载失败的方法 当遇到STM32G431RBT6在Cortex-M4上的Flash下载失败问题时,可能的原因有很多。以下是几种常见的原因及其解决方案: #### 1. 检查硬件连接 确保开发板与编程器之间的连接稳固无误。检查SWD接口的连线是否松动或接触不良。 #### 2. 验证供电状态 确认目标板已正确供电,并且电源电压稳定。不稳定的电源可能导致程序无法正常烧录到芯片中[^1]。 #### 3. 更新ST-Link驱动固件 使用最新版本的ST-Link工具以及相应的驱动程序可以有效减少兼容性问题带来的错误。访问官方网站获取最新的软件更新包并安装[^2]。 #### 4. 清除Option Bytes 有时Option Bytes配置不当也会引起flash操作异常。可以通过清除这些字节来尝试解决问题。具体做法是在CubeMX生成项目前勾选“Reset to default values”,这会重置所有选项至出厂默认设置[^3]。 ```c HAL_FLASHEx_OptionBytesProgram(&optionbytes); ``` #### 5. 调整调试模式下的工作频率 如果当前使用的CPU频率过高可能会造成通信超时等问题。适当降低系统核心时钟速度有助于改善这种情况。可以在`SystemClock_Config()`函数内调整PLL倍频系数等参数以达到合适的运行速率[^4]。 #### 6. 使用不同的IDE/编译环境重新构建工程 有时候特定集成开发环境中存在的Bug也可能引发此类现象。考虑切换其他平台如Keil MDK、IAR Embedded Workbench 或者 STM32CubeIDE 来测试相同代码能否成功加载到MCU内部存储空间里去[^5]。 #### 7. 尝试擦除整个闪存区后再上传新镜像 利用专用命令彻底清空之前残留的数据记录之后再进行新的映射文件传输往往能排除部分潜在干扰因素的影响。大多数情况下建议采用全片擦除方式而非仅限于扇区别处理[^6]。 ```bash st-flash erase st-flash write build/main.bin 0x8000000 ``` 以上措施能够帮助排查并最终解决大部分关于STM32系列微控制器因各种缘由造成的刷机难题。当然实际应用过程中还需结合具体情况灵活应对。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值