早期一般是将调试好的单片机程序写入到 rom、 eprom 中,这种操作就像刻制光盘一样,实在高电压方式下写入,prom 是一次性写入,存储内部发生变化,有些线路或元件就被烧断,不可再恢复,所以叫做烧写,eprom 可以使用紫外线将原来写入的内容擦除,重新烧写,目前大量采用 eeprom,是可以电擦写的存储器。
单片机启动时会直接运行这些芯片中的程序,完成既定的功能。
所谓烧写,其实就是对单片机中的 rom 进行擦写。现代工艺下,rom 已经可以进行多次擦写,但在早期,rom 只能一次性设计好,例如早期的 plc,把二极管上的丝烧了后就永久编码出 1。而我们知道,单片机程序经编译连接后传给机器便是机器语言,简而言之就是一大堆 1 和 0。在少些过程中,我们将烧不烧一大堆 mos 管和 bjt 的丝或连不连上通道来表示这些 1 和 0。
烧写的三种方式:
1. 把单片机当做一个 rom 芯片,早期的单片机都是如此。将单片机放在通用编程上编程时,就像给 28c256 这样的 rom 中写程序的过程一样。只是不同的单片机使用的端口,编程用的时序不一样。
2. 像 at89s52 或 avr 单片机一样,在单片机上有 spi 接口,这时用专用的下载线将程序烧写到单片机中。这时不同的是,单片机的 cpu 除了执行单片机本身的指令之外,还能执行对 rom 进行操作的特殊指令,如 rom 擦除、烧写和校验指令。在编程 rom 时,下载线先通过传输这些指令给 cpu 执行 (擦除 rom、读入数据、烧写 rom、和校验 rom),这样完成对单片机的 rom 的烧写。此外,现在普遍使用的 jtag 仿真器也是这样,单片机的 cpu 能执行 jtag 的特殊指令,完成对 rom 的烧写操作。
3. 引导程序,即单片机中已经存在了一个烧写程序。启动单片机时首先运行这程序,程序判断端口状态,如果符合“要烧写 rom”的状态存在,就从某个端口(串口、spi 等等)读取数据,然后写入到单片机的 rom 中。如果没有“要烧写 rom”的状态,就转到用户的程序开始执行。像 avr 单片机的 bootloader 方式、stc 的串口下载方式,还有其他单片机的串口编程等等都是这样。
广和通发布高速率的5G模组FG360,满足IoT行业的各种应用诉求
全球反射膜龙头冲刺科创板,2018年净利润8679万元
如何检测电感器的通断及绝缘电阻
地物光谱仪在生态系统中的应用
PCB版图设计的步骤及技巧
单片机烧写程序的三种方式
触控显示终端需达到哪些要求才能满足用户的场景应用
何谓PN结的击穿特性?雪崩击穿和齐纳击穿各有何特点?
欧洲分车企和车型的情况
山区建设MMDS系统的几点见解
高精度电流源的应用场景有哪些方面
高精密模拟系统的低噪声正负电压轨设计
贴片发光二极管怎么区分正负
选择需要的磁盘存储阵列级别
示波器高压差分探头调节注意事项
昆仑芯科技 × OpenI/O启智开发者大会看点多多
耐辐射产品系列如何应对近地轨道应用中的挑战
中购联铱星云商携手瑞为技术打造数智时代的商业新范式
LED恒流驱动芯片的滞环控制电路
液晶面板TN的和TFT的区别