在实验28346例程Example_2833xCodeRunFromXintf例程时,发现cmd文件中的:
xintffunsc : LOAD = RAML1,
RUN = ZONE7A,
由于xintffuncs是放到内部内存L1中的,之后查看.map文件,(与不采用外扩内存技术相比)虽然.text段占用L1内存减少,但新增的xintffuncs段同样占用L1内存,反而使L1内存占用增大,那外扩内存的优势在哪呢?
此为将例程修改为不使用外扩RAM技术的.map中的.text段
.text 0 0000a000 0000084c 0000a000 0000035a DSP2834x_DefaultIsr.obj (.text:retain)
0000a35a 000001b4 DSP2834x_Xintf.obj (.text)
0000a50e 000000f7 DSP2834x_SysCtrl.obj (.text)
0000a605 000000ad Example_2834xCodeRunFromXintf.obj (.text)
0000a6b2 00000074 DSP2834x_CpuTimers.obj (.text)
0000a726 00000046 rts2800_fpu32.lib : boot.obj (.text)
0000a76c 0000003d Example_2834xCodeRunFromXintf.obj (.text:retain)
0000a7a9 00000028 DSP2834x_PieCtrl.obj (.text)
0000a7d1 00000020 DSP2834x_PieVect.obj (.text)
0000a7f1 00000019 rts2800_fpu32.lib : args_main.obj (.text)
0000a80a 00000019 : exit.obj (.text)
0000a823 00000015 DSP2834x_MemCopy.obj (.text)
0000a838 00000009 rts2800_fpu32.lib : _lock.obj (.text)
0000a841 00000008 DSP2834x_CodeStartBranch.obj (.text)
0000a849 00000003 DSP2834x_DBGIER.obj (.text)
此为将例程的.map中的.text段和xintffuncs内存占用情况
.text 0 0000a000 0000082d 0000a000 0000035a DSP2834x_DefaultIsr.obj (.text:retain)
0000a35a 000001b4 DSP2834x_Xintf.obj (.text)
0000a50e 000000f7 DSP2834x_SysCtrl.obj (.text)
0000a605 000000b7 Example_2834xCodeRunFromXintf.obj (.text)
0000a6bc 00000074 DSP2834x_CpuTimers.obj (.text)
0000a730 00000046 rts2800_fpu32.lib : boot.obj (.text)
0000a776 00000028 DSP2834x_PieCtrl.obj (.text)
0000a79e 00000020 DSP2834x_PieVect.obj (.text)
0000a7be 00000019 rts2800_fpu32.lib : args_main.obj (.text)
0000a7d7 00000019 : exit.obj (.text)
0000a7f0 00000015 DSP2834x_MemCopy.obj (.text)
0000a805 00000014 Example_2834xCodeRunFromXintf.obj (.text:retain)
0000a819 00000009 rts2800_fpu32.lib : _lock.obj (.text)
0000a822 00000008 DSP2834x_CodeStartBranch.obj (.text)
0000a82a 00000003 DSP2834x_DBGIER.obj (.text)
xintffuncs * 0 0000a82d 00000029 RUN ADDR = 00200000
0000a82d 00000029 Example_2834xCodeRunFromXintf.obj (xintffuncs:retain)
不知道是不是理解的有误,期望各位工程师的解答。
gaoyang9992006:如果你需要使用的这部分存储空间大于xintffuncs,优势就出来了。如果不是很大,可以不用
在实验28346例程Example_2833xCodeRunFromXintf例程时,发现cmd文件中的:
xintffunsc : LOAD = RAML1,
RUN = ZONE7A,
由于xintffuncs是放到内部内存L1中的,之后查看.map文件,(与不采用外扩内存技术相比)虽然.text段占用L1内存减少,但新增的xintffuncs段同样占用L1内存,反而使L1内存占用增大,那外扩内存的优势在哪呢?
此为将例程修改为不使用外扩RAM技术的.map中的.text段
.text 0 0000a000 0000084c 0000a000 0000035a DSP2834x_DefaultIsr.obj (.text:retain)
0000a35a 000001b4 DSP2834x_Xintf.obj (.text)
0000a50e 000000f7 DSP2834x_SysCtrl.obj (.text)
0000a605 000000ad Example_2834xCodeRunFromXintf.obj (.text)
0000a6b2 00000074 DSP2834x_CpuTimers.obj (.text)
0000a726 00000046 rts2800_fpu32.lib : boot.obj (.text)
0000a76c 0000003d Example_2834xCodeRunFromXintf.obj (.text:retain)
0000a7a9 00000028 DSP2834x_PieCtrl.obj (.text)
0000a7d1 00000020 DSP2834x_PieVect.obj (.text)
0000a7f1 00000019 rts2800_fpu32.lib : args_main.obj (.text)
0000a80a 00000019 : exit.obj (.text)
0000a823 00000015 DSP2834x_MemCopy.obj (.text)
0000a838 00000009 rts2800_fpu32.lib : _lock.obj (.text)
0000a841 00000008 DSP2834x_CodeStartBranch.obj (.text)
0000a849 00000003 DSP2834x_DBGIER.obj (.text)
此为将例程的.map中的.text段和xintffuncs内存占用情况
.text 0 0000a000 0000082d 0000a000 0000035a DSP2834x_DefaultIsr.obj (.text:retain)
0000a35a 000001b4 DSP2834x_Xintf.obj (.text)
0000a50e 000000f7 DSP2834x_SysCtrl.obj (.text)
0000a605 000000b7 Example_2834xCodeRunFromXintf.obj (.text)
0000a6bc 00000074 DSP2834x_CpuTimers.obj (.text)
0000a730 00000046 rts2800_fpu32.lib : boot.obj (.text)
0000a776 00000028 DSP2834x_PieCtrl.obj (.text)
0000a79e 00000020 DSP2834x_PieVect.obj (.text)
0000a7be 00000019 rts2800_fpu32.lib : args_main.obj (.text)
0000a7d7 00000019 : exit.obj (.text)
0000a7f0 00000015 DSP2834x_MemCopy.obj (.text)
0000a805 00000014 Example_2834xCodeRunFromXintf.obj (.text:retain)
0000a819 00000009 rts2800_fpu32.lib : _lock.obj (.text)
0000a822 00000008 DSP2834x_CodeStartBranch.obj (.text)
0000a82a 00000003 DSP2834x_DBGIER.obj (.text)
xintffuncs * 0 0000a82d 00000029 RUN ADDR = 00200000
0000a82d 00000029 Example_2834xCodeRunFromXintf.obj (xintffuncs:retain)
不知道是不是理解的有误,期望各位工程师的解答。
mangui zhang:外扩到xintf接口的SRAM配置好接口之后程序中结合指针直接进行读写操作
主要用于内部存储容量不够使用时外扩SRAM可以用于数据存储