2020/09/28_内部Memory分布、prm文件描述、inc文件含义及相应的编程概要

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擦除、写入编程操作时,入口地址为全局地址(非分页映射地址)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。