这种机制主要是为了方便地更新或升级flash中的程序,你可以通过可用的通信接口(比如串口等等),把更新的程序接收到RAM中,然后使用boot区中的程序烧写app。
当然,boot在出厂时是空的,你必须通过isp或并口编程器把boot程序写烧进boot区。
刚开始学单片机不要或滚去动boot区。里面驻留的晌哗通常是厂家写入的导引程序,配合厂家或第三方PC软件实现对单片机的调试,烧写等功能。当你有能力自衫谨余己写boot程序了,再去研究如何使用boot区吧。AT89S51单片机是由英特尔公司设计的一款8位微控制器,采用低功耗CMOS工艺,具有高性能、高可靠性、易于编程和广泛应用等特点。在AT89S51单片机中,程序通常从0030H单元开始存放,这是由芯片内部的特殊设计所决定的。AT89S51单片机的内部结构由程序存储器、数据存储器、中断系统、定时器/计数器、串行口、并行口等组成。其中程序存储器的地址范围是0000H~7FFFH,共32KB。为了方便编程和调试,AT89S51单片机的程序存储器采用了按照16字节为一段的分页方式,每页对应一个地址范围。具体来说,程序存储器被分为256页,每哗数页包含16个字节,每个字节8位,总共可以存储256*16*8=32KB的程序。在AT89S51单片机中,程序存储器有两个特殊的页,分别是00H~1FH和20H~2FH,它们被称为“boot loader区域”。这两个区域共占64字节用于存储启动程序或者初始化程序,用于检测外部存储器或者其他外设的状态,以便后续程序的正常执行。这两个区域位于程序存储器的前面从0000H到003FH的地址范围内,其中从0030H开始的32字节 (2页) 被预留乱竖首出来,用于存储启动程序或者初始化程序。因此,AT89S51单片机的程序通常从0030H单元开始存放,这样可以避免覆盖boot loader区域纤轿,保证程序正常执行。总之,AT89S51单片机程序经常从0030H单元开始存放,是由芯片内部的特殊设计所决定的,主要是为了保证程序的正常执行和系统的稳定性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)