飞思卡尔9S12XF512的地址空间分配

刚开始学习单片机,记录一下供以后参考。

 

9S12XF512带有4K的EEPROM,32K的RAM,512K的Flash。内部寄存器有D(A,B),SP,PC,CCR,X,Y,EPAGE,RPAGE,PPAGE。

 

因为是16位单片机,所以本地最大寻址空间(Local Memory Map)到0xFFFF,最低2k空间(0x0000-0x0800)供IO等的寄存器用,0x800-0x1000的2k给了EEPROM,但因为EEPROM有4K,所以在0x0800-0x0C00这一1k的地方给EEPROM开了一个窗口,用EPAGE寄存器进行寻址,0x0C00到0x1000这1k为固定的。从0x1000到0x4000分给了RAM,同样因为RAM有32K,所以把0x1000到0x2000的4k开了一个窗口,用RPAGE进行寻址,0x2000到0x4000的8K是固定的。同理,0x4000-0x8000为固定的16k Flash,0x8000-0xC000是16k的Flash窗口,用PPAGE进行寻址,0xC000到0xFFFF是另一个固定的16K Flash,但其最高端0xFF00到0xFFFF用于中断向量。

 

Question:

1、Global Memory Map指的是什么空间,为什么最大只有0x7FFFFF。

2、该单片机的EEPROM只有4K,为什么CW建工程后的prm文件里分页的EEPROM有32个,从EEPROM_00到EEPROM_FF。

 

Answers:

    XF512是16位单片机,论地址线的话只能寻址到64K,这叫做Local Memory,但9S12X在MMC中加入了7位的GPAGE寄存器,把GPAGE的值放在实际地址值的前面组成了一个23位的地址空间,就可以寻址到0x7FFFFF,这叫做Global Memory。

    其实这和MMC中的EPAGE、PPAGE、RPAGE寄存器的功能是相似的,如PPAGE是把Local Memory中Flash的地址部分进行分页,每16K为一页,对XF512来说就分为了32页,那GPAGE就是把整个Local Memory进行分页,每64k为一页,分128页。

 

Question:

为什么GPAGE不用八位,而用7位

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值