lark_ac5.sct 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #! armcc -E
  2. ; command above MUST be in first line (no comment above!)
  3. /*
  4. ;-------- <<< Use Configuration Wizard in Context Menu >>> -------------------
  5. */
  6. /*--------------------- Flash Configuration ----------------------------------
  7. ; <h> Flash Configuration
  8. ; <o0> Flash Base Address <0x0-0xFFFFFFFF:8>
  9. ; <o1> Flash Size (in Bytes) <0x0-0xFFFFFFFF:8>
  10. ; </h>
  11. *----------------------------------------------------------------------------*/
  12. #define __ROM_BASE 0x18780000
  13. #define __ROM_SIZE 0x00028000
  14. /*--------------------- Embedded RAM Configuration ---------------------------
  15. ; <h> RAM Configuration
  16. ; <o0> RAM Base Address <0x0-0xFFFFFFFF:8>
  17. ; <o1> RAM Size (in Bytes) <0x0-0xFFFFFFFF:8>
  18. ; </h>
  19. *----------------------------------------------------------------------------*/
  20. #define __RAM_BASE 0x187a8000
  21. #define __RAM_SIZE 0x00008000
  22. /*--------------------- Stack / Heap Configuration ---------------------------
  23. ; <h> Stack / Heap Configuration
  24. ; <o0> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
  25. ; <o1> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
  26. ; </h>
  27. *----------------------------------------------------------------------------*/
  28. #define __STACK_SIZE 0x00000000
  29. #define __HEAP_SIZE 0x00002000
  30. /*
  31. ;------------- <<< end of configuration section >>> ---------------------------
  32. */
  33. /*----------------------------------------------------------------------------
  34. User Stack & Heap boundary definition
  35. *----------------------------------------------------------------------------*/
  36. #define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */
  37. #define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */
  38. /*----------------------------------------------------------------------------
  39. Scatter File Definitions definition
  40. *----------------------------------------------------------------------------*/
  41. #define __RO_BASE __ROM_BASE
  42. #define __RO_SIZE __ROM_SIZE
  43. #define __RW_BASE __RAM_BASE
  44. #define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE)
  45. #define __RX_BASE __RAMX_BASE
  46. #define __RX_SIZE __RAMX_SIZE
  47. LR_ROM __RO_BASE __RO_SIZE { ; load region size_region
  48. ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address
  49. rom_api.o (+RO, +First)
  50. .ANY (+RO)
  51. .ANY (+XO)
  52. }
  53. RW_RAM __RW_BASE __RW_SIZE { ; RW data
  54. .ANY (+RW +ZI)
  55. }
  56. #if __HEAP_SIZE > 0
  57. ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap
  58. }
  59. #endif
  60. ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack
  61. }
  62. }