STM32 isp程序下载协议

2020-01-10 19:42发布

最近公司要做一个STM32的手持编程器,按照ST公司给ISP协议写了出来,能和STm32握手擦除写ROM等。。。。但是写完后STM32没反应???
现在怀疑是写数据的问题。
过程:
下发数据要写到的地址:08 00 00 00四个字节,后面紧跟一个字节的异或校验码(即前四个字节按位异或校验)08,ISP给予回复79,然后loader下发一个字节的数据数量“FB(252)”,ISP接收后并不回复,等待loader发送252字节的数据,发送完后,loader再发送一个包括前面数据量在内的253个字节数据的异或后结果的校验码7C(视每次具体发送的数据内容而定校验码的数值),如果isp校验结果于此相同,即回复79,否则1F,重新传送。因为每次ISP接收不能超过256字节,所以,需要发送8*252+1*32(每次只发送252个数据,且下发的格式为N+1,其中N为数据长度,1为数据长度)共九次一个大的数据发送循环。
现在没反应啊~!!!!谁有程序,或者是有人懂的求赐教

另送文档,供大家研究!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
27条回答
laylovesb1314
1楼-- · 2020-01-11 06:47
zhouqw1979 发表于 2015-3-20 20:41
串口通讯需要带校验位

带了!偶校验,通讯肯定没问题的,如果通讯错误,根本就握手都不会成功。
laylovesb1314
2楼-- · 2020-01-11 09:40
varding 发表于 2015-3-20 16:31
isp烧写完毕后我都是读取到pc上与bin文件进行比较,你读上来就知道你烧写的是不是对的 ...


我读出了前512位!都是对的!且最后的512位也对的上。
laylovesb1314
3楼-- · 2020-01-11 13:59
jingwaner 发表于 2015-3-20 16:19
建议你用commmonitor或者逻辑分析仪抓下通讯数据,看下哪里出了问题,另外可以抓下其他软件的通讯数据做对 ...

请问你有相关的资料吗?
generalad
4楼-- · 2020-01-11 14:29
1.先确认写入BIN是可以正常运行的程序 ,可以先用Jlink写入试试看 2.写完后要发一个指令跳转主程序或者直接加电重启 3.写入数据过程是否有读回校验机制?
laylovesb1314
5楼-- · 2020-01-11 16:45
 精彩回答 2  元偷偷看……
guanglv2008
6楼-- · 2020-01-11 17:00
等待着楼主的好消息~~~

一周热门 更多>