小弟初学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时打开软件提示如下:
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
所以,你的第一个问题,如果A3是0X08000000,就可以.如果不是,你得自己加跳转,跳转到A3区执行A3代码.然后再跳转,只要你代码没问题,就可以实现你要的功能.
2,DFU驱动是ST官方的么?下载到开发板的是官方的USB DFU程序么?如果是的话,可以试试拔了USB,重新上电试试.
3,人家做了防盗版处理.比如利用什么唯一ID之类的,就可以很方便的区分是不是自己的芯片了.
一周热门 更多>