主题中讨论的其他器件:C2000WARE
您好!
我对存储器映射描述有一些疑问。
MCU 有两个存储器映射:程序和数据。
C2000 Academy 建议存储器说明必须如下单独描述每个存储器。

但是 、C2000WARE 提供的链接器命令文件没有说明。
对于新器件(C2000第3代器件)、是否不需要此说明
下面的内存说明为 F2838x_flash_cla_lnk_cpu1.cmd
存储器
{
/* begin 用于"引导至闪存"引导加载程序模式*/
开始:origin = 0x080000,length = 0x000002
BOOT_RSVD:origin = 0x000002,length = 0x0001AF // M0的部分,引导 ROM 将此用于栈*/
RAMM0:origin = 0x0001B1,length = 0x00024F
RAMM1:origin = 0x000400,length = 0x0003F8 //片上 RAM 块 M1 */
// RAMM1_RSVD:origin = 0x0007F8,length = 0x000008 //根据勘误咨询“Memory:Prepetching Beyond valid Memory”(内存:超出有效内存的预取),保留并不用于代码*/
RAMD0:origin = 0x00C000、length = 0x000800
RAMD1:origin = 0x00C800,length = 0x000800
RAMLS0:origin = 0x008000、length = 0x000800
RAMLS1:origin = 0x008800,length = 0x000800
RAMLS2:origin = 0x009000,length = 0x000800
RAMLS3:origin = 0x009800,length = 0x000800
RAMLS4:origin = 0x00A000,length = 0x000800
RAMLS5:origin = 0x00A800,length = 0x000800
RAMLS6:origin = 0x00B000、length = 0x000800
RAMLS7:origin = 0x00B800,length = 0x000800
RAMGS0:origin = 0x00D000,length = 0x001000
RAMGS1:origin = 0x00E000、length = 0x001000
RAMGS2:origin = 0x00F000、length = 0x001000
RAMGS3:origin = 0x010000,length = 0x001000
RAMGS4:origin = 0x011000,length = 0x001000
RAMGS5:origin = 0x012000,length = 0x001000
RAMGS6:origin = 0x013000、length = 0x001000
RAMGS7:origin = 0x014000,length = 0x001000
RAMGS8:origin = 0x015000,length = 0x001000
RAMGS9:origin = 0x016000,length = 0x001000
RAMGS10:origin = 0x017000,length = 0x001000
RAMGS11:origin = 0x018000,length = 0x001000
RAMGS12:origin = 0x019000,length = 0x001000
RAMGS13:origin = 0x01A000,length = 0x001000
RAMGS14:origin = 0x01B000,length = 0x001000
RAMGS15:origin = 0x01C000,length = 0x000FF8
// RAMGS15_RSVD:origin = 0x01CFF8,length = 0x000008 //根据勘误咨询“Memory: pret撷取 超出有效内存”*/,保留并不用于代码
/*闪存扇区*/
FLASH0:origin = 0x080002,length = 0x001FFE /*片上闪存*/
FLASH1:origin = 0x082000,length = 0x002000 //片上闪存*/
FLASH2:origin = 0x084000、length = 0x002000 //片上闪存*/
FLASH3:origin = 0x086000、length = 0x002000 //片上闪存*/
FLASH4:origin = 0x088000、length = 0x008000 //片上闪存*/
FLASH5:origin = 0x090000,length = 0x008000 //片上闪存*/
Flash6:origin = 0x098000、length = 0x008000 //片上闪存*
FLASH7:origin = 0x0A0000,length = 0x008000 //片上闪存*/
FLASH8:origin = 0x0A8000、length = 0x008000 //片上闪存*/
FLASH9:origin = 0x0B0000,length = 0x008000 //片上闪存*/
FLASH10:origin = 0x0B8000、length = 0x002000 //片上闪存*/
FLASH11:origin = 0x0BA000、length = 0x002000 //片上闪存*/
FLASH12:origin = 0x0BC000、length = 0x002000 //片上闪存*/
FLASH13:origin = 0x0BE000、length = 0x001FF0 /*片上闪存*/
// FLASH13_RSVD:origin = 0x0BFFF0,length = 0x000010 //根据勘误咨询“Memory:Prepetching Beyond valid Memory”(内存:有效内存之外的预取)来保留代码,不要将其用于代码*/
CPU1TOCPU2RAM:origin = 0x03A000,length = 0x000800
CPU2TOCPU1RAM:origin = 0x03B000,length = 0x000800
CPUTOCMRAM:origin = 0x039000,length = 0x000800
CMTOCPURAM:origin = 0x038000,length = 0x000800
CANA_MSG_RAM:origin = 0x049000、length = 0x000800
CANB_MSG_RAM:origin = 0x04B000、length = 0x000800
复位:origin = 0x3FFFC0,length = 0x000002
CLA1_MSGRAMLOW:origin = 0x001480,length = 0x000080
CLA1_MSGRAMHIGH:origin = 0x001500,length = 0x000080
}