flash/nor: add support for Nuvoton NPCX series flash
[fw/openocd] / contrib / loaders / flash / npcx / npcx_flash.lds
diff --git a/contrib/loaders/flash/npcx/npcx_flash.lds b/contrib/loaders/flash/npcx/npcx_flash.lds
new file mode 100644 (file)
index 0000000..0d78252
--- /dev/null
@@ -0,0 +1,58 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include "npcx_flash_config.h"
+
+/* Application memory map */
+MEMORY {
+       /* buffer + parameters */
+    BUFFER (RWX)  : ORIGIN = NPCX_FLASH_LOADER_PARAMS_ADDR,
+                      LENGTH = NPCX_FLASH_LOADER_PARAMS_SIZE + NPCX_FLASH_LOADER_BUFFER_SIZE
+
+    PROGRAM (RWX)  : ORIGIN = NPCX_FLASH_LOADER_PROGRAM_ADDR,
+                     LENGTH = NPCX_FLASH_LOADER_PROGRAM_SIZE
+}
+
+/* Sections used for flashing */
+SECTIONS
+{
+       .buffers (NOLOAD) :
+       {
+               _buffers = .;
+               *(.buffers.g_cfg)
+               *(.buffers.g_buf)
+               *(.buffers*)
+               _ebuffers = .;
+       } > BUFFER
+
+       .text :
+       {
+               _text = .;
+               *(.entry*)
+               *(.text*)
+               _etext = .;
+       } > PROGRAM
+
+       .data :
+       {       _data = .;
+               *(.rodata*)
+               *(.data*)
+               _edata = .;
+       } > PROGRAM
+
+       .bss :
+       {
+               __bss_start__ = .;
+               _bss = .;
+               *(.bss*)
+               *(COMMON)
+               _ebss = .;
+               __bss_end__ = .;
+       } > PROGRAM
+
+       .stack (NOLOAD) :
+       {
+               _stack = .;
+               *(.stack*)
+               _estack = .;
+       } > PROGRAM
+}