This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
How do I get rid of a memory hole(in cortexm0plus)?
- From: Johann Klammer <klammerj at a1 dot net>
- To: gcc-help at gcc dot gnu dot org
- Date: Sun, 30 Oct 2016 09:31:30 +0100
- Subject: How do I get rid of a memory hole(in cortexm0plus)?
- Authentication-results: sourceware.org; auth=none
I have been playing with (gcc/binutils)-arm-none-eabi
recently and they have this 'flash configuration field'
in those cortex m0plus thingies.
It is 16 bytes large and sits at address 0x400 of the
flash memory. There's usable flash before and after it.
Currently I am having this config field in its own section
and I am using a linker script to place it at a fixed address.
this does generate a memory hole before it.
in the .S file:
[...]
.section .fconf
__fconf:
.byte BackDoorK0, BackDoorK1, BackDoorK2, BackDoorK3
.byte BackDoorK4, BackDoorK5, BackDoorK6, BackDoorK7
.byte 0xFF, 0xFF, 0xFF, 0xFF
.byte EEPROT, FPROT, FSEC, FOPT
.size __fconf, . - __fconf
[...]
in the linker script:
[...]
SECTIONS
{
.text :
{
KEEP(*(.isr_vector))
KEEP(*(.isr_vector_noncore))
. = 0x400;
KEEP(*(.fconf))
*(.text*)
[...]
Now I would like to use this space between the end of the
isr vectors and the start of fconf. How to do that?