我随便打开一个例程,连接好板子,debug,然后用memory browser查看内存,比如0xc3000000,就会发现里面已经有数据了,这个数据是从哪来的呢?它掉电没被擦除掉难道是属于flash段么?那怎么在debug时让它初始化为0呢、、
随便还想请教一下怎么查询各ram,rom的起始地址,还有flash为什么要烧写而不是像DDR一样直接在cmd里划定~?
谢谢了,正在迷茫中:(
下面是例程的cmd代码
MEMORY { L2: o = 0x00800000 l = 0x00040000 share: o = 0x80000000 l = 0x00020000 L1P: o = 0x00E00000 l = 0x00008000 L1D: o = 0x00F00000 l = 0x00008000 dsp_ddrii: o = 0xc2000000 l = 0x1000000 } /* =========================================================================* * Specify the Sections Allocation into Memory * * =========================================================================*/ SECTIONS { .cinit > dsp_ddrii /* Initialization Tables */ .pinit > dsp_ddrii /* C++ Constructor Tables */ .const > dsp_ddrii /* Constant Data */ .switch > dsp_ddrii /* Jump Tables */ .text:_c_int00 > 0xc2000000 .text > dsp_ddrii /* Executable Code */ .bss > dsp_ddrii /* Global & Static Variables */ .far > dsp_ddrii /* Far Global & Static Variables */ .stack > dsp_ddrii /* Software System Stack */ .sysmem > dsp_ddrii /* Dynamic Memory Allocation Area */ .cio > dsp_ddrii /* C I/O Buffer */ .vecs > dsp_ddrii /* Interrupt Vectors */ }
下面是生成的map文件
MEMORY CONFIGURATIONnameoriginlengthusedunusedattrfill ---------------------- -------- --------- -------- -------- ---- --------L20080000000040000 00000000 00040000 RWIXL1P00e0000000008000 00000000 00008000 RWIXL1D00f0000000008000 00000000 00008000 RWIXshare8000000000020000 00000000 00020000 RWIXdsp_ddriic200000001000000 00107c1f 00ef83e1 RWIX
user5276279:
回复 Shine:
确实烧写过到flash,boot pin也配置的norflash启动,可能是这个原因,想请问下能改变ROM bootloader加载的flash内容在RAM的存储位置吗?因为这个加载的数据会影响我对数据的处理。。
user5276279:
回复 Shine:
嗯嗯,明白了,太谢谢您了~:)