1、XEP100型号内存、flash、eeprom容量
(1)RAM:64K(8K non banked,56K banked); non banked为64k地址范围内可寻址的区域,banked为分页RAM,需通过切换RPAGE来访问。
(2)Flash(P-Flash):1M(32K non banked,992K banked); 32K(16+16)非分页在64k地址范围内, 992K分页通过切换PPAGE访问,每页16K。
(3)Flash(D-Flash):32K(all banked); 全部需通过切换EPAGE访问。
(4)EEPROM:4K(1K non banked,3K banked); 1K在64k地址范围内,另外3K在分页地址,通过切换EPAGE访问。
2、.prm/.inc文件中描述的memory地址含义
(1).inc文件中描述的地址为全局地址,即每个区块对应的真实地址;其中在64k地址范围内的块,可以在程序中直接加载地址访问, 64k以外的区块,需要根据不同模块,切换相应的分页符寄存器来访问。
(2).prm文件中描述的地址为真实地址和映射地址,对于64k地址范围内的为真实地址,64k外的为通过分页符切换后可以访问的地址空间。举例说明如下:
D-Flash的分页区块被分为32页,每页对应1K,都映射到0x800-0xBFF这个地址空间(所有涉及分页访问的都有一个类似的公共地址范围,以便在程序中以16位地址访问到64k以外的空间),分页符从00-1F,所以在.prm文件中对应的地址为
000800-000BFF,010800-010BFF,... ...1F0800-1F0BFF。当需要读取这些区块的数据是,首先根据输入的全局地址(.inc文件中描述的地址范围),找到对应的EPAGE分页符,赋值给EPAGE,再根据输入的全局地址计算在该页中的相对偏移量,页起始地址+偏移量作为程序读取时访问的地址。 注意,D-Flash擦除、写入编程操作时,入口地址为全局地址(非分页映射地址)