完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
最近在搞DSP2812的远程更新Flash程序,在网上查找了一些资料,都只是说用串口下载然后远程传输,但中间的具体细节和关键技术都没有说清楚,请教一下各位大神DSP远程更新flash如何实现,如果我程序烧写在不同的Flash扇区,我该如何引导我的程序从不同的扇区进行读写数据!
|
|
相关推荐
1个回答
|
|
rong,
可以用串口进行在线升级。 首先是你要自己先一段bootloader程序放在一个特殊的扇区,这个扇区在升级的过程中是不能擦除的。 然后在用户程序中监视串口的命令,当接收到串口发送过来升级的指令的时候,就需要调到bootloader的入口,bootloader进行初始化,重新初始化系统时钟,串口等,然后回送应答给串口上位机,准备接收上位机发送过来的数据。因为升级数据很大,所以不可能一次接收完,一般是分次接收,当接收到一块数据后,就调用Flash API函数烧写到Flash中,烧写完后,回送应答给上位机,上位机再发送下一个数据块。当然,这个数据块需要包含地址信息,数据长度,数据,校验和。 最后烧写完成后,就可以重新跳到Flash的入口,0x3F7FF6。 在上位机你也要读hex文件,解析成一块块数据,发送给下位机。 这是大概的思路。 附件是2812的SCI boot Flash烧写的例子,跟在线升级不同的地方是,这个例程的bootloader是通过SCI boot 方式load到RAM中,然后再运行bootloader接收上位机数据,调用Flash API烧写。 Eric - ERIC |
|
|
|
只有小组成员才能发言,加入小组>>
351 浏览 1 评论
546 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
790 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
660 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
84浏览 29评论
303浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
262浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
210浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
68浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 10:53 , Processed in 1.188835 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号