LinkerScript.ld 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681
  1. /*
  2. * Name: iROM.ld
  3. *
  4. * Generated Linker Description File
  5. * Copyright (C) 2010 HighTec EDV-Systeme GmbH.
  6. * (!Do not edit outsite of the protection areas!)
  7. *
  8. * Description:
  9. * internal flash configuration
  10. */
  11. /*
  12. * Define Entrypoint of Executable
  13. */
  14. ENTRY(_start)
  15. /*
  16. * Global
  17. */
  18. /*Program Flash Memory (PFLASH0)*/
  19. __PMU_PFLASH0_BEGIN = 0xA0000000;
  20. __PMU_PFLASH0_SIZE = 2M;
  21. /*Data Flash Memory (DFLASH0)*/
  22. __PMU_DFLASH0_BEGIN = 0xAF000000;
  23. __PMU_DFLASH0_SIZE = 128K;
  24. /*Boot ROM (BROM)*/
  25. __BROM_BEGIN = 0x8FFF8000;
  26. __BROM_SIZE = 32K;
  27. /*Scratch-Pad RAM (PSPR)*/
  28. __PMI_PSPR_BEGIN = 0xC0000000;
  29. __PMI_PSPR_SIZE = 8K;
  30. /*Local Data RAM (DSPR)*/
  31. __DMI_DSPR_BEGIN = 0xD0000000;
  32. __DMI_DSPR_SIZE = 184K;
  33. /*Local Data RAM (DSPR)*/
  34. __LMU_SRAM_BEGIN = 0x90000000;
  35. __LMU_SRAM_SIZE = 32K;
  36. __USTACK_SIZE = DEFINED (__USTACK_SIZE) ? __USTACK_SIZE : 4K; /* Section for ustack*/
  37. __ISTACK_SIZE = DEFINED (__ISTACK_SIZE) ? __ISTACK_SIZE : 1K; /* Section for istack*/
  38. __HEAP_SIZE = DEFINED (__HEAP_SIZE) ? __HEAP_SIZE : 4K; /* Section for heap*/
  39. __CSA_SIZE = DEFINED (__CSA_SIZE) ? __CSA_SIZE : 16K; /* Section for CSA*/
  40. /**
  41. * User defined global region
  42. */
  43. /*PROTECTED REGION ID(Protection:iROM-Global) ENABLED START*/
  44. /*Protection-Area for your own LDF-Code*/
  45. /*PROTECTED REGION END*/
  46. /*
  47. * internal flash configuration
  48. */
  49. MEMORY
  50. {
  51. PMU_PFLASH0 (rx!p): org = 0xA0000000, len = 2M /*Program Flash Memory (PFLASH0)*/
  52. PMU_DFLASH0 (r!xp): org = 0xAF000000, len = 128K /*Data Flash Memory (DFLASH0)*/
  53. BROM (rx!p): org = 0x8FFF8000, len = 32K /*Boot ROM (BROM)*/
  54. PMI_PSPR (wx!p): org = 0xC0000000, len = 8K /*Scratch-Pad RAM (PSPR)*/
  55. DMI_DSPR (w!xp): org = 0xD0000000, len = 184K /*Local Data RAM (DSPR)*/
  56. LMU_SRAM (w!xp): org = 0x90000000, len = 32K /*Local Data RAM (DSPR)*/
  57. }
  58. SECTIONS
  59. {
  60. /*Code-Sections*/
  61. /*
  62. * Startup code for TriCore
  63. */
  64. .startup_code :
  65. {
  66. PROVIDE(__startup_code_start = .);
  67. /*PROTECTED REGION ID(Protection: iROM .startup_code.begin) ENABLED START*/
  68. /*Protection-Area for your own LDF-Code*/
  69. /*PROTECTED REGION END*/
  70. *(.startup_code) /*Startup code for TriCore*/
  71. *(.startup_code*)
  72. /*PROTECTED REGION ID(Protection: iROM .startup_code) ENABLED START*/
  73. /*Protection-Area for your own LDF-Code*/
  74. /*PROTECTED REGION END*/
  75. PROVIDE(__startup_code_end = .);
  76. . = ALIGN(8);
  77. } > PMU_PFLASH0 /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  78. /*
  79. * Code section
  80. */
  81. .text :
  82. {
  83. PROVIDE(__text_start = .);
  84. /*PROTECTED REGION ID(Protection: iROM .text.begin) ENABLED START*/
  85. /*Protection-Area for your own LDF-Code*/
  86. /*PROTECTED REGION END*/
  87. *(.text) /*Code section*/
  88. *(.text*)
  89. *(.gnu.linkonce.t.*)
  90. /*PROTECTED REGION ID(Protection: iROM .text) ENABLED START*/
  91. /*Protection-Area for your own LDF-Code*/
  92. /*PROTECTED REGION END*/
  93. PROVIDE(__text_end = .);
  94. . = ALIGN(8);
  95. } > PMU_PFLASH0 /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  96. /*
  97. * Code executed before calling main
  98. */
  99. .init :
  100. {
  101. PROVIDE(__init_start = .);
  102. /*PROTECTED REGION ID(Protection: iROM .init.begin) ENABLED START*/
  103. /*Protection-Area for your own LDF-Code*/
  104. /*PROTECTED REGION END*/
  105. KEEP(*(.init)) /*Code executed before calling main*/
  106. KEEP(*(.init*))
  107. /*PROTECTED REGION ID(Protection: iROM .init) ENABLED START*/
  108. /*Protection-Area for your own LDF-Code*/
  109. /*PROTECTED REGION END*/
  110. PROVIDE(__init_end = .);
  111. . = ALIGN(8);
  112. } > PMU_PFLASH0 /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  113. /*
  114. * Code executed before exiting program
  115. */
  116. .fini :
  117. {
  118. PROVIDE(__fini_start = .);
  119. /*PROTECTED REGION ID(Protection: iROM .fini.begin) ENABLED START*/
  120. /*Protection-Area for your own LDF-Code*/
  121. /*PROTECTED REGION END*/
  122. KEEP(*(.fini)) /*Code executed before exiting program*/
  123. KEEP(*(.fini*))
  124. /*PROTECTED REGION ID(Protection: iROM .fini) ENABLED START*/
  125. /*Protection-Area for your own LDF-Code*/
  126. /*PROTECTED REGION END*/
  127. PROVIDE(__fini_end = .);
  128. . = ALIGN(8);
  129. } > PMU_PFLASH0 /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  130. /*
  131. * Section for trap table
  132. */
  133. .traptab :
  134. {
  135. PROVIDE(__traptab_start = .);
  136. /*PROTECTED REGION ID(Protection: iROM .traptab.begin) ENABLED START*/
  137. /*Protection-Area for your own LDF-Code*/
  138. /*PROTECTED REGION END*/
  139. *(.traptab) /*Section for trap table*/
  140. *(.traptab*)
  141. /*PROTECTED REGION ID(Protection: iROM .traptab) ENABLED START*/
  142. /*Protection-Area for your own LDF-Code*/
  143. /*PROTECTED REGION END*/
  144. PROVIDE(__traptab_end = .);
  145. . = ALIGN(8);
  146. } > PMU_PFLASH0 /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  147. /*
  148. * Section for interrupt table
  149. */
  150. .inttab :
  151. {
  152. PROVIDE(__inttab_start = .);
  153. /*PROTECTED REGION ID(Protection: iROM .inttab.begin) ENABLED START*/
  154. /*Protection-Area for your own LDF-Code*/
  155. /*PROTECTED REGION END*/
  156. *(.inttab) /*Section for interrupt table*/
  157. *(.inttab*)
  158. /*PROTECTED REGION ID(Protection: iROM .inttab) ENABLED START*/
  159. /*Protection-Area for your own LDF-Code*/
  160. /*PROTECTED REGION END*/
  161. PROVIDE(__inttab_end = .);
  162. . = ALIGN(8);
  163. } > PMU_PFLASH0 /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  164. /*
  165. * Exception handling frame for C++ exceptions
  166. */
  167. .eh_frame :
  168. {
  169. PROVIDE(__eh_frame_start = .);
  170. /*PROTECTED REGION ID(Protection: iROM .eh_frame.begin) ENABLED START*/
  171. /*Protection-Area for your own LDF-Code*/
  172. /*PROTECTED REGION END*/
  173. *(.eh_frame) /*Exception handling frame for C++ exceptions*/
  174. *(.eh_frame*)
  175. /*PROTECTED REGION ID(Protection: iROM .eh_frame) ENABLED START*/
  176. /*Protection-Area for your own LDF-Code*/
  177. /*PROTECTED REGION END*/
  178. PROVIDE(__eh_frame_end = .);
  179. . = ALIGN(8);
  180. } > PMU_PFLASH0 /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  181. /*Absolute Data-Sections*/
  182. /*
  183. * Initialised data addressed as absolute
  184. */
  185. .zdata :
  186. {
  187. PROVIDE(__zdata_start = .);
  188. /*PROTECTED REGION ID(Protection: iROM .zdata.begin) ENABLED START*/
  189. /*Protection-Area for your own LDF-Code*/
  190. /*PROTECTED REGION END*/
  191. *(.zdata) /*Initialised data addressed as absolute*/
  192. *(.zdata*)
  193. *(.zdata.rodata) /*absolute addressable readonly data*/
  194. *(.zdata.rodata*)
  195. *(.zrodata) /*absolute addressable readonly data*/
  196. *(.zrodata*)
  197. *(.gnu.linkonce.z.*)
  198. *(.gnu.linkonce.zr.*)
  199. /*PROTECTED REGION ID(Protection: iROM .zdata) ENABLED START*/
  200. /*Protection-Area for your own LDF-Code*/
  201. /*PROTECTED REGION END*/
  202. PROVIDE(__zdata_end = .);
  203. . = ALIGN(8);
  204. } > DMI_DSPR AT > PMU_PFLASH0 /* DMI_DSPR: Local Data RAM (DSPR) */ /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  205. /*
  206. * Not initialised data addressed as absolute
  207. */
  208. .zbss (NOLOAD) :
  209. {
  210. PROVIDE(__zbss_start = .);
  211. /*PROTECTED REGION ID(Protection: iROM .zbss.begin) ENABLED START*/
  212. /*Protection-Area for your own LDF-Code*/
  213. /*PROTECTED REGION END*/
  214. *(.zbss) /*Not Initialised data addressed as absolute*/
  215. *(.zbss*)
  216. *(.gnu.linkonce.zb.*)
  217. /*PROTECTED REGION ID(Protection: iROM .zbss) ENABLED START*/
  218. /*Protection-Area for your own LDF-Code*/
  219. /*PROTECTED REGION END*/
  220. PROVIDE(__zbss_end = .);
  221. . = ALIGN(8);
  222. } > DMI_DSPR /* DMI_DSPR: Local Data RAM (DSPR) */
  223. /*
  224. * Not initialised bit data
  225. */
  226. .bbss (NOLOAD) :
  227. {
  228. PROVIDE(__bbss_start = .);
  229. /*PROTECTED REGION ID(Protection: iROM .bbss.begin) ENABLED START*/
  230. /*Protection-Area for your own LDF-Code*/
  231. /*PROTECTED REGION END*/
  232. *(.bbss) /*Not initialised bit data*/
  233. *(.bbss*)
  234. /*PROTECTED REGION ID(Protection: iROM .bbss) ENABLED START*/
  235. /*Protection-Area for your own LDF-Code*/
  236. /*PROTECTED REGION END*/
  237. PROVIDE(__bbss_end = .);
  238. . = ALIGN(8);
  239. } > DMI_DSPR /* DMI_DSPR: Local Data RAM (DSPR) */
  240. /*
  241. * Bit variables
  242. */
  243. .bdata :
  244. {
  245. PROVIDE(__bdata_start = .);
  246. /*PROTECTED REGION ID(Protection: iROM .bdata.begin) ENABLED START*/
  247. /*Protection-Area for your own LDF-Code*/
  248. /*PROTECTED REGION END*/
  249. *(.bdata) /*Bit variables*/
  250. *(.bdata*)
  251. /*PROTECTED REGION ID(Protection: iROM .bdata) ENABLED START*/
  252. /*Protection-Area for your own LDF-Code*/
  253. /*PROTECTED REGION END*/
  254. PROVIDE(__bdata_end = .);
  255. . = ALIGN(8);
  256. } > DMI_DSPR AT > PMU_PFLASH0 /* DMI_DSPR: Local Data RAM (DSPR) */ /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  257. /*Small Data-Sections*/
  258. /*
  259. * Storage of write-protected data addressed as small
  260. */
  261. .sdata2 :
  262. {
  263. PROVIDE(__sdata2_start = .);
  264. /*PROTECTED REGION ID(Protection: iROM .sdata2.begin) ENABLED START*/
  265. /*Protection-Area for your own LDF-Code*/
  266. /*PROTECTED REGION END*/
  267. *(.sdata.rodata) /*Storage of write-protected data addressed as small*/
  268. *(.sdata.rodata*)
  269. *(.gnu.linkonce.sr.*)
  270. /*PROTECTED REGION ID(Protection: iROM .sdata2) ENABLED START*/
  271. /*Protection-Area for your own LDF-Code*/
  272. /*PROTECTED REGION END*/
  273. PROVIDE(__sdata2_end = .);
  274. . = ALIGN(8);
  275. } > PMU_PFLASH0 /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  276. /*
  277. * Section stores initialised data which is addressable by small data area pointer (%a0)
  278. */
  279. .sdata :
  280. {
  281. PROVIDE(__sdata_start = .);
  282. /*PROTECTED REGION ID(Protection: iROM .sdata.begin) ENABLED START*/
  283. /*Protection-Area for your own LDF-Code*/
  284. /*PROTECTED REGION END*/
  285. *(.sdata) /*Section stores initialised data which is addressable by small data area pointer (%a0)*/
  286. *(.sdata*)
  287. *(.gnu.linkonce.s.*)
  288. /*PROTECTED REGION ID(Protection: iROM .sdata) ENABLED START*/
  289. /*Protection-Area for your own LDF-Code*/
  290. /*PROTECTED REGION END*/
  291. PROVIDE(__sdata_end = .);
  292. . = ALIGN(8);
  293. } > DMI_DSPR AT > PMU_PFLASH0 /* DMI_DSPR: Local Data RAM (DSPR) */ /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  294. /*
  295. * Not initialised data in section ’.sbss’, addressable by small data area pointer (%a0)
  296. */
  297. .sbss (NOLOAD) :
  298. {
  299. PROVIDE(__sbss_start = .);
  300. /*PROTECTED REGION ID(Protection: iROM .sbss.begin) ENABLED START*/
  301. /*Protection-Area for your own LDF-Code*/
  302. /*PROTECTED REGION END*/
  303. *(.sbss) /*Not initialised data in section ’.sbss’, addressable by small data area pointer (%a0)*/
  304. *(.sbss*)
  305. *(.gnu.linkonce.sb.*)
  306. /*PROTECTED REGION ID(Protection: iROM .sbss) ENABLED START*/
  307. /*Protection-Area for your own LDF-Code*/
  308. /*PROTECTED REGION END*/
  309. PROVIDE(__sbss_end = .);
  310. . = ALIGN(8);
  311. } > DMI_DSPR /* DMI_DSPR: Local Data RAM (DSPR) */
  312. /*Normal Data-Sections*/
  313. /*
  314. * Storage of write-protected data
  315. */
  316. .rodata :
  317. {
  318. PROVIDE(__rodata_start = .);
  319. /*PROTECTED REGION ID(Protection: iROM .rodata.begin) ENABLED START*/
  320. /*Protection-Area for your own LDF-Code*/
  321. /*PROTECTED REGION END*/
  322. *(.rodata) /*Storage of write-protected data*/
  323. *(.rodata*)
  324. *(.gnu.linkonce.r.*)
  325. *(.jcr.*)
  326. /*PROTECTED REGION ID(Protection: iROM .rodata) ENABLED START*/
  327. /*Protection-Area for your own LDF-Code*/
  328. /*PROTECTED REGION END*/
  329. PROVIDE(__rodata_end = .);
  330. . = ALIGN(8);
  331. } > PMU_PFLASH0 /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  332. /*
  333. * Initialised data
  334. */
  335. .data :
  336. {
  337. PROVIDE(__data_start = .);
  338. /*PROTECTED REGION ID(Protection: iROM .data.begin) ENABLED START*/
  339. /*Protection-Area for your own LDF-Code*/
  340. /*PROTECTED REGION END*/
  341. *(.data) /*Initialised data*/
  342. *(.data*)
  343. *(.gnu.linkonce.d.*)
  344. /*PROTECTED REGION ID(Protection: iROM .data) ENABLED START*/
  345. /*Protection-Area for your own LDF-Code*/
  346. /*PROTECTED REGION END*/
  347. PROVIDE(__data_end = .);
  348. . = ALIGN(8);
  349. } > DMI_DSPR AT > PMU_PFLASH0 /* DMI_DSPR: Local Data RAM (DSPR) */ /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  350. /*
  351. * Not Initialised data
  352. */
  353. .bss (NOLOAD) :
  354. {
  355. PROVIDE(__bss_start = .);
  356. /*PROTECTED REGION ID(Protection: iROM .bss.begin) ENABLED START*/
  357. /*Protection-Area for your own LDF-Code*/
  358. /*PROTECTED REGION END*/
  359. *(.bss) /*Not Initialised data*/
  360. *(.bss*)
  361. *(.gnu.linkonce.b.*)
  362. /*PROTECTED REGION ID(Protection: iROM .bss) ENABLED START*/
  363. /*Protection-Area for your own LDF-Code*/
  364. /*PROTECTED REGION END*/
  365. PROVIDE(__bss_end = .);
  366. . = ALIGN(8);
  367. } > DMI_DSPR /* DMI_DSPR: Local Data RAM (DSPR) */
  368. /*PCP-Sections*/
  369. /*
  370. * PCP code section
  371. */
  372. .pcptext :
  373. {
  374. PROVIDE(__pcptext_start = .);
  375. /*PROTECTED REGION ID(Protection: iROM .pcptext.begin) ENABLED START*/
  376. /*Protection-Area for your own LDF-Code*/
  377. /*PROTECTED REGION END*/
  378. /*PROTECTED REGION ID(Protection: iROM .pcptext) ENABLED START*/
  379. /*Protection-Area for your own LDF-Code*/
  380. /*PROTECTED REGION END*/
  381. PROVIDE(__pcptext_end = .);
  382. . = ALIGN(8);
  383. } > PMU_PFLASH0 /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  384. /*
  385. * PCP data section
  386. */
  387. .pcpdata :
  388. {
  389. PROVIDE(__pcpdata_start = .);
  390. /*PROTECTED REGION ID(Protection: iROM .pcpdata.begin) ENABLED START*/
  391. /*Protection-Area for your own LDF-Code*/
  392. /*PROTECTED REGION END*/
  393. /*PROTECTED REGION ID(Protection: iROM .pcpdata) ENABLED START*/
  394. /*Protection-Area for your own LDF-Code*/
  395. /*PROTECTED REGION END*/
  396. PROVIDE(__pcpdata_end = .);
  397. . = ALIGN(8);
  398. } > PMU_PFLASH0 /* PMU_PFLASH0: Program Flash Memory (PFLASH0) */
  399. /*
  400. * Section for constructors
  401. */
  402. .ctors :
  403. {
  404. __CTOR_LIST__ = . ;
  405. /*PROTECTED REGION ID(Protection: iROMconstructor.begin) ENABLED START*/
  406. /*Protection-Area for your own LDF-Code*/
  407. /*PROTECTED REGION END*/
  408. LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2);
  409. KEEP (*crtbegin.o(.ctors))
  410. KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
  411. KEEP (*(SORT(.ctors.*)))
  412. KEEP (*(.ctors))
  413. LONG(0) ;
  414. /*PROTECTED REGION ID(Protection: iROMconstructor) ENABLED START*/
  415. /*Protection-Area for your own LDF-Code*/
  416. /*PROTECTED REGION END*/
  417. __CTOR_END__ = . ;
  418. . = ALIGN(8);
  419. } > PMU_PFLASH0
  420. /*
  421. * Section for destructors
  422. */
  423. .dtors :
  424. {
  425. __DTOR_LIST__ = . ;
  426. /*PROTECTED REGION ID(Protection: iROM destructor.begin) ENABLED START*/
  427. /*Protection-Area for your own LDF-Code*/
  428. /*PROTECTED REGION END*/
  429. LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2);
  430. KEEP (*crtbegin.o(.dtors))
  431. KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
  432. KEEP (*(SORT(.dtors.*)))
  433. KEEP (*(.dtors))
  434. LONG(0) ;
  435. /*PROTECTED REGION ID(Protection: iROM destructor) ENABLED START*/
  436. /*Protection-Area for your own LDF-Code*/
  437. /*PROTECTED REGION END*/
  438. __DTOR_END__ = . ;
  439. . = ALIGN(8);
  440. } > PMU_PFLASH0
  441. /*
  442. * Section for clear table
  443. */
  444. .clear_sec :
  445. {
  446. . = ALIGN(8);
  447. PROVIDE(__clear_table = .) ;
  448. LONG(0 + ADDR(.bss)); LONG(SIZEOF(.bss));
  449. LONG(0 + ADDR(.sbss)); LONG(SIZEOF(.sbss));
  450. LONG(0 + ADDR(.zbss)); LONG(SIZEOF(.zbss));
  451. LONG(0 + ADDR(.bbss)); LONG(SIZEOF(.bbss));
  452. /*PROTECTED REGION ID(Protection: iROM clear section) ENABLED START*/
  453. /*Protection-Area for your own LDF-Code*/
  454. /*PROTECTED REGION END*/
  455. LONG(-1); LONG(-1);
  456. } > PMU_PFLASH0
  457. /*
  458. * Section for copy table
  459. */
  460. .copy_sec :
  461. {
  462. . = ALIGN(8);
  463. PROVIDE(__copy_table = .) ;
  464. LONG(LOADADDR(.data)); LONG(0 + ADDR(.data)); LONG(SIZEOF(.data));
  465. LONG(LOADADDR(.sdata)); LONG(0 + ADDR(.sdata)); LONG(SIZEOF(.sdata));
  466. LONG(LOADADDR(.zdata)); LONG(0 + ADDR(.zdata)); LONG(SIZEOF(.zdata));
  467. LONG(LOADADDR(.bdata)); LONG(0 + ADDR(.bdata)); LONG(SIZEOF(.bdata));
  468. /*PROTECTED REGION ID(Protection: iROM copy section) ENABLED START*/
  469. /*Protection-Area for your own LDF-Code*/
  470. /*PROTECTED REGION END*/
  471. LONG(-1); LONG(-1); LONG(-1);
  472. } > PMU_PFLASH0
  473. /*
  474. * Section for ustack
  475. */
  476. .ustack :
  477. {
  478. . = ALIGN(8);
  479. __USTACK_BEGIN = . ;
  480. . += __USTACK_SIZE ;
  481. . = ALIGN(8);
  482. __USTACK = . ;
  483. __USTACK_END = . ;
  484. } > DMI_DSPR
  485. /*
  486. * Section for istack
  487. */
  488. .istack :
  489. {
  490. . = ALIGN(8);
  491. __ISTACK_BEGIN = . ;
  492. . += __ISTACK_SIZE ;
  493. . = ALIGN(8);
  494. __ISTACK = . ;
  495. __ISTACK_END = . ;
  496. } > DMI_DSPR
  497. /*
  498. * Section for heap
  499. */
  500. .heap :
  501. {
  502. . = ALIGN(8);
  503. __HEAP_BEGIN = . ;
  504. __HEAP = . ;
  505. . += __HEAP_SIZE ;
  506. . = ALIGN(8);
  507. __HEAP_END = . ;
  508. } > DMI_DSPR
  509. /*
  510. * Section for CSA
  511. */
  512. .csa :
  513. {
  514. . = ALIGN(64);
  515. __CSA_BEGIN = . ;
  516. __CSA = . ;
  517. . += __CSA_SIZE ;
  518. . = ALIGN(64);
  519. __CSA_END = . ;
  520. } > DMI_DSPR
  521. /*PROTECTED REGION ID(Protection:iROM-User-Sections) ENABLED START*/
  522. /*Protection-Area for your own LDF-Code*/
  523. /*PROTECTED REGION END*/
  524. }