大神们帮帮忙,关于USBIAP及FLASH的问题

2019-08-20 16:36发布

     小弟初学STM32不到半年,最近公司要做一个烧录的板子,用STM32做主芯片烧录OTP单片机。我想把FLASH分成三个区,如A1(存放应用程序),A2(数据区域),A3(USB固件),把USB IAP固件程序通过串口下载到A3区域 (因为下载软件是借用别人的我不能改,它下载的地址是固定的,且前面只预留了7Kbyte的地址空间做为应用程序区),从A3启动,再通过IAP下载我的应用程序到A1区域,通过读取A2的数据烧写到OTP芯片中。最后是通过PC把客户的数据 (约1K的数据表) ,用软件已有的功能下到A2区。A2的数据是可以下载到固定的FLASH地址中,且不会覆盖客户数据大小之后的地址。我自己做的板子现在还没出来,我不确定这样能不能用,求教各位大神:

     1。复位时启动是运行在A3区域,然后跳转到应用程序区A1读取A2数据,这样运行时会有问题吗
     2。驱动问题,之前用Alientek mini板的USB下载口想试下的,DFU驱动总是装不上,换了好几个版本都不行,插上USB时我什么也不动电脑自动安装了驱动,一会提示已安装完,但是用DFU下载的时候却找不到设备,这装的是什么驱动啊?有没有人遇到过,难道这板子上的USB口不能用于IAP下载吗?

     3。我是用之前公司买了别人的工具自带的下载软件,在电脑上插入USB都会识别是不是他自己的板子,这是怎么识别的?我这样的话还能用他的软件下载到我自己的板子上吗?
未插入或插入别的板子USB时打开软件提示如下:

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-08-20 21:52
STM32启动默认都是从0X08000000开始运行的,我不知道你所谓的A3区,是不是这个区.
所以,你的第一个问题,如果A3是0X08000000,就可以.如果不是,你得自己加跳转,跳转到A3区执行A3代码.然后再跳转,只要你代码没问题,就可以实现你要的功能.
2,DFU驱动是ST官方的么?下载到开发板的是官方的USB DFU程序么?如果是的话,可以试试拔了USB,重新上电试试.
3,人家做了防盗版处理.比如利用什么唯一ID之类的,就可以很方便的区分是不是自己的芯片了.
scky333
2楼-- · 2019-08-21 03:18
 精彩回答 2  元偷偷看……
灰太狼的伤疤
3楼-- · 2019-08-21 07:14
正点原子 发表于 2013-1-29 17:53
STM32启动默认都是从0X08000000开始运行的,我不知道你所谓的A3区,是不是这个区.
所以,你的第一个问题,如果A ...

使用串口的工程添加IAP没有问题,能够正常跳转和使用。
uab模拟串口添加IAP做APP,usb虚拟串口单片机不识别。原子哥这是什么问题??
{usb模拟串口未添加IAP能够正常使用}

一周热门 更多>