soc/esp32: Move logging library to IRAM with CONFIG_LOG_MINIMAL

This commit updates linker script to move minimal log module to internal
RAM

Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
This commit is contained in:
Shubham Kulkarni 2021-01-15 12:03:57 +05:30 committed by Anas Nashif
commit d621dad21b
3 changed files with 10 additions and 4 deletions

View file

@ -59,6 +59,7 @@ PROVIDE ( esp32_rom_ets_delay_us = ets_delay_us );
/* __udivdi3 is exported using assignment, which declares strong symbols */
__udivdi3 = 0x4000cff8;
__umoddi3 = 0x4000d280;
MEMORY
{
@ -257,6 +258,7 @@ _net_buf_pool_list = _esp_net_buf_pool_list;
* when flash cache is disabled */
*libarch__xtensa__core.a:(.rodata .rodata.*)
*libkernel.a:fatal.*(.rodata .rodata.*)
*libzephyr.a:cbprintf_complete*(.rodata .rodata.*)
KEEP(*(.jcr))
*(.dram1 .dram1.*)
_data_end = ABSOLUTE(.);
@ -370,6 +372,9 @@ __shell_root_cmds_end = __esp_shell_root_cmds_end;
*libzephyr.a:log_noos.*(.literal .text .literal.* .text.*)
*libzephyr.a:xtensa_sys_timer.*(.literal .text .literal.* .text.*)
*libzephyr.a:log_core.*(.literal .text .literal.* .text.*)
*libzephyr.a:cbprintf_complete.*(.literal .text .literal.* .text.*)
*libzephyr.a:printk.*(.literal.printk .literal.vprintk .literal.char_out .text.printk .text.vprintk .text.char_out)
*libzephyr.a:uart_console.*(.literal.console_out .text.console_out)
*liblib__libc__minimal.a:string.*(.literal .text .literal.* .text.*)
*libgcov.a:(.literal .text .literal.* .text.*)
*libnet80211.a:( .wifi0iram .wifi0iram.*)

View file

@ -102,7 +102,7 @@ void __attribute__((section(".iram1"))) __start(void)
}
/* Boot-time static default printk handler, possibly to be overridden later. */
int arch_printk_char_out(int c)
int IRAM_ATTR arch_printk_char_out(int c)
{
if (c == '\n') {
esp32_rom_uart_tx_one_char('\r');