求解惑-STM32 DFU模式

2020-01-10 19:39发布

今天试了一下DFU模式
碰到几个问题一下晕了
1.要进入DFU模式必须先烧录一段程序到FLASH
2.在用DFU模式再烧录程序的时候需要偏移一下,不然会把进DFU模式的程序覆盖了。
3.我查看了一下再次烧录进去的程序必须要在0X0800300-0X0801FFF之间。
我把下面两个地方都改了

(原文件名:flash.JPG)

4.可是把程序调进去还是运行没反映,难道覆盖了?在这个软件中是否有设置偏移的?
点击此处打开 ourdev_715418C75JDS.JPG(文件大小:1.68M,只有400K以内的图片才能直接显示) (原文件名:flash1.JPG)
5.lnkarm_flash.xcl这个文件是干嘛用的。哪里需要用到。或在什么位置。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
jiaowoxiaolu
1楼-- · 2020-01-10 22:33
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x3000);
改中断向量表应该在程序中调用这句,不应该在库的里面改

另外dfu程序和你的应用程序两次写的时候是不是都整片先擦除了?

程序被不被覆盖直接整片flash读出来再根据地址对比你的hex文件就知道了
grant-liao
2楼-- · 2020-01-11 02:24
回复【1楼】jiaowoxiaolu 没想好
-----------------------------------------------------------------------

在写DFU程序的时候好像是整片擦除。后面烧录没见可以选整片擦除的。
这个是0X3000?还是0X08003000?
grant-liao
3楼-- · 2020-01-11 07:57

(原文件名:dfu.JPG)


(原文件名:dfu1.JPG)


(原文件名:dfu2.JPG)


(原文件名:dfu3.JPG)


(原文件名:dfu4.JPG)


(原文件名:dfu5.JPG)


(原文件名:dfu6.JPG)
grant-liao
4楼-- · 2020-01-11 09:49
一路下来都没出问题。可是程序进去就没反应。怎么回事?
grant-liao
5楼-- · 2020-01-11 15:31
 精彩回答 2  元偷偷看……
grant-liao
6楼-- · 2020-01-11 17:03
顶一下啊
都没人关注啊

一周热门 更多>