为了解决水下自航行器的程序升级问题,将核心芯片LPC2138的片内Flash划分为3个区,分别存放Bootloader、程序运行标志及主程序。Bootloader在运行过程中接收新的程序代码,应用IAP技术将其编程至Flash,并更新程序运行标志,编程完毕后,跳转到相应的位置运行。为了增加系统的可靠性,综合运用看门狗和程序运行标志,使系统在异常情况下也能正常运行。