微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC18系列单片机中使用BootLoader

PIC18系列单片机中使用BootLoader

时间:11-19 来源:互联网 点击:
485方式。有些时候,使用的并不是RS232串口,而是RS422/RS485串口。它们实际是类似的,只是在接口方式上有些区别。RS422/RS485需要控制发送,所以在BootLoader程序中增加一个发送控制就可以了。
   ④ 在BootLoader中,将波特率设置得很高并没有太大的用处,它并不能够提高下载整体的速度,而只能加快数据传输的速度。因为整个下载分为数据通信(数据传输)和Flash写入/擦除(数据等待)两个部分。程序代码Flash空间的擦除和写入速度是比较慢的(典型值是3~?4 ms),太快了反而容易丢失数据,造成下载失败。使用9600 bps的波特率时,传输1字节的数据大约是1 ms,接收一个缓衝区8字节大约需要8 ms,大于写入延时,所以不需要延时;当通信速率超过9600 bps时,接收8字节缓衝区的时间可能会小于写入时间,需要在通信中延时。实际使用的测试结果是:使用9600 bps比使用14 400 bps时慢50%,使用57 600 bps比9600 bps快一倍,而使用115 200 bps时与57 600 bps几乎没有任何区别。如果使用超级终端下载,就更没有必要设置高波特率了。因为在使用最常用的三线方式通信时(没有控制信号),超级终端采用了比较保守的方式发送数据,本身就比较慢。
 
结语
  一个良好的BootLoader程序应该具有良好的可维护性并可以正确处理异常情况,不会因为意外情况引起系统的损坏和崩溃。
  可以在http://shaoziyang.logchina.com/blog/article_156363.936124.html处下载改进后的BootLoader程序(这个程序已经在实际工程中使用了较长时间,很稳定),以及一个替换超级终端的PIC18专用下载程序(这个程序的下载速度比超级终端快很多,可以自行定义波特率和联机的字符串,具有BootLoader区代码保护功能和下载错误检测功能)。

  (编者注:本文为期刊缩写版,全文请见本刊网站www.dpj.com.cn。)

参考文献

1 Microchip.PIC18F1220/1320/2320/6620/6621数据手册
2 Microchip应用说明AN851:A Flash Bootloader for PIC16 and PIC18 Devices
3 HI-TECH的PICC18(ver8.35pl2)软件的BootLoader程序代码和程序说明

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top