HCS微控制器MCSDP.pptVIP

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HCS微控制器MCSDP

April 17, 2003 ? Freescale Semiconductor, Inc. 2005 March 2005 Freescale Corporate Template User Guide ? Freescale Semiconductor, Inc. 2005 Freescale HCS12 微控制器 MC9S12DP256 使用 HCS12的第一步 工作模式 Modes of Operation 内部存储器映射-寄存器 寄存器,RAM,EEPROM可以通过设置INITRG,INITRM,INITEE来重新分配他们的位置。 这些寄存器只能写一次,建议在初始化分配寄存器,RAM,EEPROM的位置。对每个INITxx赋值后,在其指令后需插入一空指令。 如果映射有冲突,寄存器具有最高优先级,与其重叠的RAM和EEPROM此时无效。 复位后,寄存器从0x0000开始,但可以被映射到64K空间内的前32K的范围内,而且映射的地址必须是2K的整数倍。 内部存储器映射-RAM 内部存储器映射-EEPROM DP256有4K的EEPROM,通过INITEE的EEON位来使能 复位后,EEPROM区域从$0000开始,但可被映射任意64K空间中的4K字节块内。 EE15-12决定16位EEPROM区域地址的前4位 比如:INITEE=0x11,则地址是从$1000开始 强烈建议! 尽量使用默认的资源映射设置! 需要对资源映射时,注意不要使地址重叠,导致异常错误 FLASH $4000–$FFFF间的存储数据是可以访问的。 由于Flash 模块的地址范围超出了 HCS12 的64K (16-bit)地址空间,所以从 $8000–$BFFF被映射到若干16K字节大小的页框中。 由PPAGE寄存器决定在当前访问的是哪一页。 $8000 - $BFFF间共有64个可访问的页。 使用PPAGE寄存器可以访问到地址在$8000–$BFFF间的所有共16页的16K字节。 Flash模块中每个块包含许多行控制和状态寄存器,它们都位于的相同地址空间 INITRG + $100 - INITRG + $10F。通过Flash 配置寄存器选择有效的某行寄存器。 MC9S12DP256 有7个引脚端口, 端口K,用来仿真或者作为通用 I/O。其余六个端口用来决定哪一个Flash页正在被访问。 其余的地址位放在 PPAGE 寄存器中。 FLASH 除了硬件的分页机制外,另外增加了两条指令,用来调用页内函数。 CALL指令类似于JSR,除了把分页窗返回地址放到堆栈中,它还会在CALL指令把新的8位的数据写到PPAGE之前,把PPAGE的当前值放到堆栈中。 调用CALL指令,需要用RTC指令返回 程序继续执行时,把PPAGE的值和分页窗口的地从堆栈中调出 MC9S12DP256的PPAGE有6位,可以有1M的寻址范围 低地址范围的768K通过PPAGE $00到$2F来访问,它被保留用作外部存储器(当使用扩展模式时) 高地址范围的256K由PPAGE的$30到$3F来访问,用作内部FLASH存储区 FLASH分页机制 所有的256K的FLASH可以通过16K的PPAGE窗口来访问,其中两个16K的页也可以通过固定地址($4000-7FFF, $C000-FFFF)来访问。 $4000-$7FFF与$3E相对应,$C000-$FFFF与$3F相对应 这两个固定页克服了内存分页机制的一些缺点 采用分页机制,在某一页中的函数无法直接访问访问另一页中的数据 需要被其它页的函数访问的数据应该放在固定页中,或只有固定页的函数才能访问其他页的数据 因为复位和中断向量表只有16位,所以所有的中断服务程序和复位初始化程序必须从固定页中开始执行。 大部分中断服务程序可以放在非固定页中,部分的中断服务程序尤其起始部分要放在固定页中。通过CALL来调用非固定页中的函数,最后用RTI指令返回 FLASH-Codewarrior Codewarrior引入两个关键字:near, far Near函数用JSR或BSR来调用 Far函数用CALL来调用 比如:void far func1(void); //func1函数放在非固定页中,可以被其他页的函数调用 const int *far ptr; //指向常量的指针放在非固定页中,这个指针可以用来指向非固定页中的变量 Codewarrior内存模型 Codewarrior支持3种不同的内存模型: SMALL(默认),平面的64K的地址空间。所有的函数都是near BANKED,即采用分页地址。所有的用户的函数都被默认为far far类型的数据指针可以在SMALL和BANKED中使用 LARGE, 默认为数

文档评论(0)

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

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档