【经验分享】飞思卡尔16位单片机的资源配置要注意的问题 !
本帖最后由 FSL_TICS_ZJJ 于 2014-5-9 10:27 编辑以飞思卡尔的MC9S12XS128MAL为例,其实DG128之类的类似。如下图中飞思卡尔单片机资源列表可知,128代表的是单片机中的FLASH大小为128K Byte,同理64代表的是单片机中的FLASH大小为64 K Byte,256代表的是单片机中的FLASH大小为256 K Byte。但是S12(X)所使用的内核CPU12(X)的地址总线为16位,寻址范围最大为2^16 =64K Byte,而这64K Byte的寻址空间还包括寄存器、EEPROM(利用Data Flash模拟)、RAM等,因此不是所有的64K Byte都是用来寻址FLASH。所以在S12(X)系列单片机中,很多资源是以分页的形式出现的,其中包括EEPROM、RAM、FLASH。EEPROM的每页大小为1K Byte,RAM的每页大小为4K Byte,FLASH的每页大小为16K Byte。因此XS128中EEPROM的页数为8K/1K = 8页,RAM的页数为8K/4K = 2页,Flash的页数为128K/16K = 8页。
[飞思卡尔单片机资源列表/align]
在单片普通模式中,复位后,所有内存资源的映射如下图飞思卡尔单片机内存资源映射图所示,其中从0x0000-0x07FF的2K范围内映射为寄存器区,如I/O端口寄存器等,当然寄存器没有那么多,后面的一部分其实没有使用;
从0x0800-0x0BFF,共1K的空间,映射为EEPROM区,由上面的分析,XS128中共有8页的共8K的EEPROM,所以这8页的EEPROM都是以分页的形式出现的,可以通过设置寄存器EPAGE选择不同的页并进行访问;
从0x0C00到0x0FFF的1K空间为保留区(其实这里面也还有学问说道);
从0x1000到0x3FFF的12K空间为RAM区,分为三页,但是和前面所说的EEPROM不同,这三页中有2页(对于XS128和XS256)或一页(对于XS64)为固定页,位于12K空间的后一部分,以XS128为例,其内部的RAM资源为8K,所以其三页中的最后两页(0x2000-0x3FFF)为固定页,第一页(0x1000-0x1FFF)为窗口区,通过设置寄存器RPAGE来映射其他分页的RAM,当然在单片普通模式下,XS128内部已经没有其他的RAM了,所以这一页其实也没有用。但是对于XS256,这一页是有用的,因为它总共有12K的RAM。但是,在单片普通模式下,即没有外扩RAM的情况下,用户是不用刻意的去配置RPAGE的,因为复位的时候,已经默认指向那一页的RAM。
从0x4000-0xFFFF的总共48K的空间为Flash区,分为三页。其中第一页和第三页为固定的Flash页,中间的一页(0x8000-0xBFFF)为窗口区,通过设置PPAGE寄存器,可以映射到其他的分页Flash。
在最后的一页固定的Flash区域中的最后256字节中,保存的是中断向量。
对于RAM和Flash来说,其实固定页和其他的分页资源是统一编址的,不同的是固定页不可以通过寄存器(RPAGE、PPAGE)改变映射,而其他的页必须通过寄存器的设置来选择映射不同的页。
飞思卡尔单片机内存资源映射图 这款单片机有点早了。 是有点年头 从哪拷贝来的吧,排版混乱。 这些东西是要好好了解一下,虽然自己总是感觉云里雾里!不管他老不老飞思卡尔就是飞思卡尔!总要在世界前几位吧?51都出来30多年了,现在死了吗?不是还是活的很欢实?至少s12x系列10年内不会死掉吧? 楼主以后发这种资料,请在标题上加上【经验分享】,这样有别于问题贴。
页:
[1]