如何生成工程图使用CubeMx生成一个DFU工程

参考了这个地址的资料:

       上面这個链接写得很详细所以不再赘述,直接上重点以及注意点

在CubeMX里面,有两个参数要设置好以上画框部分。

一个是APP的默认地址

另一个昰DFU接口。用来识别我们bootloader存放起始地址以及占用内存大小还有内部FLASH的扇区划分方式。

APP像往常一样编写以及编译程序需要改动的地址有两個。

但RCC使用LL库发现生成的程序,USB设备无法枚举成功如果GPIO使用LL库,RCC为HAL库发现USB插头插上

PC后,需要较久时间才能反应过来而且DFU下载程序時候的反应也变慢了。

      1、刚开始发现功能能实现,但每次由DFU状态转到APP之后复位MCU想要烧写另外的APP。发现PC上USB设备不会重新枚举每次烧写嘟要重新插拔。后来查阅USB的资料发现可以利用“D+”引脚使PC重新枚举USB。资料地址:查看里面的第一个步骤

1;”。这个函数当一个地址被傳入,擦除地址所在扇区我试过改成1后,烧写200多KB程序正常运行证明修改后市没问题的。

将程序修改如下复位MCU后PC会重新枚举设备:

 
 
 
 
 
 





四、按键控制,烧写APP到不同地址
目的是,按下不同按键DFU烧写APP到不同地址,然后开机时按不同按键运行不同的APP。




 
 
 
 
 
 
相应的APP2魔术棒程序起始地址应设为“0x800C000”,大小为“0x74000”


愿意在CSDN捧场下载的:

转载请标明來源代码按BSD-3-Clause授权使用。代码包中包含STM32CubeMX生成的代码使用时应遵循各个文件中标注的使用许可要求。

 
 


 
 
 
这样如果DFU程序编译时超过128K编译软件會给出Error提示。
 
 
如果计划刷在片内flash的DFU程序后面可以改成:
 

编写应用程序应注意:不能再把QSPI接口用作其他用处,不能把QSPI的时钟信号关掉否则處理器就取不到指令了。推荐在STM32CubeMX中给QSPI flash的针脚做上标记防止误用。

我要回帖

更多关于 如何生成工程图 的文章

 

随机推荐