summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
3e22a0d)
Change name of .text.ram to .ramtext, then load .text* into flash and
.ramtext into ram. This ensures that 'main' and anything else in a
random .text.* segment will get loaded into flash as appropriate.
Signed-off-by: Keith Packard <keithp@keithp.com>
ao_romconfig.o(.romconfig*)
ao_product.o(.romconfig*)
ao_romconfig.o(.romconfig*)
ao_product.o(.romconfig*)
- *(.text) /* Executable code */
+ *(.text*) /* Executable code */
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
*(.rodata*) /* Constants */
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
*(.rodata*) /* Constants */
/* Boot data which must live at the start of ram so that
* the application and bootloader share the same addresses.
/* Boot data which must live at the start of ram so that
* the application and bootloader share the same addresses.
.textram BLOCK(8): {
__data_start__ = .;
__text_ram_start__ = .;
.textram BLOCK(8): {
__data_start__ = .;
__text_ram_start__ = .;
__text_ram_end = .;
} >ram AT>rom
__text_ram_end = .;
} >ram AT>rom
-static void __attribute__ ((section(".text.ram"),noinline))
+static void __attribute__ ((section(".ramtext"),noinline))
_ao_flash_erase_page(uint32_t *page)
{
stm_flash.pecr |= (1 << STM_FLASH_PECR_ERASE) | (1 << STM_FLASH_PECR_PROG);
_ao_flash_erase_page(uint32_t *page)
{
stm_flash.pecr |= (1 << STM_FLASH_PECR_ERASE) | (1 << STM_FLASH_PECR_PROG);
-static void __attribute__ ((section(".text.ram"), noinline))
+static void __attribute__ ((section(".ramtext"), noinline))
_ao_flash_half_page(uint32_t *dst, uint32_t *src)
{
uint8_t i;
_ao_flash_half_page(uint32_t *dst, uint32_t *src)
{
uint8_t i;