完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32 Nucleo的开发板,装完驱动后,接入电脑,此时电脑会模拟一个容量较小的U盘,这个容量应该就是MCU内部flash剩余的空间大小了。 我们可以通过mbed或MDK-ARM编译一个bin文件,然后直接把该bin文件拖到该MCU模拟的U盘目录中即可完成MCU固件的烧录,请问此方式是如何实现的呢?哪有相关的资料? ST的UM0412手册讲述了通过DFU方式升级固件,DFU和上述显然不同,DFU使用起来更加复杂。 是否是如下实现呢: STM32 Nucleo板子都有一个编程器(可掰开的上半部分),一般由F103充当,F103具有u***-device功能,即Nucleo板子的编程器实现了一个u***-device,当发现有固件放入u***-device后便,它开始把接受到的固件按照其它方式(比如ISP的方式)烧写到评估的MCU中去。这种方式下,Nucleo板子可以随时接受一个固件并烧录,因为编程器一直模拟为一个u***-device。 如果我想实现一个不带编程器的、通过拖固件至U盘的方式实现固件烧写的功能,那么该如何实现呢? 就是有一个用户场景,产品只有一个MCU(不可能产品上还带有编程器部分),当用u***线缆接入电脑后,电脑模拟一个U盘,然后通过拖动固件的方式完成固件的升级。 ST的AN4657中有一个图: 可以在IAP代码区中实现u***-device,但它需要通过一个按键来执行IAP代码,否则跳过IAP进入User代码区,这个很难实现开发板一直模拟U盘且开发板一直在运行用户程序(不同于Nucleo开发板可以一直有U盘出现在电脑上且Nucleo开发板也在正常使用中--比如闪烁程序)。 有没有相关的u***-device方式的IAP示例呢? |
|
相关推荐
1个回答
|
|
文件系统
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1107 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1055 浏览 2 评论
2159 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1253 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1678 浏览 1 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 09:01 , Processed in 0.550189 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号