diff --git a/bricks/_common/arm_none_eabi.mk b/bricks/_common/arm_none_eabi.mk index 3fefa84bf..3361facb9 100644 --- a/bricks/_common/arm_none_eabi.mk +++ b/bricks/_common/arm_none_eabi.mk @@ -510,7 +510,9 @@ NXOS_SRC_S = $(addprefix lib/pbio/platform/nxt/nxos/,\ irq.s \ ) +ifneq ($(PB_MCU_FAMILY),TIAM1808) SRC_S += lib/pbio/platform/$(PBIO_PLATFORM)/startup.s +endif OBJ = $(PY_O) OBJ += $(addprefix $(BUILD)/, $(SRC_S:.s=.o)) diff --git a/lib/pbio/drv/display/display_ev3.c b/lib/pbio/drv/display/display_ev3.c index 4e49f07be..c8a306646 100644 --- a/lib/pbio/drv/display/display_ev3.c +++ b/lib/pbio/drv/display/display_ev3.c @@ -134,7 +134,7 @@ PROCESS(pbdrv_display_ev3_init_process, "st7586s"); * * Non-atomic updated by the application are allowed. */ -static uint8_t pbdrv_display_user_frame[PBDRV_CONFIG_DISPLAY_NUM_ROWS][PBDRV_CONFIG_DISPLAY_NUM_COLS] __attribute__((section(".pbdrv_display_user_frame"), used)); +static uint8_t pbdrv_display_user_frame[PBDRV_CONFIG_DISPLAY_NUM_ROWS][PBDRV_CONFIG_DISPLAY_NUM_COLS] __attribute__((section(".noinit"), used)); /** * Flag to indicate that the user frame has been updated and needs to be @@ -164,7 +164,7 @@ static bool pbdrv_display_user_frame_update_requested = false; * Even in monochrome mode, you can only have 3 pixels per byte, so there is no * savings in using it. We might as well support gray scale. */ -static uint8_t st7586s_send_buf[ST7586S_NUM_COL_TRIPLETS * ST7586S_NUM_ROWS] __attribute__((section(".st7586s_send_buf"), used)); +static uint8_t st7586s_send_buf[ST7586S_NUM_COL_TRIPLETS * ST7586S_NUM_ROWS] __attribute__((section(".noinit"), used)); /** * Encode a triplet of pixels into a single byte in the format descrived above. diff --git a/lib/pbio/platform/ev3/platform.ld b/lib/pbio/platform/ev3/platform.ld index ab2ffa4dd..7efaeebec 100644 --- a/lib/pbio/platform/ev3/platform.ld +++ b/lib/pbio/platform/ev3/platform.ld @@ -10,17 +10,11 @@ MEMORY DDR (rwx) : ORIGIN = 0xC0008000, LENGTH = (64M - 0x8000) } -_minimal_stack_size = 64K; +_minimal_stack_size = 4M; pbdrv_stack_end = ORIGIN(DDR) + LENGTH(DDR) - 4; SECTIONS { - .startcode : - { - . = ALIGN(4); - *startup.o (.text) - } > DDR - .text : { . = ALIGN(4); @@ -51,14 +45,6 @@ SECTIONS _pru0_end = .; } >DDR - .display_frames (NOLOAD) : - { - . = ALIGN(4); - *(.pbdrv_display_user_frame) - . = ALIGN(4); - *(.st7586s_send_buf) - } > DDR - /* Uninitialized (not zeroed at startup) data section */ .noinit (NOLOAD) : diff --git a/lib/pbio/platform/ev3/startup.s b/lib/pbio/platform/ev3/startup.s deleted file mode 100644 index 78ce8e6fb..000000000 --- a/lib/pbio/platform/ev3/startup.s +++ /dev/null @@ -1 +0,0 @@ -@* Not used. See start.S