飞思卡尔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位

你可能感兴趣的:(飞思卡尔9S12XF512的地址空间分配)