mirror of https://github.com/ARMmbed/mbed-os.git
rtl8195am : fix gpio toggle slow
Ameba has two memory blocks: SDRAM(2M) and SRAM(512KB). SRAM has better access performance than SDRAM. So some timing critical codes must be moved to SRAM. fix for mbed-os issue #5778 rebase for #6289pull/6326/head
parent
f67fe4a7a3
commit
20b33637f6
|
|
@ -22,17 +22,23 @@ LR_IRAM 0x10007000 (0x70000 - 0x7000) {
|
||||||
*(i.mbedtls*)
|
*(i.mbedtls*)
|
||||||
*libc.a (+RO)
|
*libc.a (+RO)
|
||||||
*rtx_*.o (+RO)
|
*rtx_*.o (+RO)
|
||||||
|
*main*.o (+RO)
|
||||||
|
*lib_peripheral_mbed_arm.ar (+RO)
|
||||||
|
*_api*.o (+RO)
|
||||||
}
|
}
|
||||||
|
|
||||||
RW_IRAM1 +0 UNINIT FIXED {
|
RW_IRAM1 +0 UNINIT FIXED {
|
||||||
*rtl8195a_crypto*.o(+RW)
|
*rtl8195a_crypto*.o(+RW)
|
||||||
*libc.a (+RW)
|
*libc.a (+RW)
|
||||||
*(.sdram.data*)
|
*main*.o (+RW)
|
||||||
*lib_peripheral_mbed_arm.ar (+RW)
|
*lib_peripheral_mbed_arm.ar (+RW)
|
||||||
*rtl8195a_crypto*.o(+ZI, COMMON)
|
*_api*.o (+RW)
|
||||||
*libc.a (+ZI, COMMON)
|
*rtl8195a_crypto*.o(+ZI)
|
||||||
*(.bss.thread_stack_main)
|
*libc.a (+ZI)
|
||||||
*lib_peripheral_mbed_arm.ar (+ZI, COMMON)
|
*main*.o (+ZI)
|
||||||
|
*lib_peripheral_mbed_arm.ar (+ZI)
|
||||||
|
*_api*.o (+ZI)
|
||||||
|
*mbed_boot*.o (+ZI)
|
||||||
}
|
}
|
||||||
|
|
||||||
ARM_LIB_STACK (0x10070000 - 0x1000) EMPTY 0x1000 {
|
ARM_LIB_STACK (0x10070000 - 0x1000) EMPTY 0x1000 {
|
||||||
|
|
@ -41,8 +47,8 @@ LR_IRAM 0x10007000 (0x70000 - 0x7000) {
|
||||||
|
|
||||||
LR_TCM 0x1FFF0000 0x10000 {
|
LR_TCM 0x1FFF0000 0x10000 {
|
||||||
TCM_OVERLAY 0x1FFF0000 0x10000 {
|
TCM_OVERLAY 0x1FFF0000 0x10000 {
|
||||||
*lwip_mem*.o(.bss*)
|
*lwip_mem*.o(+ZI)
|
||||||
*lwip_memp*.o(.bss*)
|
*lwip_memp*.o(+ZI)
|
||||||
*.o(.tcm.heap*)
|
*.o(.tcm.heap*)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -67,18 +67,17 @@ SECTIONS
|
||||||
.text.sram1 :
|
.text.sram1 :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*rtl8195a_crypto.o (.text* .rodata*)
|
*rtl8195a_crypto*.o (.text* .rodata*)
|
||||||
*mbedtls*.o (.text* .rodata*)
|
*mbedtls*.o (.text* .rodata*)
|
||||||
*libc.a: (.text* .rodata*)
|
*libc.a: (.text* .rodata*)
|
||||||
|
*lib_peripheral_mbed_gcc.a: (.text* .rodata*)
|
||||||
|
*_api*.o (.text* .rodata*)
|
||||||
|
*main*.o (.text* .rodata*)
|
||||||
} > SRAM1
|
} > SRAM1
|
||||||
|
|
||||||
.text.sram2 :
|
.text.sram2 :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.mon.ram.text*)
|
|
||||||
*(.hal.flash.text*)
|
|
||||||
*(.hal.sdrc.text*)
|
|
||||||
*(.hal.gpio.text*)
|
|
||||||
*(.text*)
|
*(.text*)
|
||||||
|
|
||||||
KEEP(*(.init))
|
KEEP(*(.init))
|
||||||
|
|
@ -165,9 +164,11 @@ SECTIONS
|
||||||
.bss.sram1 (NOLOAD) :
|
.bss.sram1 (NOLOAD) :
|
||||||
{
|
{
|
||||||
__bss_sram_start__ = .;
|
__bss_sram_start__ = .;
|
||||||
*rtl8195a_crypto.o (.bss* COMMON)
|
*rtl8195a_crypto*.o (.bss* COMMON)
|
||||||
*mbedtls*.o (.bss* COMMON)
|
*mbedtls*.o (.bss* COMMON)
|
||||||
*(.bss.thread_stack_main)
|
*(.bss.thread_stack_main)
|
||||||
|
*lib_peripheral_mbed_gcc.a: (.bss* COMMON)
|
||||||
|
*mbed_boot*.o (.bss* COMMON)
|
||||||
__bss_sram_end__ = .;
|
__bss_sram_end__ = .;
|
||||||
} > SRAM1
|
} > SRAM1
|
||||||
|
|
||||||
|
|
@ -198,11 +199,11 @@ SECTIONS
|
||||||
__HeapLimit = .;
|
__HeapLimit = .;
|
||||||
} > SRAM1
|
} > SRAM1
|
||||||
|
|
||||||
.TCM_overlay :
|
.TCM_overlay (NOLOAD):
|
||||||
{
|
{
|
||||||
__bss_dtcm_start__ = .;
|
__bss_dtcm_start__ = .;
|
||||||
*lwip_mem.o (.bss*)
|
*lwip_mem*.o (.bss* COMMON)
|
||||||
*lwip_memp.o (.bss*)
|
*lwip_memp*.o (.bss* COMMON)
|
||||||
*(.tcm.heap*)
|
*(.tcm.heap*)
|
||||||
__bss_dtcm_end__ = .;
|
__bss_dtcm_end__ = .;
|
||||||
} > TCM
|
} > TCM
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue