From edab26470438df38bad9fe34a1d956b728a9c79c Mon Sep 17 00:00:00 2001 From: TitanMKD Date: Sat, 10 Nov 2012 00:25:29 +0100 Subject: [PATCH] Added _data_rom / _edata_rom for ld ram only and standard spifi ld Fixed ROM to RAM copy of ".data" --- lib/lpc43xx/libopencm3_lpc43xx.ld | 3 +++ lib/lpc43xx/libopencm3_lpc43xx_ram_only.ld | 3 +++ lib/lpc43xx/libopencm3_lpc43xx_rom_to_ram.ld | 3 +++ 3 files changed, 9 insertions(+) diff --git a/lib/lpc43xx/libopencm3_lpc43xx.ld b/lib/lpc43xx/libopencm3_lpc43xx.ld index 8f0220f0..78e4bbe0 100644 --- a/lib/lpc43xx/libopencm3_lpc43xx.ld +++ b/lib/lpc43xx/libopencm3_lpc43xx.ld @@ -93,6 +93,9 @@ SECTIONS _edata = .; } >ram_local2 AT >rom + _data_rom = LOADADDR (.data) + ORIGIN(rom); + _edata_rom = _data_rom + SIZEOF (.data); + .bss : { _bss = .; *(.bss*) /* Read-write zero initialized data */ diff --git a/lib/lpc43xx/libopencm3_lpc43xx_ram_only.ld b/lib/lpc43xx/libopencm3_lpc43xx_ram_only.ld index 8e7b9ac8..fd86f136 100644 --- a/lib/lpc43xx/libopencm3_lpc43xx_ram_only.ld +++ b/lib/lpc43xx/libopencm3_lpc43xx_ram_only.ld @@ -64,6 +64,9 @@ SECTIONS } >ram_local2 /* Running from RAM only, loading the .elf will initialize data for us. */ + _data_rom = .; + _edata_rom = .; + _data = .; _edata = .; diff --git a/lib/lpc43xx/libopencm3_lpc43xx_rom_to_ram.ld b/lib/lpc43xx/libopencm3_lpc43xx_rom_to_ram.ld index 34e19201..8b4d570c 100644 --- a/lib/lpc43xx/libopencm3_lpc43xx_rom_to_ram.ld +++ b/lib/lpc43xx/libopencm3_lpc43xx_rom_to_ram.ld @@ -92,6 +92,9 @@ SECTIONS _edata = .; } >ram_local2 AT >rom + _data_rom = LOADADDR (.data) + ORIGIN(rom_flash); + _edata_rom = _data_rom + SIZEOF (.data); + .bss : { . = _edata; _bss = .;