完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
|
|
|
|
|
肯定可以,DFU不就是可以嘛
|
|
|
|
|
|
那用什么AP软件,我的程序中要加什么代码么?
|
|
|
|
|
|
USB可以通过U盘,虚拟串口等方式来进行数据获取,升级过程和IAP一样。只不过获取升级内容的方式不一样。
|
|
|
|
|
|
我已经安装了dfuse 了,也运行了STM32F0x2_USB-FS-Device_Lib V1.0.0里面的DFU demo code,使用dfuse软件可以看到DFU Demo的设备,我也找了个hex文件转换为.duf后缀的文件. 但还有个地方不是很清楚,我的设备也是一个USB HID的设备,那DFU Demo code和我的USB code 如何兼容.才可以使用dfuse 更新我的那部分代码呢?
|
|
|
|
|
|
支持DFU方式
|
|
|
|
|
|
我也看了DFU,但不清楚用keil c开发如何把我的程序和DFU程序结合在一起..
|
|
|
|
|
|
我下载了STM32F0x2_USB-FS-Device_Lib V1.0.0包里面的DFU程序和binary_template。然后仿真通过KEY按下 ,进入判断0x8003000的数据就一直不是0x20000000,无法进入用户程序,一直进入DFU的程序。我在keil 里面 DFU和 binary_template的程序的option targert 空间配置都配置了。为什么会这样呢?感觉binary_template的用户程序就没有下载到0x8003000的地方。有没有使用过STM32F072C 这样处理的呀。网上看的都是STM32F1XX的,还需要设置NVIC_SetVectorTable(),但STM32F072C又没有这些。是哪里的问题呀?
|
|
|
|
|
|
可以~~~~~
|
|
|
|
|
|
STM32F0根其它系列在中断矢量表这个地方不一样
在你用户程序开始的地方先做矢量拷贝: int main(void) { uint32_t i = 0; /* Relocate by software the vector table to the internal SRAM at 0x20000000 ***/ /* Copy the vector table from the Flash (mapped at the base of the application load address 0x08003000) to the base address of the SRAM at 0x20000000. */ for(i = 0; i < 48; i++) { VectorTable = *(__IO uint32_t*)(APPLICATION_ADDRESS + (i<<2)); } /* Enable the SYSCFG peripheral clock*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); /* Remap SRAM at 0x00000000 */ SYSCFG_MemoryRemapConfig(SYSCFG_MemoryRemap_SRAM); |
|
|
|
|
|
再就是APP代码的FLASH和SRAM的起始地址配置
|
|
|
|
|
|
矢量拷贝的都有,因为我跑的是STM32F0x2_USB-FS-Device_Lib V1.0.0里面的DFU里面的demo code,但我现在是keil 5 重新配置了keil.布知道是否配置正确,还是说有什么地方还要配置的. 我的配置是下面图
|
|
|
|
|
|
|
|
|
|
|
|
app 空间配置那里irom size写0xd000也不行.我先是使用jlink下载DFU的u***d_dfu.uvprojx工程,然后再使用jlink在线调试binary_template.uvprojx.进入debug后,程序都会跑飞. 真不清楚是我配置问题还是我操作流程不对?DFU不是这样使用的? 这个问题困扰我好几天了...
|
|
|
|
|
|
我试了下上电时通过boot0 pin进入boot区的DFU,然后下载用户程序可以.难道那个DFU的程序是应该烧录进system 的boot区域,而不是用户区域?也不对呀,那这样我用户区代码也没有加矢量也可以从system的boot DFU下载退出后也正常呀
|
|
|
|
|
|
楼主,你的问题解决了吗?请问是如何解决的。我现在用的STM32F072,本身程序已经开发了USB CDC功能,即虚拟串口。请问如何在不影响缘由USB应用的基础上开发DFU的?
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2797 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2403 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2276 浏览 0 评论
2388 浏览 1 评论
1637 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 20:24 , Processed in 0.844123 second(s), Total 72, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
6274