第10章LPC2000的固件2学时.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
共37页 * 第10章 LPC2000的固件 2学时 本章主要内容 1、用户程序的引导和固件; 2、ISP和IAP; 3、LPC2000的Boot Block和存储器重映射; 4、用户应用程序的重映射。 10.1 LPC2000的重映射存储区 为了灵活地使用各类存储器中的程序和数据,LPC2000在内部存储空间的低端自00X0000003F划出了一个64字节的重映射区。 用户可根据需要,把重映射区的空间分配给 4 个具有同样大小(64字节)的存储区域之一。 这 4 个存储区域分别是: (1)内部Flash高端的64字节空间; (2)内部Flash低端的64字节空间; (3)内部RAM低端的64字节空间; (4)外部RAM低端的64字节空间。 其图如下所示: 为了对存储器映射进行控制,处理器设置了存储器映射控制寄存器MEMMAP,其格式如下: 这两位可以由程序来设置。 MEM[1:0]= 00 是系统上电复位后的默认状态,即系统把内部的低端 64 字节映射到00X0000003F。 所谓重映射,就是通过MEM[1:0]的开关作用在同一个地址空间中安置不同的物理存储空间,从而使系统可以在同一个地址空间使用不同物理存储器中的代码。 另外,当MEM[1:0]=11重映射区安置的物理存储器为外部RAM时,为了适应具有不同字长(8位、16位或32位)的外部RAM,处理器使用了两个外部引脚 BOOT1 和 BOOT0 对其进行控制。这两个引脚的意义如下: 内部Flash 1 1 32 0 1 16 1 0 8 0 0 外部存储器的字长 P2.26/d26/boot0 P2.27/D27/BOOT1 10.2 LPC2000的固件及其作用 有些半导体器件提供商在提供芯片的同时,还经常为用户提供一个存有实现某种系统功能软件的只读存储器。 由于这种带有软件且能完成一定系统功能的只读存储器既不像真正软件那样可以随时加载和卸载,也不像一般硬件那样制造出来之后就具有某种功能,所以人们把这种软件和硬件结合的产物叫做固件。 固件的概念: 固件在系统一上电便可以被执行,以完成一些系统任务。其主要任务大致为: (1)对系统中的最基本硬件进行初始化,为软件的运行提供最基本的硬件环境; (2)将处理器的执行流程引导到用户程序上; (3)需要时,把后续要执行软件映像装载到系统内存。 Philips公司在LPC2000处理器的片内Flash的高端地址空间固化了一个只在系统复位启动时起作用的小型系统软件,这个小型软件叫做引导块(Boot Block)。 Boot Block的主要任务有两项: (1)根据用户的需要,对Flash进行在系统编程(ISP); (2)正确引导(Boot)用户程序。 1、 Flash的ISP和IAP (1)早期的编程器 (2)ISP 叫做在系统编程。无需从系统上拔下存储器芯片就可以对它进行编程。 (3)IAP 叫应用编程,允许在应用程序运行中由应用程序对存储器芯片进行编程。 Philips公司把目标系统与ISP相关的功能编写在引导块(Boot Block)中,并将该引导块固化在了片内Flash的高端位置。对于片内Flash为128KB的LPC21XX处理器来说,引导块占用了片内Flash的0X1FFFE000~0X1FFFFFFF共8KB空间;而对于片内Flash存储器为256KB的LPC22XX处理器来说,引导块占用了片内Flash的0X3FFFE000~0X3FFFFFFF共8KB空间。 2、用户程序的引导 所谓用户程序的引导,就是系统启动之后将处理器的执行流程正确地引领到用户程序上去的过程。 用来完成这项任务的程序叫做引导程序(Booter),在LPC2000中叫做Boot Block。 系统复位启动之后是从0开始取指令并执行程序的。同时按ARM系统的规定,存储空间的最底端只能用来存放中断向量表,而不能用来存放用户程序(除非用户程序不使用中断)。 基于上述限制,就决定了如下两种做法: (1)在系统上电瞬间,从地址0开始的一段存储器必须为非易失性存储器,以使系统上电后即能获得可执行代码。 (2)为了防止用户程序空间与中断向量表控制的冲突,用户只能避开中断向量表所占用的存储空间,而把用户程序存放到存储器的其它位置。 用户程序的两种引导方法如下: (1)用户程序的直接引导方式 (2)用户程序的引导程序引导方式 10.3 LPC2000

文档评论(0)

tangtianxu1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档