C6748.cmd 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. /****************************************************************************/
  2. /* */
  3. /* OMAPL138 及 DSP C6748 内存空间分配定义 */
  4. /* */
  5. /* 2014年07月05日 */
  6. /* */
  7. /****************************************************************************/
  8. MEMORY
  9. {
  10. #ifdef DSP_CORE
  11. /****************************************************************************/
  12. /* */
  13. /* DSP 专有内存区域 */
  14. /* */
  15. /****************************************************************************/
  16. DSPL2ROM o = 0x00700000 l = 0x00100000 /* 1MB L2 DSP 本地 ROM (DSP ROM Bootloader) */
  17. DSPL2RAM o = 0x00800000 l = 0x00040000 /* 256kB L2 DSP 本地 RAM */
  18. DSPL1PRAM o = 0x00E00000 l = 0x00008000 /* 32kB L1 DSP 本地程序 RAM */
  19. DSPL1DRAM o = 0x00F00000 l = 0x00008000 /* 32kB L1 DSP 本地数据 RAM */
  20. #endif
  21. /****************************************************************************/
  22. /* */
  23. /* 公共内存区域 */
  24. /* */
  25. /****************************************************************************/
  26. SHDSPL2ROM o = 0x11700000 l = 0x00100000 /* 1MB L2 共享内置 ROM */
  27. SHDSPL2RAM o = 0x11800000 l = 0x00040000 /* 256KB L2 共享内置 RAM */
  28. SHDSPL1PRAM o = 0x11E00000 l = 0x00008000 /* 32KB L1 共享内置程序 RAM */
  29. SHDSPL1DRAM o = 0x11F00000 l = 0x00008000 /* 32KB L1 共享内置数据 RAM */
  30. EMIFACS0 o = 0x40000000 l = 0x20000000 /* 512MB SDRAM (CS0) */
  31. EMIFACS2 o = 0x60000000 l = 0x02000000 /* 32MB 异步 (CS2) */
  32. EMIFACS3 o = 0x62000000 l = 0x02000000 /* 32MB 异步 (CS3) */
  33. EMIFACS4 o = 0x64000000 l = 0x02000000 /* 32MB 异步 (CS4) */
  34. EMIFACS5 o = 0x66000000 l = 0x02000000 /* 32MB 异步 (CS5) */
  35. SHRAM o = 0x80000000 l = 0x00020000 /* 128KB 共享 RAM */
  36. DDR2 o = 0xC0001000 l = 0x08000000 /* 128MB DDR2 分配给 DSP */
  37. EntryPoint o = 0xC0000000 l = 0x00000800 /* 2 KB C 语言入口点 */
  38. Vector o = 0xC0000800 l = 0x00000800 /* 2 KB 中断向量表 */
  39. /****************************************************************************/
  40. /* */
  41. /* 外设内存区域 */
  42. /* */
  43. /****************************************************************************/
  44. SYSCFG0 o = 0x01C14000 l = 0x00001000 /* 4K SYSCFG0 */
  45. uPP o = 0x01E16000 l = 0x00001000 /* 4K uPP */
  46. GPIO o = 0x01E26000 l = 0x00001000 /* 4K GPIO */
  47. McBSP1 o = 0x01D11000 l = 0x00000800 /* 2K McBSP1 */
  48. #ifndef DSP_CORE
  49. /****************************************************************************/
  50. /* */
  51. /* ARM 专有内存区域 */
  52. /* */
  53. /****************************************************************************/
  54. ARMROM o = 0xFFFD0000 l = 0x00010000 /* 64kB ARM 本地 ROM (ARM ROM Bootloader) */
  55. ARMRAM o = 0xFFFF0000 l = 0x00002000 /* 8kB ARM 本地 RAM */
  56. #endif
  57. }
  58. SECTIONS
  59. {
  60. .text:_c_int00 > EntryPoint /* 可执行代码 C 程序入口点*/
  61. .text > DDR2 /* 可执行代码 */
  62. .stack > DDR2 /* 软件系统栈 */
  63. .cio > DDR2 /* C 输入输出缓存 */
  64. ".vectors" > Vector /* 中断向量表 */
  65. .const > DDR2 /* 常量 */
  66. .data > DDR2 /* 已初始化全局及静态变量 */
  67. .switch > DDR2 /* 跳转表 */
  68. .sysmem > DDR2 /* 动态内存分配区域 */
  69. .args > DDR2
  70. .ppinfo > DDR2
  71. .ppdata > DDR2
  72. /* TI-ABI 或 COFF */
  73. .pinit > DDR2 /* C++ 结构表 */
  74. .cinit > DDR2 /* 初始化表 */
  75. /* EABI */
  76. .binit > DDR2
  77. .init_array > DDR2
  78. .fardata > DDR2
  79. .c6xabi.exidx > DDR2
  80. .c6xabi.extab > DDR2
  81. .init_array > DDR2
  82. GROUP(NEARDP_DATA)
  83. {
  84. .neardata
  85. .rodata
  86. .bss
  87. } > DDR2
  88. .far: fill = 0x0, load > DDR2
  89. /* DDR2 */
  90. .buffer > DDR2
  91. /* 外设 */
  92. .Reg_SYSCFG0 > SYSCFG0
  93. .Reg_uPP > uPP
  94. .Reg_GPIO > GPIO
  95. .Reg_McBSP1 > McBSP1
  96. }