当前位置:   article > 正文

STM32CubeMX生成STM32L073RZT6 BootLoader程序_stm32 bootloader在线生成

stm32 bootloader在线生成

1. 环境:

Windows10, STM32CubeMX6.0.0,Keil5.25

单片机为STM32LRZT6 196KBytes Flash,20KBytes RAM

2. 功能要求

设计BootLoader功能,按键按下上电,进入升级程序状态,不按按键,引导应用程序执行。

3. STM32CubeMX配置并生成代码
1)打开STM32CubeMX,通过选择单片机创建工程,在Part Number中输入L073RZ搜索单片机,在单片机列表中双击STM32L073RZTx进入配置界面。

2)配置时钟输入情况,在System Core->RCC下,根据硬件实际情况配置高速时钟和低速时钟,我的板子是使用内部高速时钟,外部32.768kH晶振。

3)根据实际情况配置调试接口,在System Core->SYS下,根据调试需求配置调试接口,如果需要调试,就选择Debug Serial Wire。不需要调试可以不配置。

4)开启USB功能。在Connectivity->USB,勾选Device(FS)。

5)配置BootLoader功能。在Middleware->USB_DEVICE下,选择Download Firmware Update Class(DFU)选项,并配置USBD_DFU_APP_DEFAULT_ADD为应用程序起始地址,我的BootLoader分配32kBytes Flash,所以设置为0x08008000,USBD_DFU_MEDIA Interface 为整个Flash的分配情况,前32KBytes为BootLoader,剩余空间为应用程序所以设置为@Internal Flash   /0x08000000/02*016Ka,10*016Kg,这块的设置情况请详细参考芯片的手册。

6)配置功能切换按键的GPIO。在右侧单片机视图上找到要使用的GPIO管脚,我用的按键管脚为PC1,将鼠标放到管脚上,点击左键选择功能为GPIO-Input,点击右键给管脚创建别名,方便程序移植,我创建的别名为BOOT_MODE,根据硬件实际情况选择是否打开管脚上拉,我的硬件需要打开上拉才能正常工作。

7)配置系统时钟。在Clock Configuration页面HCLK中填入自己想要的运行频率,之后点击Enter按键,选择让软件自己寻找解决方案。(注意此步骤一定要在其他硬件都配置完成之后,特别是USB开启之后)。

8)保存工程,并生成代码。在Project Manager页面,Porject窗口中,填入Project Name、Project Location,选择Toolchain/IDE、Min Version,设置堆栈大小。此处我使用Keil 5.25,所以IDE选择MDK ARM V5.然后点击GENERATE CODE按钮生成代码。

9)修改代码。用下述代码替换生成的代码中的对应文件。

main.c

  1. /* USER CODE BEGIN Header */
  2. /**
  3. ******************************************************************************
  4. * @file : main.c
  5. * &#
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/75852
推荐阅读
相关标签
  

闽ICP备14008679号