Hi,

So, just to be sure, I made a completely fresh directory, untarred the 12.2.1 tarballs into it, did ./tools/configure.sh esp32-devkitc:blewifi, changed only DEBUG_ASSERTIONS and DEBUG_ASSERTIONS_EXPRESSION and then flashed.  It boots to nsh but then doesn't accept any input; it's hung.  If I have my wifi credentials in the config, so many messages come out I can't tell if it displayed the nsh prompt, but the last thing I see before it hangs and doesn't accept any input is some message about wifi (I'm assuming it connected).

I then tried, after yet another rm+untar (yes, I'm removing both nuttx and apps and re-untarring them), to configure esp32-devkitc:nxdiag, but it wouldn't build.

I then remembered that since I use esp-idf v4.4.5 (on Ubuntu 22.04 LTS) for other projects, I've just been use the toolchain that comes with it instead of the "latest" one recommend via the NuttX docs link.  Unfortunately, it's a way older version of the gcc toolchain (gcc-8.4 vs gcc-12.2).

So I installed the newer toolchain and esptool.py as directed by the NuttX documentation.  I then opened a new shell without running the ESP-IDF environment setup script, manually set my path to include the new toolchain, and tried again.  However, after yet another rm+untar and rebuilding blewifi + ASSERT configs with the newer toolchain, I still get the same problem with it hanging.

But luckily, with the newer toolchain, I'm at least able to build and run nxdiag and here is the output:

nxdiag --all
Nxdiag Report:

NuttX RTOS info:
    Hostname:
    Release: 12.2.1
    Build: 148c631a2d Sep  1 2023 08:45:59
    Arch: xtensa
    Defconfig: esp32-devkitc:nxdiag

NuttX CFLAGS:
    -fno-common
    -Wall
    -Wstrict-prototypes
    -Wshadow
    -Wundef
    -Os
    -fno-strict-aliasing
    -fomit-frame-pointer
    -ffunction-sections
    -fdata-sections
    -mlongcalls
    -isystem /home/mmoretti/work/nuttx-12.2.1/nuttx/include
    -D__NuttX__
    -DNDEBUG
    -pipe
    -I "/home/mmoretti/work/nuttx-12.2.1/apps/include"

NuttX CXXFLAGS:
    -fno-common
    -nostdinc++
    -Wall
    -Wshadow
    -Wundef
    -std="gnu++17"
    -fno-exceptions
    -fcheck-new
    -fno-rtti
    -Os
    -fno-strict-aliasing
    -fomit-frame-pointer
    -ffunction-sections
    -fdata-sections
    -mlongcalls
    -isystem /home/mmoretti/work/nuttx-12.2.1/nuttx/include/cxx
    -isystem /home/mmoretti/work/nuttx-12.2.1/nuttx/include
    -D__NuttX__
    -DNDEBUG
    -pipe
    -I "/home/mmoretti/work/nuttx-12.2.1/apps/include"

NuttX LDFLAGS:
    -nostdlib
    --gc-sections
    --cref
    -Map=/home/mmoretti/work/nuttx-12.2.1/nuttx/nuttx.map

NuttX configuration options:
    CONFIG_HOST_LINUX=y
    CONFIG_APPS_DIR="../apps"
    CONFIG_BASE_DEFCONFIG="esp32-devkitc:nxdiag"
    CONFIG_BUILD_FLAT=y
    CONFIG_INTELHEX_BINARY=y
    CONFIG_ARCH_HAVE_STDARG_H=y
    CONFIG_ARCH_HAVE_SETJMP=y
    CONFIG_ARCH_NONE_DEBUG_H=y
    CONFIG_FORTIFY_SOURCE=0
    CONFIG_NDEBUG=y
    CONFIG_DEBUG_ALERT=y
    CONFIG_ARCH_HAVE_STACKCHECK=y
    CONFIG_ARCH_HAVE_CUSTOMOPT=y
    CONFIG_DEBUG_FULLOPT=y
    CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y
    CONFIG_DEBUG_LINK_MAP=y
    CONFIG_ARCH_XTENSA=y
    CONFIG_ARCH="xtensa"
    CONFIG_ARCH_CHIP="esp32"
    CONFIG_ARCH_BOARD="esp32-devkitc"
    CONFIG_ARCH_CHIP_ESP32=y
    CONFIG_ARCH_FAMILY_LX6=y
    CONFIG_XTENSA_CP_INITSET=0x0001
    CONFIG_XTENSA_DUMPBT_ON_ASSERT=y
    CONFIG_XTENSA_BTDEPTH=50
    CONFIG_XTENSA_TOOLCHAIN_ESP=y
    CONFIG_ARCH_CHIP_ESP32WROVER=y
    CONFIG_ESP32_DUAL_CPU=y
    CONFIG_ESP32_FLASH_4M=y
    CONFIG_ESP32_FLASH_DETECT=y
    CONFIG_ESP32_PSRAM_8M=y
    CONFIG_ESP32_ESP32DXWDXX=y
    CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
    CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
    CONFIG_ESP32_XTAL_40MZ=y
    CONFIG_ESP32_UART=y
    CONFIG_ESP32_RTC=y
    CONFIG_ESP32_UART0=y
    CONFIG_ESP32_BT_RESERVE_DRAM=0
    CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0
    CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=0
    CONFIG_ESP32_UART0_TXPIN=1
    CONFIG_ESP32_UART0_RXPIN=3
    CONFIG_ESP32_FLASH_MODE_DIO=y
    CONFIG_ESP32_FLASH_FREQ_40M=y
    CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y
    CONFIG_ESP32_APP_FORMAT_LEGACY=y
    CONFIG_ESP32_BOOTLOADER_DOWNLOAD_PREBUILT=y
    CONFIG_ESP32_PARTITION_TABLE_OFFSET=0x8000
    CONFIG_ARCH_TOOLCHAIN_GNU=y
    CONFIG_LTO_NONE=y
    CONFIG_ARCH_VECNOTIRQ=y
    CONFIG_ARCH_HAVE_TEXT_HEAP=y
    CONFIG_ARCH_HAVE_MULTICPU=y
    CONFIG_ARCH_HAVE_FPU=y
    CONFIG_ARCH_HAVE_MPU=y
    CONFIG_ARCH_HAVE_RESET=y
    CONFIG_ARCH_HAVE_TESTSET=y
    CONFIG_ARCH_HAVE_SYSCALL_HOOKS=y
    CONFIG_ARCH_HAVE_BACKTRACE=y
    CONFIG_ARCH_HAVE_BOOTLOADER=y
    CONFIG_ARCH_HAVE_CPUINFO=y
    CONFIG_ARCH_FPU=y
    CONFIG_ARCH_STACKDUMP=y
    CONFIG_ARCH_STACKDUMP_MAX_LENGTH=0
    CONFIG_BOARD_LOOPSPERMSEC=16717
    CONFIG_ARCH_HAVE_INTERRUPTSTACK=y
    CONFIG_ARCH_INTERRUPTSTACK=0
    CONFIG_BOOT_RUNFROMFLASH=y
    CONFIG_RAM_START=0x20000000
    CONFIG_RAM_SIZE=114688
    CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
    CONFIG_ARCH_HAVE_LEDS=y
    CONFIG_ARCH_HAVE_BUTTONS=y
    CONFIG_ARCH_BOARD_COMMON=y
    CONFIG_BOARDCTL=y
    CONFIG_BOARDCTL_MKRD=y
    CONFIG_DISABLE_OS_API=y
    CONFIG_USEC_PER_TICK=10000
    CONFIG_START_YEAR=2011
    CONFIG_START_MONTH=12
    CONFIG_START_DAY=6
    CONFIG_PREALLOC_TIMERS=4
    CONFIG_INIT_ENTRY=y
    CONFIG_INIT_ARGS=""
    CONFIG_INIT_STACKSIZE=2048
    CONFIG_INIT_PRIORITY=100
    CONFIG_INIT_ENTRYPOINT="nsh_main"
    CONFIG_INIT_ENTRYNAME="nsh_main"
    CONFIG_RR_INTERVAL=200
    CONFIG_TASK_NAME_SIZE=31
    CONFIG_SCHED_WAITPID=y
    CONFIG_PTHREAD_MUTEX_ROBUST=y
    CONFIG_PTHREAD_MUTEX_DEFAULT_PRIO_NONE=y
    CONFIG_PTHREAD_CLEANUP_STACKSIZE=0
    CONFIG_DEV_CONSOLE=y
    CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=8
    CONFIG_FILE_STREAM=y
    CONFIG_NAME_MAX=32
    CONFIG_PATH_MAX=256
    CONFIG_SIG_PREALLOC_IRQ_ACTIONS=8
    CONFIG_PREALLOC_MQ_MSGS=8
    CONFIG_PREALLOC_MQ_IRQ_MSGS=8
    CONFIG_MQ_MAXMSGSIZE=32
    CONFIG_DEFAULT_TASK_STACKSIZE=2048
    CONFIG_IDLETHREAD_STACKSIZE=3072
    CONFIG_PTHREAD_STACK_MIN=256
    CONFIG_PTHREAD_STACK_DEFAULT=2048
    CONFIG_ARCH_HAVE_I2CRESET=y
    CONFIG_DEV_NULL=y
    CONFIG_DRVR_MKRD=y
    CONFIG_ARCH_HAVE_SERIAL_TERMIOS=y
    CONFIG_SERIAL=y
    CONFIG_SERIAL_CONSOLE=y
    CONFIG_MCU_SERIAL=y
    CONFIG_STANDARD_SERIAL=y
    CONFIG_SERIAL_NPOLLWAITERS=4
    CONFIG_UART0_SERIAL_CONSOLE=y
    CONFIG_UART0_SERIALDRIVER=y
    CONFIG_UART0_RXBUFSIZE=256
    CONFIG_UART0_TXBUFSIZE=256
    CONFIG_UART0_BAUD=115200
    CONFIG_UART0_BITS=8
    CONFIG_UART0_PARITY=0
    CONFIG_UART0_2STOP=0
    CONFIG_SYSLOG_MAX_CHANNELS=1
    CONFIG_SYSLOG_DEVPATH="/dev/ttyS1"
    CONFIG_SYSLOG_DEFAULT=y
    CONFIG_FS_NEPOLL_DESCRIPTORS=8
    CONFIG_SENDFILE_BUFSIZE=512
    CONFIG_FS_MQUEUE_VFS_PATH="/var/mqueue"
    CONFIG_FS_MQUEUE_NPOLLWAITERS=4
    CONFIG_FS_ANONMAP=y
    CONFIG_FS_PROCFS=y
    CONFIG_FS_PROCFS_MAX_TASKS=128
    CONFIG_NXFONTS_PACKEDMSFIRST=y
    CONFIG_MM_DEFAULT_MANAGER=y
    CONFIG_MM_DFAULT_ALIGNMENT=0
    CONFIG_MM_REGIONS=3
    CONFIG_MM_HEAP_MEMPOOL_THRESHOLD=0
    CONFIG_MM_BACKTRACE=-1
    CONFIG_STDIO_BUFFER_SIZE=64
    CONFIG_STDIO_LINEBUFFER=y
    CONFIG_NUNGET_CHARS=2
    CONFIG_LIBC_FLOATINGPOINT=y
    CONFIG_LIBC_LONG_LONG=y
    CONFIG_ARCH_LOWPUTC=y
    CONFIG_LIBC_ARCH_ATOMIC=y
    CONFIG_LIBC_ARCH_MEMCHR=y
    CONFIG_LIBC_ARCH_MEMCPY=y
    CONFIG_LIBC_ARCH_MEMCMP=y
    CONFIG_LIBC_ARCH_MEMMOVE=y
    CONFIG_LIBC_ARCH_MEMSET=y
    CONFIG_LIBC_ARCH_STRCHR=y
    CONFIG_LIBC_ARCH_STRCMP=y
    CONFIG_LIBC_ARCH_STRCPY=y
    CONFIG_LIBC_ARCH_STRLCPY=y
    CONFIG_LIBC_ARCH_STRNCPY=y
    CONFIG_LIBC_ARCH_STRLEN=y
    CONFIG_LIBC_ARCH_STRNLEN=y
    CONFIG_LIBC_PREVENT_STRING_KERNEL=y
    CONFIG_LIBC_RAND_ORDER=1
    CONFIG_LIBC_HOMEDIR="/"
    CONFIG_LIBC_TMPDIR="/tmp"
    CONFIG_LIBC_MAX_TMPFILE=32
    CONFIG_LIBC_MAX_EXITFUNS=0
    CONFIG_POSIX_SPAWN_DEFAULT_STACKSIZE=2048
    CONFIG_LIBC_HOSTNAME=""
    CONFIG_LIBC_OPEN_MAX=256
    CONFIG_LIBC_STRERROR_ERRNUM=y
    CONFIG_LIBC_STRSIGNAL=y
    CONFIG_TLS_NELEM=4
    CONFIG_TLS_TASK_NELEM=0
    CONFIG_LIBC_GAISTRERROR_ERRNUM=y
    CONFIG_LIBC_FTOK_VFS_PATH="/var/ftok"
    CONFIG_LIBC_MEMFD_ERROR=y
    CONFIG_BUILTIN=y
    CONFIG_STREAM_OUT_BUFFER_SIZE=64
    CONFIG_STREAM_HEXDUMP_BUFFER_SIZE=128
    CONFIG_LIBM_TOOLCHAIN=y
    CONFIG_HAVE_CXX=y
    CONFIG_HAVE_CXXINITIALIZE=y
    CONFIG_LIBCXXMINI=y
    CONFIG_CXX_STANDARD="gnu++17"
    CONFIG_NSH_LIBRARY=y
    CONFIG_NSH_PROMPT_STRING="nsh> "
    CONFIG_NSH_READLINE=y
    CONFIG_NSH_LINELEN=64
    CONFIG_NSH_MAXARGUMENTS=7
    CONFIG_NSH_NESTDEPTH=3
    CONFIG_NSH_ALIAS=y
    CONFIG_NSH_ALIAS_MAX_AMOUNT=1
    CONFIG_NSH_BUILTIN_APPS=y
    CONFIG_NSH_DISABLE_DATE=y
    CONFIG_NSH_DISABLE_LOSMART=y
    CONFIG_NSH_DISABLE_LOMTD=y
    CONFIG_NSH_DISABLE_MB=y
    CONFIG_NSH_DISABLE_MH=y
    CONFIG_NSH_DISABLE_MW=y
    CONFIG_NSH_DISABLE_TIMEDATECTL=y
    CONFIG_NSH_CODECS_BUFSIZE=128
    CONFIG_NSH_PROC_MOUNTPOINT="/proc"
    CONFIG_NSH_FILEIOSIZE=512
    CONFIG_NSH_CONSOLE=y
    CONFIG_NSH_ARCHINIT=y
    CONFIG_SYSTEM_NSH=y
    CONFIG_SYSTEM_NSH_PRIORITY=100
    CONFIG_SYSTEM_NSH_STACKSIZE=2048
    CONFIG_SYSTEM_NSH_PROGNAME="nsh"
    CONFIG_SYSTEM_NXDIAG=y
    CONFIG_SYSTEM_NXDIAG_PRIORITY=100
    CONFIG_SYSTEM_NXDIAG_STACKSIZE=2048
    CONFIG_SYSTEM_NXDIAG_CONF=y
    CONFIG_SYSTEM_NXDIAG_COMP_FLAGS=y
    CONFIG_SYSTEM_NXDIAG_HOST_PATH=y
    CONFIG_SYSTEM_NXDIAG_ESPRESSIF=y
    CONFIG_SYSTEM_READLINE=y
    CONFIG_READLINE_HAVE_EXTMATCH=y
    CONFIG_READLINE_ECHO=y

Host system OS:
    Ubuntu 22.04.3 LTS Linux gigue 6.2.0-26-generic #26~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Jul 13 16:27:29 UTC 2 x86_64 x86_64

Host system PATH:
    /home/mmoretti/tools/xtensa-esp32-elf-12.2.0_20230208/bin
    /home/mmoretti/bin
    /home/mmoretti/tools/bin
    /home/mmoretti/bin
    /home/mmoretti/tools/bin
    /home/mmoretti/.local/bin
    /usr/local/sbin
    /usr/local/bin
    /usr/sbin
    /usr/bin
    /sbin
    /bin
    /usr/games
    /usr/local/games
    /snap/bin

Espressif specific information:

Bootloader version:
    esp32: v5.1-dev-3972-g1559b6309f
    esp32s2: Bootloader image not found
    esp32s3: Bootloader image not found
    esp32c2: Bootloader image not found
    esp32c3: Bootloader image not found
    esp32c6: Bootloader image not found
    esp32h2: Bootloader image not found

Toolchain version:
    clang: Not found
    gcc: gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
    xtensa-esp32-elf-gcc: xtensa-esp32-elf-gcc (crosstool-NG esp-12.2.0_20230208) 12.2.0
    xtensa-esp32s2-elf-gcc: Not found
    xtensa-esp32s3-elf-gcc: Not found
    riscv32-esp-elf-gcc: Not found
    riscv64-unknown-elf-gcc: Not found

Esptool version: 4.6.2

nsh>


-m

On 9/1/2023 8:13 AM, Tiago Medicci Serrano wrote:
Hi Mike,

We have been using NuttX on ESP32 for a while. The `esp32-devkitc:blewifi`
is run by our internal pipeline (which sets the `DEBUG_ASSERTIONS` and
`DEBUG_ASSERTIONS_EXPRESSION`, btw) and we had no problems running it.

Again: please use the `esp32-devkitc:nxdiag` configuration and run the
`nxdiag -all` from the NSH (please refer to
https://nuttx.apache.org/docs/latest/platforms/xtensa/esp32/boards/esp32-devkitc/index.html#nxdiag).
Please share your results for reevaluation ;)

Best regards,

Em qui., 31 de ago. de 2023 às 14:00, Mike Moretti
<nu...@mordent.com.invalid>  escreveu:

It appears that when using the blewifi configuration out of the box, and
just turning on DEBUG_ASSERTIONS and DEBUG_ASSERTIONS_EXPRESSION, and
setting wifi ssid/pw causes the esp32 to hang.  This is as far as I've
gotten so far.  I'm still tweaking other configs to see if they cause
hanging as well.

This just does NOT appear to be a stable OS on the ESP32.

-m

On 8/31/2023 9:05 AM, Tiago Medicci Serrano wrote:
Hi!

Good to know that! Yes, there are packages that need to be selected to
make
it work. The `esp32-devkitc:blewifi` is a good starting point.

Please note that BLE's log is enabled with the other wireless logs
through
the menuconfig in "*Build Setup → Debug Options*". I hope this helps
debugging.

Best regards,

Em qua., 30 de ago. de 2023 às 18:29, Mike Moretti
<nu...@mordent.com.invalid>  escreveu:

Hi,

Thanks.  It wasn't until I untarred a whole new copy of nuttx+apps and
ran tools/configure.sh with blewifi that I was able to get that
configuration to work.  In my old tree, make distclean apparently didn't
clean something, or my old tree was corrupt somehow.

However, I still cannot get my own config to work (the one I previously
attached).  There's a lot more stuff I need enabled than what is enabled
by default in the blewifi configuration.  I guess I will just have to
randomly keep modifying different config params until something works.

Thanks,
-m

On 8/30/2023 3:32 PM, Tiago Medicci Serrano wrote:
Hi Mike,

I found no trouble using the esp32-devkitc:blewifi configuration. May I
ask
you to double-check your bootloader/partition-table configuration? (you
can
refer to

https://nuttx.apache.org/docs/latest/platforms/xtensa/esp32/index.html#bootloader-and-partitions
).

If not successful yet, please do the following:

Select the esp32-devkitc:nxdiag configuration and run the `nxdiag -all`
from the NSH (please refer to

https://nuttx.apache.org/docs/latest/platforms/xtensa/esp32/boards/esp32-devkitc/index.html#nxdiag
).
Please share your results for reevaluattion ;)

Best regards,

Em ter., 29 de ago. de 2023 às 18:03, Tiago Medicci Serrano <
tiago.medi...@gmail.com> escreveu:

Hi,

I'll take a look at it soon. Interestingly, our internal CI tests all
the
defconfigs, so I wouldn't expect any erroneous behavior.

I'll check.

Best regards,

Em ter., 29 de ago. de 2023 às 16:38, Mike Moretti
<nu...@mordent.com.invalid>  escreveu:

Hi,

I'm using NuttX 12.2.1 on an esp32 wroom devkit.

If I try to configure NuttX via tools/configure.sh using the
esp32-devkitc:blewifi configuration, when I boot the esp32, I get
problems
with it telling me there's no bootable app.

If I instead start with the esp32-devkitc:nsh configuration and add
wifi
and ble to it via menuconfig, I get only a little further.  It gets
past
the entropy message and then I see "AB" and it hangs forever.  With
all the
ble options disabled and only wifi configured by itself it actually
boots
into nsh after some time.  (At first, I had a somewhat similar issue
with
nsh when wifi only is enabled and connection info wasn't defined in
the
config file, where it would seem to hang and then finally show a
prompt.
It wasn't until I actually figured out about turning on CONFIG_DEBUG
"ERROR" for network/wireless that it showed me a bunch of errors
during
boot and I knew it wasn't just hanging permanently and to just wait
for it
a bit to show an nsh prompt.)

However, there don't seem to be any config debug options for
bluetooth.
I have no idea why it hangs as no messages are displayed and it never
shows
a prompt even after a half an hour.  I've now spent hours messing
with
various BLE configuration options with no luck.  I'm including my
config
file in hope that someone might see something wrong with it.

Thanks,
-m
--
Mike Moretti
♩♫♫♩♪♩

--
Tiago Medicci Serrano

Embedded Software Engineer
MSc Electronics/Microelectronics
m: +55 (19) 981403886 <+55+(19)+981403886>
e:tiago.medi...@gmail.com
a: Campinas, Brazil
Follow me:
<https://www.linkedin.com/in/tiago-serrano-924458b6>
<https://github.com/tmedicci>


Reply via email to