LPC55S28_flash.scf 2.4 KB

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