Hi all,
I’m trying to build and run gnrc_border_router example on an Arduino Nano 33 ble board.
$ cd ${RIOT_BASE}/examples/gnrc_border_router
$ BOARD=arduino-nano-33-ble make
$ BOARD=arduino-nano-33-ble make flash
Command lines succeed but the next one failed because the serial interface to the board (/dev/ttyACM0
) is not longer anymore.
$ BOARD=arduino-nano-33-ble make term
I’ve checked if hello-world and default examples work and both are ok. I also known the border router example work fine with boards with similar but less powerfull cpu (nrf52832 vs nrf52840, 64KB vs 256KB of RAM). Moreover I known the usb of this board is detected differently in flashing mode:
$ lsusb
Bus 001 Device 021: ID 2341:005a Arduino SA Arduino nano 33 BLE
or in normal mode:
$ lsusb
Bus 001 Device 022: ID 1209:7d00 Generic arduino-nano-33-ble
When the board doesn’t detect the normal mode after being flashed, that usually means the firmware haven’t initialized properly.
Here is a list of modules includes during the build for the default example but not for the gnrc_border_router example:
auto_init_usbus
periph_init_usbdev
periph_init_usbdev_clk
periph_usbdev
periph_usbdev_clk
stdio_available
stdio_cdc_acm
usb_board_reset
usbus
usbus_cdc_acm
I’ve added all these modules, one by one, to the border router example and failed to build with the last one, usbus_cdc_acm
, which complained about duplicate codes between drivers/ethos/stdio.c
and sys/usb/usbus/cdc/acm/cdc_acm_stdio.c
.
Thanks in advance for your comments, suggestions or advice.
Sam.