现在的程序是用ULINK下载进去的
不过老师要求直接用usb将程序要求直接下载到芯片里。
希望各位大神能提供一些思路,在下不甚感激。
------解决方案--------------------
难道你们老师是想让你们学习bootloader?
------解决方案--------------------
是的,相当于一个新工程, 工作流程是开机bootloader启动,如果检测到需要烧写程序则把从USB接收到的数据写入aprom中
------解决方案--------------------
那就是要做一个bootloader带usb支持的。应该有demo工程可以用吧
------解决方案--------------------
个人感觉升级无非就是把存放APP的Flash的地方擦除,然后再把新的程序擦写到那块 区域里面。至于利用USB,(在0x0800 0000)设置一个升级程序,改程序可以实现USB HID功能,然后可以利用USB HID通信(可以自己做个上位机,应该很简单,自己定一些协议)从上位机把bin文件发送给下位机,然后擦除掉存放APP的Flash区,并把APP的bin文件写入到Flash区域,完毕以后,可调到APP运行即可
------解决方案--------------------
请问ST公司有没有stm32f407 usb bootloader的源代码呢?我找了半天就找到一个DfuSe
个人感觉升级无非就是把存放APP的Flash的地方擦除,然后再把新的程序擦写到那块 区域里面。至于利用USB,(在0x0800 0000)设置一个升级程序,改程序可以实现USB HID功能,然后可以利用USB HID通信(可以自己做个上位机,应该很简单,自己定一些协议)从上位机把bin文件发送给下位机,然后擦除掉存放APP的Flash区,并把APP的bin文件写入到Flash区域,完毕以后,可调到APP运行即可
这个我就不知道了。
------解决方案--------------------
请问ST公司有没有stm32f407 usb bootloader的源代码呢?我找了半天就找到一个DfuSe
个人感觉升级无非就是把存放APP的Flash的地方擦除,然后再把新的程序擦写到那块 区域里面。至于利用USB,(在0x0800 0000)设置一个升级程序,改程序可以实现USB HID功能,然后可以利用USB HID通信(可以自己做个上位机,应该很简单,自己定一些协议)从上位机把bin文件发送给下位机,然后擦除掉存放APP的Flash区,并把APP的bin文件写入到Flash区域,完毕以后,可调到APP运行即可
用MDK4.20或以下版本,在安装后到这里:
安装目录\ARM\Examples\ST\STM32F10xUSBLib\Demos\Device_Firmware_Upgrade
可以找到USB DFU的固件范例。当然这个是F1系列的。你用F4系列只需要移植即可。ST没必要为每个系列都出一套范例。
这套固件就是配合DFUSe使用的。
提醒一下,如果你要做产品,想更改DFU模式下的VID、PID或者Windows设备管理器中的显示名称,那么你得透过ST指定的代理申请一个证书。ST好像有个算号器可以根据你的VID、PID算出一串16进制码。更新固件里的VID、PID信息,同时把这些信息按照一定方式加到Windows驱动的INF文件里才能使用。
------解决方案--------------------
请问ST公司有没有stm32f407 usb bootloader的源代码呢?我找了半天就找到一个DfuSe
个人感觉升级无非就是把存放APP的Flash的地方擦除,然后再把新的程序擦写到那块 区域里面。至于利用USB,(在0x0800 0000)设置一个升级程序,改程序可以实现USB HID功能,然后可以利用USB HID通信(可以自己做个上位机,应该很简单,自己定一些协议)从上位机把bin文件发送给下位机,然后擦除掉存放APP的Flash区,并把APP的bin文件写入到Flash区域,完毕以后,可调到APP运行即可
另:
MDK4.35以上好像剥离了自带的库,这时候需要你需要下载F1系列USB标准固件库(你不知道我为了在官网找这个地址掉了多少斤肉,妈蛋ST官网能不能再凌乱一点) http://stm32.eeelec.com/zip/stm32_usb-fs-device_lib.zip
可能还用得上UM0121STM32F105/7, STM32F2 and STM32F4 USB on-the-go Host and device library
UM0412DfuSe USB device firmware upgrade STMicroelectronics extension: contains the demo GUI, debugging GUI, all sources files and the protocol layer