在嵌入式设备研发过程中,程序的更新是不可避免的问题。如果嵌入式设备数量众多或者已经封闭安装,使用连线下载方式重新将全部设备更新程序,将是一项困难的工作。所以使用远程方式进行程序的更新是嵌入式设备必不可少的一项功能。无操作系统嵌入式设备一般在用户程序段之前加入一段IAP程序段,在开机之后先运行IAP程序,如果需要升级程序进入接收状态,最后将接收到的程序覆盖用户程序段完成升级。而内嵌操作系统的嵌入式设备就更容易一些,只需要增加一个接收升级指令的线程,将更新后的程序替换原有文件就完成了升级。这两种处理方式大多数都是通过以太网接收升级包,而文章讨论的嵌入式设备底层不具备以太网接口,而是使用CAN总线完成整个升级过程。