Skip to content

Commit 92a0b18

Browse files
tmedicciacassis
authored andcommitted
boards/risc-v/esp32p4: Enable PSRAM for ESP32-P4-Function-EV-Board
This commit enables using ESP32-P4's PSRAM on Function-EV-Board. The in-chip PSRAM memory is added to the user heap and the internal memory is dedicated to a kernel heap. Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
1 parent d6a5582 commit 92a0b18

5 files changed

Lines changed: 68 additions & 2 deletions

File tree

boards/risc-v/esp32p4/common/scripts/esp32p4_sections.rev3.ld

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,8 @@ SECTIONS
303303
*libarch.a:esp_cache.*(.literal .literal.* .text .text.*)
304304
*libarch.a:cache_utils.*(.literal .literal.* .text .text.*)
305305
*libarch.a:memspi_host_driver.*(.literal .literal.* .text .text.*)
306+
*libarch.a:esp_psram_impl_ap_hex.*(.literal .literal.* .text .text.*)
307+
*libarch.a:esp_psram.*(.literal.esp_psram_get_heap_size_to_protect .text.esp_psram_get_heap_size_to_protect)
306308

307309
*libc.a:sq_remlast.*(.literal .text .literal.* .text.*)
308310

@@ -470,6 +472,8 @@ SECTIONS
470472
*libarch.a:esp_cache.*(.rodata .rodata.*)
471473
*libarch.a:cache_utils.*(.rodata .rodata.*)
472474
*libarch.a:memspi_host_driver.*(.rodata .rodata.*)
475+
*libarch.a:esp_psram_impl_ap_hex.*(.rodata .rodata.*)
476+
*libarch.a:cpu_region_protect.*(.rodata .rodata.*)
473477

474478
esp_head.*(.rodata .rodata.*)
475479
esp_start.*(.rodata .rodata.*)
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
#
2+
# This file is autogenerated: PLEASE DO NOT EDIT IT.
3+
#
4+
# You can use "make menuconfig" to make any modifications to the installed .config file.
5+
# You can then do "make savedefconfig" to generate a new defconfig file that includes your
6+
# modifications.
7+
#
8+
# CONFIG_NSH_ARGCAT is not set
9+
# CONFIG_NSH_CMDOPT_HEXDUMP is not set
10+
CONFIG_ARCH="risc-v"
11+
CONFIG_ARCH_BOARD="esp32p4-function-ev-board"
12+
CONFIG_ARCH_BOARD_COMMON=y
13+
CONFIG_ARCH_BOARD_ESP32P4_FUNCTION_EV_BOARD=y
14+
CONFIG_ARCH_CHIP="esp32p4"
15+
CONFIG_ARCH_CHIP_ESP32P4=y
16+
CONFIG_ARCH_INTERRUPTSTACK=2048
17+
CONFIG_ARCH_IRQ_TO_NDX=y
18+
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
19+
CONFIG_ARCH_NUSER_INTERRUPTS=17
20+
CONFIG_ARCH_RISCV=y
21+
CONFIG_BOARDCTL_RESET=y
22+
CONFIG_BOARD_LATE_INITIALIZE=y
23+
CONFIG_BOARD_LOOPSPERMSEC=15000
24+
CONFIG_BUILTIN=y
25+
CONFIG_ESPRESSIF_SPIFLASH=y
26+
CONFIG_ESPRESSIF_SPIFLASH_SMARTFS=y
27+
CONFIG_ESPRESSIF_SPIRAM=y
28+
CONFIG_ESPRESSIF_STORAGE_MTD_OFFSET=0x110000
29+
CONFIG_ESPRESSIF_STORAGE_MTD_SIZE=0xf0000
30+
CONFIG_EXPERIMENTAL=y
31+
CONFIG_FS_PROCFS=y
32+
CONFIG_IDLETHREAD_STACKSIZE=2048
33+
CONFIG_INIT_ENTRYPOINT="nsh_main"
34+
CONFIG_INTELHEX_BINARY=y
35+
CONFIG_LIBC_PERROR_STDOUT=y
36+
CONFIG_LIBC_STRERROR=y
37+
CONFIG_MM_KERNEL_HEAP=y
38+
CONFIG_MM_REGIONS=2
39+
CONFIG_NAME_MAX=48
40+
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6
41+
CONFIG_NSH_BUILTIN_APPS=y
42+
CONFIG_NSH_DISABLE_LOSMART=y
43+
CONFIG_NSH_FILEIOSIZE=512
44+
CONFIG_NSH_READLINE=y
45+
CONFIG_NSH_STRERROR=y
46+
CONFIG_PREALLOC_TIMERS=0
47+
CONFIG_RR_INTERVAL=200
48+
CONFIG_SCHED_BACKTRACE=y
49+
CONFIG_SCHED_WAITPID=y
50+
CONFIG_SMARTFS_MAXNAMLEN=48
51+
CONFIG_START_DAY=29
52+
CONFIG_START_MONTH=11
53+
CONFIG_START_YEAR=2019
54+
CONFIG_SYSTEM_DUMPSTACK=y
55+
CONFIG_SYSTEM_FLASH_ERASEALL=y
56+
CONFIG_SYSTEM_NSH=y
57+
CONFIG_TESTING_FSTEST=y
58+
CONFIG_TESTING_FSTEST_MOUNTPT="/mnt"
59+
CONFIG_TESTING_HEAP=y
60+
CONFIG_UART0_SERIAL_CONSOLE=y

boards/risc-v/esp32p4/esp32p4-function-ev-board/scripts/Make.defs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ ARCHSCRIPT += $(BOARD_COMMON_DIR)/scripts/$(CHIP_SERIES)_aliases.ld
3636

3737
ARCHSCRIPT += $(call FINDSCRIPT,$(CHIP_SERIES)_flat_memory.ld)
3838

39-
ifeq ($(CONFIG_ESP32P4_REV_MIN_300),y)
39+
ifneq ($(CONFIG_ESP32P4_SELECTS_REV_LESS_V3),y)
4040
BOARD_REV = .rev3
4141
endif
4242

boards/risc-v/esp32p4/esp32p4-function-ev-board/src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ set(LDSCRIPTS "${BOARD_COMMON_DIR}/scripts/${CHIP_SERIES}_aliases.ld"
5252
"${BOARD_COMMON_DIR}/scripts/${CHIP_SERIES}_flat_memory.ld")
5353

5454
if(CONFIG_ESPRESSIF_BOOTLOADER_MCUBOOT OR CONFIG_ESPRESSIF_SIMPLE_BOOT)
55-
if(CONFIG_ESP32P4_REV_MIN_300)
55+
if(NOT "${CONFIG_ESP32P4_SELECTS_REV_LESS_V3}" STREQUAL "y")
5656
list(APPEND LDSCRIPTS
5757
"${BOARD_COMMON_DIR}/scripts/${CHIP_SERIES}_sections.rev3.ld")
5858
else()

boards/risc-v/esp32p4/esp32p4-function-ev-board/src/esp32p4_boot.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626

2727
#include <nuttx/config.h>
2828

29+
#include "esp32p4-function-ev-board.h"
30+
2931
/****************************************************************************
3032
* Pre-processor Definitions
3133
****************************************************************************/

0 commit comments

Comments
 (0)