diff --git a/ports/cxd56/Makefile b/ports/cxd56/Makefile
index 2fbb599c2540..35a4df139340 100644
--- a/ports/cxd56/Makefile
+++ b/ports/cxd56/Makefile
@@ -102,8 +102,6 @@ LIBGCC = "${shell "$(CC)" $(CFLAGS) -print-libgcc-file-name}"
 
 LDFLAGS = \
 	--entry=__start \
-	-nostartfiles \
-	-nodefaultlibs \
 	-T$(SPRESENSE_SDK)/nuttx/scripts/ramconfig.ld \
 	--gc-sections \
 	-Map=$(BUILD)/output.map \
diff --git a/ports/cxd56/README.md b/ports/cxd56/README.md
index 4266c61c0c8f..d727722249d7 100644
--- a/ports/cxd56/README.md
+++ b/ports/cxd56/README.md
@@ -75,7 +75,7 @@ Bootloader information:
 
 * You have to accept the End User License Agreement to be able to download and use the Spresense bootloader binary.
 
-Download the spresense binaries zip archive from: [Spresense firmware v2-4-000](https://developer.sony.com/file/download/download-spresense-firmware-v2-4-000)
+Download the spresense binaries zip archive from: [Spresense firmware v3-0-0](https://developer.sony.com/file/download/download-spresense-firmware-v3-0-0)
 
 Extract spresense binaries in your PC to ports/spresense/spresense-exported-sdk/firmware/
 
diff --git a/ports/cxd56/configs/circuitpython/defconfig b/ports/cxd56/configs/circuitpython/defconfig
index 92e282649b9b..3655a5fdcdfb 100644
--- a/ports/cxd56/configs/circuitpython/defconfig
+++ b/ports/cxd56/configs/circuitpython/defconfig
@@ -17,6 +17,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
@@ -33,7 +34,6 @@ CONFIG_BOARD_CRASHDUMP=y
 CONFIG_BOARD_LATE_INITIALIZE=y
 CONFIG_BOARD_LOOPSPERMSEC=5434
 CONFIG_BOOT_RUNFROMISRAM=y
-CONFIG_CLOCK_MONOTONIC=y
 CONFIG_CXD56_ADC=y
 CONFIG_CXD56_BINARY=y
 CONFIG_CXD56_CHARGER=y
@@ -63,7 +63,8 @@ CONFIG_CXD56_SPI=y
 CONFIG_CXD56_UART2=y
 CONFIG_DRIVERS_VIDEO=y
 CONFIG_FS_FAT=y
-CONFIG_LIBC_FLOATINGPOINT=y
+CONFIG_INIT_ENTRYPOINT="spresense_main"
+CONFIG_INIT_STACKSIZE=8192
 CONFIG_MMCSD=y
 CONFIG_MMCSD_SDIO=y
 CONFIG_MTD=y
@@ -91,7 +92,6 @@ CONFIG_SCHED_HPWORK=y
 CONFIG_SCHED_LPNTHREADS=3
 CONFIG_SCHED_LPWORK=y
 CONFIG_SCHED_WAITPID=y
-CONFIG_SDCLONE_DISABLE=y
 CONFIG_SDIO_MUXBUS=y
 CONFIG_SERIAL_TERMIOS=y
 CONFIG_SPI=y
@@ -110,8 +110,6 @@ CONFIG_USBDEV=y
 CONFIG_USBDEV_DMA=y
 CONFIG_USBDEV_DUALSPEED=y
 CONFIG_USEC_PER_TICK=1000
-CONFIG_USERMAIN_STACKSIZE=8192
-CONFIG_USER_ENTRYPOINT="spresense_main"
 CONFIG_VIDEO_ISX012=y
 CONFIG_VIDEO_ISX019=y
 CONFIG_VIDEO_STREAM=y
diff --git a/ports/cxd56/spresense-exported-sdk b/ports/cxd56/spresense-exported-sdk
index 4f902ca3ffeb..c12296c5ffbd 160000
--- a/ports/cxd56/spresense-exported-sdk
+++ b/ports/cxd56/spresense-exported-sdk
@@ -1 +1 @@
-Subproject commit 4f902ca3ffeb327e6c325940ef5133eda588c2e4
+Subproject commit c12296c5ffbd0779e630a653c76a78558b463271