您好,
tms320f28379d 中的内存分配问题
您能不能建议 我在下面的内存分配页面中进行哪些更改
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
存储器
{
第0页:/* 程序内存*/
/*内存(RAM/FLASH)块可移动到 Page1进行数据分配*/
/* begin 用于"引导至闪存"引导加载程序模式 */
开始 :origin = 0x080000,length = 0x000002
RAMM0 :origin = 0x000122、length = 0x0002DE
RAMD0 :origin = 0x00B000、length = 0x000800
RAMLS0 :origin = 0x008000、length = 0x000800
RAMLS1 :origin = 0x008800,length = 0x000800
RAMLS2 :origin = 0x009000,length = 0x000800
RAMLS3 :origin = 0x009800,length = 0x000800
RAMGS14 :origin = 0x01A000,length = 0x001000
RAMGS15 :origin = 0x01B000,length = 0x001000
复位 :origin = 0x3FFFC0,length = 0x000002
/*闪存扇区*/
FLASHA :origin = 0x080002,length = 0x001FFE /*片上闪存*/
FLASHB :origin = 0x082000、length = 0x002000 //片上闪存*
FLASHC :origin = 0x084000,length = 0x002000 //片上闪存*/
FLASHD :origin = 0x086000、length = 0x002000 //片上闪存*/
FLASHE :origin = 0x088000、length = 0x008000 //片上闪存*/
FLASHF :origin = 0x090000,length = 0x008000 //片上闪存*
FLASHG :origin = 0x098000、length = 0x008000 //片上闪存*/
FLASHH :origin = 0x0A0000,length = 0x008000 //片上闪存*/
FLASHI :origin = 0x0A8000、length = 0x008000 //片上闪存*/
FLASHJ :origin = 0x0B0000,length = 0x008000 //片上闪存*/
FLASHK :origin = 0x0B8000、length = 0x002000 //片上闪存*/
FLASHL :origin = 0x0BA000、length = 0x002000 //片上闪存*/
FLASHM :origin = 0x0BC000、length = 0x002000 //片上闪存*/
FLASHN :origin = 0x0BE000、length = 0x002000 //片上闪存*/
第1页:/*数据存储器*/
/*内存(RAM/FLASH)块可移动到 PAGE0进行程序分配*/
BOOT_RSVD :origin = 0x000002,length = 0x000120 // M0的一部分,引导 ROM 将此用于栈*/
RAMM1 :origin = 0x000400、length = 0x000400 //片上 RAM 块 M1 *
RAMD1 :origin = 0x00B800,length = 0x000800
RAMLS4 :origin = 0x00A000,length = 0x000800
RAMLS5 :origin = 0x00A800,length = 0x000800
RAMGS0 :origin = 0x00C000、length = 0x001000
RAMGS1 :origin = 0x00D000、length = 0x001000
RAMGS2 :origin = 0x00E000、length = 0x001000
RAMGS3 :origin = 0x00F000、length = 0x001000
RAMGS4 :origin = 0x010000,length = 0x001000
RAMGS5 :origin = 0x011000,length = 0x001000
RAMGS6 :origin = 0x012000,length = 0x001000
RAMGS7 :origin = 0x013000,length = 0x001000
RAMGS8 :origin = 0x014000,length = 0x001000
RAMGS9 :origin = 0x015000,length = 0x001000
RAMGS10 :origin = 0x016000,length = 0x001000
RAMGS11 :origin = 0x017000,length = 0x001000
RAMGS12 :origin = 0x018000,length = 0x001000
RAMGS13 :origin = 0x019000,length = 0x001000
CPU2TOCPU1RAM :origin = 0x03F800,length = 0x000400
CPU1TOCPU2RAM :origin = 0x03FC00,length = 0x000400
}
部分
{
/*分配计划领域:*/
.cinit :> FLASHB PAGE = 0,ALIGN (4)
.pinit :> FLASHB, PAGE = 0,ALIGN (4)
.text :>> FLASHB | FLASHC | FLASHD | FLASHE PAGE = 0,ALIG(4)
codestart :> begin page = 0,align (4)
#ifdef __TI_Compiler_version__
#if __TI_Compiler_version__>=15009000
.TI.ramfunc:{}负载= FLASHD,
RUN = RAMLS0 | RAMLS1 | RAMLS2 | RAMLS3、
load_start (_RamfuncsLoadStart)、
load_size (_RamfuncsLoadSize)、
load_end (_RamfuncsLoadEnd)、
run_start (_RamfuncsRunStart)、
run_size (_RamfuncsRunSize)、
run_end (_RamfuncsRunEnd)、
PAGE = 0、ALIGN (4)
其他
ramfuncs :load = FLASHD,
RUN = RAMLS0 | RAMLS1 | RAMLS2 | RAMLS3、
load_start (_RamfuncsLoadStart)、
load_size (_RamfuncsLoadSize)、
load_end (_RamfuncsLoadEnd)、
run_start (_RamfuncsRunStart)、
run_size (_RamfuncsRunSize)、
run_end (_RamfuncsRunEnd)、
PAGE = 0、ALIGN (4)
#endif
#endif
/*分配未初始化的数据段:*/
.stack :>RAMM1 page = 1.
.ebss :>> RAMLS4 | RAMLS5 | RAMGS0 | RAMGS1 PAGE = 1.
.esysmem :> RAMLS5 PAGE = 1.
/*初始化段进入闪存*/
econst :>> FLASHF | FLASHG | FLASHH PAGE = 0,ALIGN (4)
.switch :> FLASHB PAGE = 0,ALIGN (4)
.reset :> reset, page = 0,type = DSECT //未使用,*/
filter_RegsFile :> RAMGS0, PAGE = 1
/* SHARERAMGS0 :>RAMGS0, PAGE = 1
SHARERAMGS1 :>RAMGS1, PAGE = 1.
SHARERAMGS2 :>RAMGS2, PAGE = 1.
SHARERAMGS3 :>RAMGS3, PAGE = 1*/
SHARERAMGS5 :> RAMGS5, PAGE = 1
SHARERAMGS6 :> RAMGS6, PAGE = 1
/*使用 IPC API 驱动程序时需要以下部分定义*/
组:> CPU1TOCPU2RAM,PAGE = 1
{
PUTBUFFER
PUTWRITEIDX
GETREADIDX
}
组:> CPU2TOCPU1RAM,PAGE = 1
{
GETBUFFER: TYPE = DSECT
GETWRITEIDX: TYPE = DSECT
PUTREADIDX: TYPE = DSECT
}
}
/*
//============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
//文件结束。
//============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
*
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
我尝试创建 大小超过1024的数组、然后它显示说明#10099-D 程序将不适合 2837x_flash_lnk_cpu1.cmd /EV_BMS_CPU1 行100 C/C++问题
我的数组是
UNION smuData{
unsigned long ulData[600];
unsigned int uiData[1200];
union cmuData cmuData[15];
};
extern union smuData smuData[4];
和工作代码阵列
UNION smuData{
unsigned long ulData[480];
unsigned int uiData[960];
union cmuData cmuData[12];
};
extern union smuData smuData[4];