烧写,也叫编程,是指将特定的指令代码写入到嵌入式系统、芯片、单片机或其他电子设备的非易失性存储器中,以便于设备运行时读取这些指令进行操作的过程。
烧写一般是在产品开发的初期进行的,通过烧写适当的指令代码,可以实现不同的功能需求。
烧写技术可以分为两种:离线烧写和在线烧写。
离线烧写:在产品完全完成之前进行的烧写,需要单独生产烧写工具进行烧写,因此一旦需要修改或更新烧录的数据就需要重新制作烧写工具进行制作。
在线烧写:在产品发售之前或产品失效前可进行在线烧写,可以通过串口升级、JTAG升级等方式实现。
烧写功能具有以下三个方面的优点:
1、稳定性:代码经过烧写后,无论设备长时间运行还是频繁运行,在读取指令时都能够保证操作的稳定性。
2、可靠性:通过烧写可以避免由于某些设置环境不一致等原因导致的运行失败或功能异常等问题。
3、安全性:在实际生产中,通过特定的加密方式对烧写代码进行加密,以保证代码的安全,避免代码泄露给可能存在的黑客等不法分子。
不同的设备需要使用不同的烧写方法,一般可以通过各种烧写软件(如keil、IAR、CCS等)和烧录器进行烧写。常用的烧录器有USB接口烧录器、串口烧录器、JTAG烧录器等,不同的烧录器可用于不同的设备。
对于一些简单的单片机,例如avr单片机,跨界单片机等,可以使用串口直接烧写。串口有2个,一个用于数据通讯,另一个用于控制。在下载程序时,要设置好其波特率,否则会出现下载出错,或者无法下载的情况。
对于某些高端设备,如ARM处理器,可以使用JTAG实现烧写,常用的包括JLink、ULINK等。