烧录工具要点:
1, 确定boot option,如UART,USB,SD card或者externalmemory,确定上电时序,从而设计出
相应的烧录制具。
2, 分析硬件资源,需要的考虑的如串口的速率,FLASH的擦除和写入以及读取速度,缓存和RAM
的大小等。分析镜像文件以便进行数据压缩,减少数据传输的时间。
根据硬件资源和对镜像文件的分析,计算理想的烧录时间。
3, 确定bootloader的运行地址和镜像的烧录地址,确定使用的软件协议(如流量控制,差错控
制,帧校验和镜像校验),定义相关的错误代码,定义友好的人机界面,完成设计文档。
4,实现烧录程序,反复测试和调试,先达到稳定的要求,然后再设法达到理想的烧录时间。
需要注意的几点:
1,大量的计算工作应该由PC完成,如数据压缩,将压缩算法告知设备端即可。
2,加载程序设计灵活,功能可以扩展,可以配置,如支持部分擦除还是全擦除,是否要重启
Modem等。
3, 波特率协商时,需要较长的数据,不然可能会被骗过。
4,查询是最浪费时间的,尤其是每次查询需要较长时间,而时间长短又不固定,应该想办法避免
情况,举例,将image全部下发先存到RAM中。如果实在无法避免,那么应该把查询的时间
利用起来,举例,在接收数据的时候,在时间窗查询擦除的状态。
5,利用指示灯,来指示烧录时的状态。
烧录的几个过程:
1,进入下载模式。
2,下发启动程序,等待启动程序应答。
3,双方确认已经就绪。
4,发送烧录的必要信息,如文件大小,校验方式,波特率,烧录地址。
5,协商波特率。
6,发送数据与擦除并行。
7,写数据。
8,校验数据。
必要时,设备端需要验证远端程序。