Hi,
Thanks for the fast response.
I'm glad posting this issue to the mailing list was worth it. The github
issue got no attention.
The RP2040 support is very important to me.
There is something I want to add to this issue.
-- Flashing --
I mainly flash the firmware using the Pico Debug probe or the picotool via
USB.
I tested the drag&drop method and it actually does create ttyACMx for me.
But what concerns me is that this can be another unreliable symptom or
"heisenbug".
Best,
Kevin
Op ma 14 apr 2025 om 13:27 schreef Alan C. Assis <acas...@gmail.com>:
Hi Kevin and Alin,
I confirmed that NuttX 12.9-RC1 is broken on Raspberry Pi Pico.
After copying the nuttx.uf2 to virtual disk RPI-RP2 the board restart by
the /dev/ttyACM0 is not created.
Please find the steps below:
alan@dev:/tmp$ cd nuttx/
alan@dev:/tmp/nuttx$ . tools/configure_completion.bash
alan@dev:/tmp/nuttx$ ./tools/configure.sh raspberrypi-pico:usbnsh
alan@dev:/tmp/nuttx$ make -j
Create version.h
LN: platform/board to /tmp/apps/platform/dummy
Register: hello
Register: nsh
Register: sh
Register: getprime
Register: ostest
CPP:
/tmp/nuttx/boards/arm/rp2040/raspberrypi-pico/scripts/raspberrypi-pico-flash.ld->
/tmp/nuLD: nuttx
Memory region Used Size Region Size %age Used
flash: 152 KB 2 MB 7.42%
sram: 8872 B 264 KB 3.28%
Generating: nuttx.uf2
Done.
alan@dev:/tmp/nuttx$ arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-none-eabi/13.2.1/lto-wrapper
Target: arm-none-eabi
Configured with: ../configure --build=x86_64-linux-gnu --prefix=/usr
--includedir='/usr/lib/include' --mandir='/usr/lib/share/man'
--infodir='/usr/lib/share/info' --sysconfdir=/etc --localstatedir=/var
--disable-option-checking --disable-silent-rules
--libdir='/usr/lib/lib/x86_64-linux-gnu'
--libexecdir='/usr/lib/lib/x86_64-linux-gnu' --disable-maintainer-mode
--disable-dependency-tracking --mandir=/usr/share/man
--enable-languages=c,c++,lto --enable-multilib --disable-decimal-float
--disable-libffi --disable-libgomp --disable-libmudflap
--disable-libquadmath --disable-libssp --disable-libstdcxx-pch
--disable-nls --disable-shared --disable-threads --enable-tls
--build=x86_64-linux-gnu --target=arm-none-eabi --with-system-zlib
--with-gnu-as --with-gnu-ld --with-pkgversion=15:13.2.rel1-2
--without-included-gettext --prefix=/usr/lib
--infodir=/usr/share/doc/gcc-arm-none-eabi/info
--htmldir=/usr/share/doc/gcc-arm-none-eabi/html
--pdfdir=/usr/share/doc/gcc-arm-none-eabi/pdf --bindir=/usr/bin
--libexecdir=/usr/lib --libdir=/usr/lib --disable-libstdc++-v3
--host=x86_64-linux-gnu --with-headers=no --without-newlib
--with-multilib-list=rmprofile,aprofile ASFLAGS= ASFLAGS_FOR_BUILD=
CFLAGS='-g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
-ffile-prefix-map=/build/gcc-arm-none-eabi-TuTZN0/gcc-arm-none-eabi-13.2.rel1=.
-flto=auto -ffat-lto-objects -fstack-protector-strong
-fstack-clash-protection -Wno-format -Wno-error=format-security
-fcf-protection
-fdebug-prefix-map=/build/gcc-arm-none-eabi-TuTZN0/gcc-arm-none-eabi-13.2.rel1=/usr/src/gcc-arm-none-eabi-15:13.2.rel1-2'
'CFLAGS_FOR_BUILD=-g -O2' CPPFLAGS='-Wdate-time -D_FORTIFY_SOURCE=3'
CPPFLAGS_FOR_BUILD= CXXFLAGS='-g -O2 -fno-omit-frame-pointer
-mno-omit-leaf-frame-pointer
-ffile-prefix-map=/build/gcc-arm-none-eabi-TuTZN0/gcc-arm-none-eabi-13.2.rel1=.
-flto=auto -ffat-lto-objects -fstack-protector-strong
-fstack-clash-protection -Wno-format -Wno-error=format-security
-fcf-protection
-fdebug-prefix-map=/build/gcc-arm-none-eabi-TuTZN0/gcc-arm-none-eabi-13.2.rel1=/usr/src/gcc-arm-none-eabi-15:13.2.rel1-2'
'CXXFLAGS_FOR_BUILD=-g -O2' DFLAGS=-frelease DFLAGS_FOR_BUILD=-frelease
FCFLAGS='-g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
-ffile-prefix-map=/build/gcc-arm-none-eabi-TuTZN0/gcc-arm-none-eabi-13.2.rel1=.
-flto=auto -ffat-lto-objects -fstack-protector-strong
-fstack-clash-protection -fcf-protection
-fdebug-prefix-map=/build/gcc-arm-none-eabi-TuTZN0/gcc-arm-none-eabi-13.2.rel1=/usr/src/gcc-arm-none-eabi-15:13.2.rel1-2'
'FCFLAGS_FOR_BUILD=-g -O2' FFLAGS='-g -O2 -fno-omit-frame-pointer
-mno-omit-leaf-frame-pointer
-ffile-prefix-map=/build/gcc-arm-none-eabi-TuTZN0/gcc-arm-none-eabi-13.2.rel1=.
-flto=auto -ffat-lto-objects -fstack-protector-strong
-fstack-clash-protection -fcf-protection
-fdebug-prefix-map=/build/gcc-arm-none-eabi-TuTZN0/gcc-arm-none-eabi-13.2.rel1=/usr/src/gcc-arm-none-eabi-15:13.2.rel1-2'
'FFLAGS_FOR_BUILD=-g -O2' LDFLAGS='-Wl,-Bsymbolic-functions -flto=auto
-ffat-lto-objects -Wl,-z,relro' LDFLAGS_FOR_BUILD= OBJCFLAGS='-g -O2
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
-ffile-prefix-map=/build/gcc-arm-none-eabi-TuTZN0/gcc-arm-none-eabi-13.2.rel1=.
-flto=auto -ffat-lto-objects -fstack-protector-strong
-fstack-clash-protection -Wno-format -Wno-error=format-security
-fcf-protection
-fdebug-prefix-map=/build/gcc-arm-none-eabi-TuTZN0/gcc-arm-none-eabi-13.2.rel1=/usr/src/gcc-arm-none-eabi-15:13.2.rel1-2'
'OBJCFLAGS_FOR_BUILD=-g -O2' OBJCXXFLAGS='-g -O2 -fno-omit-frame-pointer
-mno-omit-leaf-frame-pointer
-ffile-prefix-map=/build/gcc-arm-none-eabi-TuTZN0/gcc-arm-none-eabi-13.2.rel1=.
-flto=auto -ffat-lto-objects -fstack-protector-strong
-fstack-clash-protection -Wno-format -Wno-error=format-security
-fcf-protection
-fdebug-prefix-map=/build/gcc-arm-none-eabi-TuTZN0/gcc-arm-none-eabi-13.2.rel1=/usr/src/gcc-arm-none-eabi-15:13.2.rel1-2'
'OBJCXXFLAGS_FOR_BUILD=-g -O2'
INHIBIT_LIBC_CFLAGS=-DUSE_TM_CLONE_REGISTRY=0
AR_FOR_TARGET=arm-none-eabi-ar AS_FOR_TARGET=arm-none-eabi-as
LD_FOR_TARGET=arm-none-eabi-ld NM_FOR_TARGET=arm-none-eabi-nm
OBJDUMP_FOR_TARGET=arm-none-eabi-objdump
RANLIB_FOR_TARGET=arm-none-eabi-ranlib
READELF_FOR_TARGET=arm-none-eabi-readelf
STRIP_FOR_TARGET=arm-none-eabi-strip SED=/bin/sed SHELL=/bin/sh
BASH=/bin/bash CONFIG_SHELL=/bin/bash
Thread model: single
Supported LTO compression algorithms: zlib
gcc version 13.2.1 20231009 (15:13.2.rel1-2)
NuttX support on Raspberry Pi is very important (low cost board widely
available), so I suggest we work fixing it before releasing the official
12.9 release.
BR,
Alan
On Mon, Apr 14, 2025 at 8:12 AM Alan C. Assis <acas...@gmail.com> wrote:
Hi Kevin,
Thanks for reporting the issue!
I will test the new 12.9-RC1 on rasp pico and if the issue happen
there I
will suggest Alin to wait before releasing the final 12.9 version.
BR,
Alan
On Mon, Apr 14, 2025 at 7:46 AM Kevin Witteveen <
kevinwit1...@gmail.com>
wrote:
Hi NuttX,
This is a follow up on previous github issues.
After building and flashing my RP2040 based boards with NuttX on any
OS,
for example Windows, Linux, macOS and different machines (including a
clean
Linux install) with default configurations, they do not pass the
ostest.
Symptoms:
The ostest freezes up around the watchdog test, but sometimes it
happens
on
different tests as well. The entire OS hangs in random applications
too.
Another problem is that if you run "help", the output is a mess.
However, the very strange part is that sometimes this issue does not
show
up at all.
To reproduce:
Any configuration, any OS, any machine. Run "help" to see a misaligned
mess. Run ostest to see it freeze up. Some apps might fail too.
But sometimes things just run fine.
Tested on:
Raspberry Pi Pico (two boards)
Raspberry Pi Pico W
Custom RP2040 board
RAKwireless RAK4630 RP2040
Non-RP2040 boards (they pass and work fine)
RP2040 boards with year-old firmware (they pass and work fine)
The frustrating part:
I tried to figure out the problem, and sometimes it seems like I found
it,
because after changing some configurations or apps, it starts working
again. Only to break after flashing it a few more times with tiny
changes.
USB:
I previously thought USB was the issue, because it looked like the
system
didn’t crash if USB wasn’t connected. But later the OS started hanging
even
without using USB at all.
Help:
I’m unable to figure out the problem and this is blocking my projects,
including some driver development for NuttX.
Can anyone help test this or try to reproduce it?
Thanks,
Kevin (MartiniMarter github)