|
楼主 |
发表于 2011-2-6 11:28:35
|
显示全部楼层
回复【6楼】ytangy (^_^) (^_^)
妹妹,如下几步!
1.首先要明确你用的单片机具备iap功能,也就是在运行的过程中可以改写程序存储器! (这一句我明白了啦)
2.如满足上述条件,请往下看!
(用别人的软件可以下载.Hex的单片机,应该能满足条件呀 ?)
3.需要搞明白hex文件的格式,千万要了解hex文件不能原封不动的写到单片机里,要作地址解析!
(这里可能是我学术不精啊,没想到,谢谢你提醒了)
4.在你的单片机程序里写一个函数,这个函数要放到你知道的地址(以便在擦除老程序时不影响这段bootload)
(你说的这个函数应该就是bootloader吧?)
5.在上一条里提到的函数中写串口接收,hex解析,以及iap代码,把串口来的hex写到相应的位置!
(iap:接口应用程序代码??)
6.hex文件应分块接收,再往rom里写!因为你必须先缓冲到ram里,但一般没有那么大的ram,so! (明白啦,(^_^) )
7.如有可能让单片机复位,新程序就跑了!不行就让用户下电再上!
8.上位机的按钮就实现启动串口发送的线程的功能就可以了!
哥哥只能告诉你思路了!其余的google吧! (嗯嗯)
-----------------------------------------------------------------------
那还有个问题! 怎么与单片机握手的呢?(~_~) |
|