C2000中文网
专业的C2000技术问题咨询交流的网站

28346例程Example_2833xCodeRunFromXintf中外扩内存是否真正减少了内部内存使用?

在实验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可以用于数据存储

赞(0)
未经允许不得转载:C2000中文网 » 28346例程Example_2833xCodeRunFromXintf中外扩内存是否真正减少了内部内存使用?
分享到: 更多 (0)

致力于C2000的技术推广

联系我们联系我们