向单片机烧写时,如何访问内部ROM?

-回复 -浏览
楼主 2020-07-24 10:05:24
举报 只看此人 收藏本贴 楼主


免费领取200G十几个工程领域的资料

一位工程师领取这600G资料后升职加薪了

免费领取|《PLC编程及应用》套装(4册)

(点红字,免费领资料)

——工程客(ID:Engicool2014)



我要问的不是如何制作烧写接口。 而是:

电脑在通过接口向单片机烧写时(此时单片机 内没有程序),电脑是如何通过接口访问内部rom的?对应p口怎么就会指向单片机内部rom?


有三种方式


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的串口下载方式,还有其他单片机的串口编程等等都是这样。


 往期热文推荐 

限时下载 | 清华、哈工大、浙大等电气全套视频资料 hot

微信红包可以撤回?这个功能实在太好玩了! hot

颠覆认知!看完这些图,你的世界观还好吗?

一位工程师领取这600G资料后升职加薪了!!


我要推荐
转发到

友情链接