arm-none-eabi-ld: /home/adam/src/nuttx/nuttx-sama5d2-xult/nuttx/arch/arm/src/board/libboard.a(sam_bringup.o): in function `sam_bringup': /home/adam/src/nuttx/nuttx-sama5d2-xult/nuttx/boards/arm/sama5/sama5d2-xult/src/sam_bringup.c:149: undefined reference to `sam_sdmmc_sdio_initialize' arm-none-eabi-ld: /home/adam/src/nuttx/nuttx-sama5d2-xult/nuttx/boards/arm/sama5/sama5d2-xult/src/sam_bringup.c:166: undefined reference to `sam_sdmmc_set_sdio_card_isr' arm-none-eabi-ld: /home/adam/src/nuttx/nuttx-sama5d2-xult/nuttx/arch/arm/src/board/libboard.a(sam_sdmmc.o): in function `sam_sdmmc_cardetect': /home/adam/src/nuttx/nuttx-sama5d2-xult/nuttx/boards/arm/sama5/sama5d2-xult/src/sam_sdmmc.c:152: undefined reference to `sdio_mediachange' arm-none-eabi-ld: /home/adam/src/nuttx/nuttx-sama5d2-xult/nuttx/arch/arm/src/board/libboard.a(sam_sdmmc.o): in function `sam_sdmmc_initialize': /home/adam/src/nuttx/nuttx-sama5d2-xult/nuttx/boards/arm/sama5/sama5d2-xult/src/sam_sdmmc.c:239: undefined reference to `sam_sdmmc_sdio_initialize' arm-none-eabi-ld: /home/adam/src/nuttx/nuttx-sama5d2-xult/nuttx/boards/arm/sama5/sama5d2-xult/src/sam_sdmmc.c:263: undefined reference to `sdio_mediachange'
These are ALL functions that must be provided in your board-specific logic. Look for example a:
$ cd boards/arm/sama5/ $ grep -r sdio_mediachange * sama5d2-xult/src/sam_hsmci.c: sdio_mediachange(state->hsmci, cd); sama5d2-xult/src/sam_hsmci.c: sdio_mediachange(state->hsmci, state->cd); sama5d3x-ek/src/sam_hsmci.c: sdio_mediachange(state->hsmci, cd); sama5d3x-ek/src/sam_hsmci.c: sdio_mediachange(state->hsmci, state->cd); sama5d3-xplained/src/sam_hsmci.c: sdio_mediachange(state->hsmci, cd); sama5d3-xplained/src/sam_hsmci.c: sdio_mediachange(state->hsmci, state->cd); sama5d4-ek/src/sam_hsmci.c: sdio_mediachange(state->hsmci, cd); sama5d4-ek/src/sam_hsmci.c: sdio_mediachange(state->hsmci, state->cd);