vcard-pdf编辑器怎么用

0x000050
2023年3月31日发(作者:文件夹变成exe)

LoaderOneormoresectionsofyourprogramfallsintoamemoryregionthatisnotwritable.

ourlinkerconfigurationandor

memorymap.

每天解决一个问题28——TMS320F28335的存储空间

来源:南东亮的日志

TMS320F28335的存储空间

MS320F28335为哈佛结构的DSP,在逻辑上有4M×16位的程序空间和4M×16位点的数据空间,但在物

理上已将程序空间和数据空间统一成一个4M×16位的空间。TMS320F28335片上有256K×16位的FLASH,

34K×16位的SRAM,8K×16位的BOOTROM,2K×16位的OPTROM。

1、TMS320F28335片上SARAM

TMS320F28335片内共有34K×16位单周期单次访问随机存储器的SARAM,分成10个块,他们分别称为

M0、M1、L0-L7。

MO和M1块SARAM的大小均为1K×16位,当复位后,堆栈指针指向M1块的起始地址,堆栈指针向上生

长。M0和M1段都可以映射到程序区和数据区。

L0-L7块SARAM的大小均为4K×16位,既可映射到程序空间,也可映射到数据空间,其中L0-L3可映射

到两块不同的地址空间并且受片上的FLASH中的密码保护,以免存在上面的程序或数据,被他人非法拷贝。

2、TMS320F28335片上FLASH和OTP

TMS320F28335片上有256K×16位嵌入式FLASH存储器和1K×16位一次可编程EEPROM存储器,他

们均受片上FLASH中的密码保护。FLASH存储器由8个32K×16位扇区组成,用户可以对其中任何一个扇

区进行擦除、编程和校验,而其他扇区不变。但是,不能在其中一个扇区上执行程序来擦除和编程其他的

扇区。

3、TMS320F28335外部存储器接口

TMS320F28335的外部存储器接口包括:20位地址线,16(最大32)位数据线,3个片选控制线及读

写控制线。这3个片选线映射到3个存储区域,Zone0,Zone6和Zone7。这3个存储器可分别设置不同

的等待周期。

Zone0存储区域:0X004000—0X004FFF,4K×16位可编程最少一个等待周期

Zone6存储区域:0X100000—0X1FFFFF,1M×16位10ns最少一个等待周期

Zone7存储区域:0X200000—0X2FFFFF,1M×16位70ns最少一个等待周期

以下是我写的一个RAM仿真的CMD文件,已经调试通过了,硬件设计的外扩的RAM为Zone6空间,

存储区域:0X100000—0X1FFFFF。

MEMORY

{

PAGE0:

/*BEGINisusedforthe"boottoSARAM"bootloadermode*/

/*BOOT_RSVDisusedbythebootROMforstack.*/

/*ThissectionisonlyreservedtokeeptheBOOTROMfrom*/

/*corruptingthisareaduringthedebugprocess*/

BEGIN:origin=0x000000,length=0x000002/*BoottoM0willgohere*/

BOOT_RSVD:origin=0x000002,length=0x00004E/*PartofM0,BOOTromwillusethisfor

stack*/

RAMM0:origin=0x000050,length=0x0003B0

RAML0:origin=0x008000,length=0x001000

RAML1:origin=0x009000,length=0x001000

RAML2:origin=0x00A000,length=0x001000

RAML3:origin=0x00B000,length=0x001000

CSM_RSVD:origin=0x33FF80,length=0x000076/*mwithall0x0000

whenCSMisinuse.*/

CSM_PWL:origin=0x33FFF8,length=0x000008/*swordlocations

inFLASHA*/

ADC_CAL:origin=0x380080,length=0x000009

RESET:origin=0x3FFFC0,length=0x000002

IQTABLES:origin=0x3FE000,length=0x000b50

IQTABLES2:origin=0x3FEB50,length=0x00008c

FPUTABLES:origin=0x3FEBDC,length=0x0006A0

BOOTROM:origin=0x3FF27C,length=0x000D44

ZONE6:origin=0x100000,length=0x040000/*XINTFzone6-dataspace*/

PAGE1:

RAMM1:origin=0x000400,length=0x000400/*on-chipRAMblockM1*/

RAML:origin=0x00C000,length=0x004000

ZONE6:origin=0x140000,length=0x040000/*XINTFzone6-dataspace*/

}

SECTIONS

{

/*Setupfor"boottoSARAM"mode:

Thecodestartsection(foundinDSP28_)

re-directsexecutiontothestartofusercode.*/

codestart:>BEGIN,PAGE=0

ramfuncs:>RAML0,PAGE=0

.text:>ZONE6,PAGE=0

.cinit:>RAML0,PAGE=0

.pinit:>RAML0,PAGE=0

.switch:>RAML0,PAGE=0

.stack:>RAML,PAGE=1

.ebss:>RAML,PAGE=1

.econst:>ZONE6,PAGE=1

.esysmem:>RAML,PAGE=1

IQmath:>RAML1,PAGE=0

IQmathTables:>IQTABLES,PAGE=0,TYPE=NOLOAD

IQmathTables2:>IQTABLES2,PAGE=0,TYPE=NOLOAD

FPUmathTables:>FPUTABLES,PAGE=0,TYPE=NOLOAD

.reset:>RESET,PAGE=0,TYPE=DSECT/*notused*/

csm_rsvd:>CSM_RSVDPAGE=0,TYPE=DSECT/*notusedforSARAMexamples*/

csmpasswds:>CSM_PWLPAGE=0,TYPE=DSECT/*notusedforSARAMexamples*/

}

下图为存储空间地址分配。

更多推荐

0x000050