LPC55S16_flash.scf 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #!armclang --target=arm-arm-none-eabi -march=armv8-m.main -E -x c
  2. /*
  3. ** ###################################################################
  4. ** Processors: LPC55S16JBD100
  5. ** LPC55S16JBD64
  6. ** LPC55S16JEV59
  7. ** LPC55S16JEV98
  8. **
  9. ** Compiler: Keil ARM C/C++ Compiler
  10. ** Reference manual: LPC55S1x/LPC551x User manual Rev.0.6 15 November 2019
  11. ** Version: rev. 1.1, 2019-12-03
  12. ** Build: b220622
  13. **
  14. ** Abstract:
  15. ** Linker file for the Keil ARM C/C++ Compiler
  16. **
  17. ** Copyright 2016 Freescale Semiconductor, Inc.
  18. ** Copyright 2016-2022 NXP
  19. ** All rights reserved.
  20. **
  21. ** SPDX-License-Identifier: BSD-3-Clause
  22. **
  23. ** http: www.nxp.com
  24. ** mail: support@nxp.com
  25. **
  26. ** ###################################################################
  27. */
  28. /* USB BDT size */
  29. #define usb_bdt_size 0x0
  30. /* Sizes */
  31. #if (defined(__stack_size__))
  32. #define Stack_Size __stack_size__
  33. #else
  34. #define Stack_Size 0x0400
  35. #endif
  36. #if (defined(__heap_size__))
  37. #define Heap_Size __heap_size__
  38. #else
  39. #define Heap_Size 0x0400
  40. #endif
  41. #define m_interrupts_start 0x00000000
  42. #define m_interrupts_size 0x00000200
  43. #define m_text_start 0x00000200
  44. #define m_text_size 0x0003CE00
  45. #define m_data_start 0x20000000
  46. #define m_data_size 0x00010000
  47. #define m_sramx_start 0x04000000
  48. #define m_sramx_size 0x00004000
  49. #define m_usb_sram_start 0x20010000
  50. #define m_usb_sram_size 0x00004000
  51. LR_m_text m_interrupts_start m_interrupts_size+m_text_size { ; load region size_region
  52. VECTOR_ROM m_interrupts_start m_interrupts_size { ; load address = execution address
  53. * (.isr_vector,+FIRST)
  54. }
  55. ER_m_text m_text_start FIXED m_text_size { ; load address = execution address
  56. * (InRoot$$Sections)
  57. .ANY (+RO)
  58. }
  59. RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data
  60. .ANY (+RW +ZI)
  61. }
  62. ARM_LIB_HEAP +0 EMPTY Heap_Size { ; Heap region growing up
  63. }
  64. ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size { ; Stack region growing down
  65. }
  66. RW_m_usb_bdt m_usb_sram_start UNINIT usb_bdt_size {
  67. * (*m_usb_bdt)
  68. }
  69. RW_m_usb_ram (m_usb_sram_start + usb_bdt_size) UNINIT (m_usb_sram_size - usb_bdt_size) {
  70. * (*m_usb_global)
  71. }
  72. }