Hello, I am not entirely clear how to participate in the release vote, I will have to review the linked information again, but I have noticed that the Pico W is not able to connect to a wireless network because of an issue that was previously encountered a few releases ago. I am investigating this issue to see if it is arising from the change to the 2.0.0 version of the Pico SDK, but perhaps someone else can verify that they are encountering the same thing if they have a Pico W?
The details were here: https://github.com/apache/nuttx/issues/7475#issuecomment-2387037148 If this is not the correct forum for this, please let me know. I just think that this may be an additional issue to fix before the 12.7.0 release. Best, Matteo On Fri, Oct 4, 2024 at 7:59 PM Tomek CEDRO <to...@cedro.info> wrote: > Hello world :-) > > There goes -1 from me, sorry :-P :-P > > 1. There are memory leak problems reported that I tried to confirm on > STM32F769. Is it ostest problem only or more general memory management > issue? > > before ostest total/used: 483056 / 10112. > after ostest total/used: 483056 / 10200. > > 2. There are LVGL screen problems reported. This may be solved with > LVGL 9.2.1 release that should show up within days and its inclusion > is in the PRs. Or we have display driver to fix. I would also > recommend testing with previous NuttX releases on the same hardware to > confirm the possible regression. Gabor is very keen to NuttX and it > would be really nice to show working demo of LVGL 9.2.1 on 12.7.0 also > to attract newcomers to the project. > > https://github.com/apache/nuttx/issues/13825 > https://github.com/lvgl/lvgl/pull/6981 > > 3. I have found a problem on ESP32 with esptool version 4.7 that > produces faulty unusable firmware with no warning / error. I found a > commit that bumps esptool to 4.8 in order to build on CI with new > bootloader from ESP IDF. Otherwise I would not know why it does not > run. But we should handle this situation with error message and/or use > older bootloader with 4.7 (?) otherwise people may get discouraged at > first contact with NuttX. > > https://github.com/apache/nuttx/issues/13824 > > > If there is any reason the 12.7.0 really should be released right now > for some serious reason I can change my vote to 0 not to block the > release. Otherwise we should focus on fixing those 3 discovered issues > in order to provide high quality no-surprises release :-) > > > Here returns the subject of distributed testing farms so we could test > NuttX builds locally on a real hardware that we have at hand. I > started building one. But we also need some scripts that will make > this task easy to setup by everyone interested in a repeatable way. > This is a separate discussion already taking place on dev@. > > > I have contacted local STM in Poland and asked if they can provide > free sample develkits to test NuttX on them and demo a reference > design. I have STM32F769I-DISCO but with no LCD so I cannot help with > LVGL at this point sorry. > > Thank you :-) > Tomek > > > === BUILD HOST === > > % uname -a > FreeBSD octagon 13.3-RELEASE-p7 FreeBSD 13.3-RELEASE-p7 GENERIC amd64 > > % git branch > * (HEAD detached at nuttx-12.7.0-RC0) > > % git log --oneline -5 > 10e44f8915 (HEAD, tag: nuttx-12.7.0-RC0, origin/releases/12.7) > riscv_fork.c: Fix race condition when handling parent integer > registers > 2d3c94411b riscv_fork.c: Fix vfork() for kernel mode + SMP > d1fec65e1b riscv: use g_running_task store current regs > 57f84aaca8 sensor: Added 6dof motion and gesture related types. For > details, see: > https://developer.android.com/reference/android/hardware/SensorEvent#values > a4e90b7268 > <https://developer.android.com/reference/android/hardware/SensorEvent#valuesa4e90b7268> > inlclude/uorb.h:Update data types to be sorted by macro definition. > > % git branch > * (HEAD detached at nuttx-12.7.0-RC0) > > % git log --oneline -5 > ac11e3cba (HEAD, tag: nuttx-12.7.0-RC0, origin/releases/12.7) Adapt > the new header file path of va_format. > b4d794cbd Makefile:complete missing DEPPATH > f81a09428 nshlib: add support for pkill command > 767c8ea6c uorb: enable O_CLOEXEC explicit > bae15dfd5 nshlib: enable O_CLOEXEC explicit to avoid potential fd leak > > > === TARGETS === > > 1. ESP32 (FAIL). > 2. ESP32-C3 (PASS). > 3. STM32F769I-DISCO (PASS). > > > > === ESP32 === > > % gmake clean distclean > > % xtensa-esp32-elf-cc --version > xtensa-esp32-elf-cc (crosstool-NG esp-2021r2-patch5) 8.4.0 > Copyright (C) 2018 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > % /usr/bin/time -h ./tools/configure.sh -B esp32-devkitc:nsh > 3,92s real 1,98s user 2,23s sys > > % /usr/bin/time -h gmake -j8 > /usr/bin/time -h gmake -j8 > Create version.h > Cloning Espressif HAL for 3rd Party Platforms > Clone: chip/esp-hal-3rdparty LN: platform/board to > /XXX/nuttx-apps.git/platform/dummy > Register: nsh > Register: sh > Espressif HAL for 3rd Party Platforms: > 20690e67695f0a8170a19ec99e2e9a13b620e94d > CPP: > /XXX/nuttx.git/arch/xtensa/src/chip/esp-hal-3rdparty/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld-> > > /XXX/nuttx.git/arch/xtensa/src/chip/esp-hal-3rdparty/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld.tmpLD: > nuttx > CP: nuttx.hex > MKIMAGE: ESP32 binary > esptool.py -c esp32 elf2image --ram-only-header -fs 4MB -fm dio -ff > 40m -o nuttx.bin nuttx > usage: esptool [-h] [--chip > > {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6}] > [--port PORT] [--baud BAUD] [--before > {default_reset,usb_reset,no_reset,no_reset_no_sync}] [--after > {hard_reset,soft_reset,no_reset,no_reset_stub}] [--no-stub] [--trace] > [--override-vddsdio [{1.8V,1.9V,OFF}]] > [--connect-attempts CONNECT_ATTEMPTS] > > > {load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,merge_bin,get_security_info,version} > ... > esptool: error: unrecognized arguments: --ram-only-header > gmake: *** [tools/Unix.mk:558: nuttx] Error 2 > 40,96s real 1m32,23s user 1m1,82s sys > > % pip show esptool > Name: esptool > Version: 4.3 > Summary: A serial utility to communicate & flash code to Espressif chips. > Home-page: https://github.com/espressif/esptool/ > Author: Fredrik Ahlberg (themadinventor) & Angus Gratton (projectgus) > & Espressif Systems > Author-email: > License: GPLv2+ > Location: /XXX/venv3.9embedded/lib/python3.9/site-packages > Requires: bitstring, cryptography, ecdsa, pyserial, reedsolo > Required-by: #N/A > > (venv3.9embedded) pip install -U esptool > > (venv3.9embedded) /usr/bin/time -h gmake -j8 > CPP: > /XXX/nuttx.git/arch/xtensa/src/chip/esp-hal-3rdparty/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld-> > > /XXX/nuttx.git/arch/xtensa/src/chip/esp-hal-3rdparty/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld.tmpLD: > nuttx > CP: nuttx.hex > MKIMAGE: ESP32 binary > esptool.py -c esp32 elf2image --ram-only-header -fs 4MB -fm dio -ff > 40m -o nuttx.bin nuttx > esptool.py v4.8.1 > Creating esp32 image... > Image has only RAM segments visible. ROM segments are hidden and > SHA256 digest is not appended. > Merged 1 ELF section > Successfully created esp32 image. > Generated: nuttx.bin > 4,19s real 2,96s user 3,44s sys > > (venv3.9embedded) /usr/bin/time -h gmake flash > 15,26s real 3,03s user 3,24s sys > > (venv3.9embedded) cu -l /dev/cuaU0 -s 115200 > Stale lock on cuaU0 PID=4016... overriding. > Connected > ts Jul 29 2019 12:21:46 > > rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) > configsip: 0, SPIWP:0xee > clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 > mode:DIO, clock div:2 > load:0x3ffb1f40,len:1388 > ho 0 tail 12 room 4 > load:0x40080000,len:20320 > entry 0x40082650 > *** Booting NuttX *** > dram: lma 0x00001020 vma 0x3ffb1f40 len 0x56c (1388) > iram: lma 0x00001594 vma 0x40080000 len 0x4f60 (20320) > padd: lma 0x00006508 vma 0x00000000 len 0x9af0 (39664) > imap: lma 0x00010000 vma 0x400e0000 len 0x10d78 (68984) > padd: lma 0x00020d80 vma 0x00000000 len 0xf298 (62104) > dmap: lma 0x00030020 vma 0x3f400020 len 0x2848 (10312) > total segments stored 6 > > NuttShell (NSH) NuttX-12.7.0 > nsh> uname -a > NuttX 12.7.0 10e44f8915-dirty Oct 4 2024 22:22:13 xtensa esp32-devkitc > nsh> free > total used free maxused maxfree nused > nfree > Umem: 323568 6424 317144 6800 186696 22 > 3 > > > I found problem with esptool 4.7.0 (system wide on FreeBSD) no error > is found, firmware is built and flashed, but no NSH prompt shows up > :-( > > > % gmake clean distclean > > > % /usr/bin/time -h ./tools/configure.sh -B esp32-devkitc:nsh > 3,89s real 1,77s user 2,41s sys > > % /usr/bin/time -h gmake -j8 > Create version.h > Cloning Espressif HAL for 3rd Party Platforms > Clone: chip/esp-hal-3rdparty LN: platform/board to > /XXX/nuttx-apps.git/platform/dummy > Register: nsh > Register: sh > Espressif HAL for 3rd Party Platforms: > 20690e67695f0a8170a19ec99e2e9a13b620e94d > CPP: > /XXX/nuttx.git/arch/xtensa/src/chip/esp-hal-3rdparty/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld-> > > /XXX/nuttx.git/arch/xtensa/src/chip/esp-hal-3rdparty/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld.tmp > LD: nuttx > CP: nuttx.hex > MKIMAGE: ESP32 binary > esptool.py -c esp32 elf2image --ram-only-header -fs 4MB -fm dio -ff > 40m -o nuttx.bin nuttx > esptool.py v4.7.0 > Creating esp32 image... > ROM segments hidden - only RAM segments are visible to the ROM loader! > Merged 1 ELF section > Successfully created esp32 image. > Generated: nuttx.bin > 39,74s real 1m31,54s user 1m2,00s sys > > % /usr/bin/time -h gmake flash > CPP: > /XXX/nuttx.git/arch/xtensa/src/chip/esp-hal-3rdparty/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld-> > > /XXX/nuttx.git/arch/xtensa/src/chip/esp-hal-3rdparty/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld.tmpLD: > nuttx > CP: nuttx.hex > MKIMAGE: ESP32 binary > esptool.py -c esp32 elf2image --ram-only-header -fs 4MB -fm dio -ff > 40m -o nuttx.bin nuttx > esptool.py v4.7.0 > Creating esp32 image... > ROM segments hidden - only RAM segments are visible to the ROM loader! > Merged 1 ELF section > Successfully created esp32 image. > Generated: nuttx.bin > esptool.py -c esp32 -p /dev/cuaU0 -b 115200 write_flash -fs detect > -fm dio -ff 40m 0x1000 nuttx.bin > esptool.py v4.7.0 > Serial port /dev/cuaU0 > Connecting......... > Chip is ESP32-D0WD-V3 (revision v3.0) > Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, > Coding Scheme None > Crystal is 40MHz > MAC: 8c:4b:14:81:0b:ec > Uploading stub... > Running stub... > Stub running... > Configuring flash size... > Auto-detected Flash size: 4MB > Flash will be erased from 0x00001000 to 0x00033fff... > Compressed 206984 bytes to 72429... > Wrote 206984 bytes (72429 compressed) at 0x00001000 in 6.7 seconds > (effective 247.0 kbit/s)... > Hash of data verified. > > Leaving... > Hard resetting via RTS pin... > 15,25s real 3,07s user 3,17s sys > > > % cu -l /dev/cuaU0 -s 115200 > Connected > ets Jul 29 2019 12:21:46 > > rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) > configsip: 0, SPIWP:0xee > clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 > mode:DIO, clock div:2 > load:0x3ffb1f40,len:1388 > ho 0 tail 12 room 4 > load:0x40080000,len:20320 > entry 0x40082650 > *** Booting NuttX *** > dram: lma 0x00001020 vma 0x3ffb1f40 len 0x56c (1388) > iram: lma 0x00001594 vma 0x40080000 len 0x4f60 (20320) > padd: lma 0x00006508 vma 0x00000000 len 0xaaf0 (43760) > imap: lma 0x00011000 vma 0x400e0000 len 0x10d78 (68984) > padd: lma 0x00021d80 vma 0x00000000 len 0xf298 (62104) > dmap: lma 0x00031020 vma 0x3f400020 len 0x2848 (10312) > total segments stored 6 > > >>> NO NSH HERE DEVICE HANGS <<< > > > Lets try with the CoreMark: > > % gmake clean distclean > > % /usr/bin/time -h ./tools/configure.sh -B esp32-devkitc:coremark > 3,93s real 1,73s user 2,46s sys > > % /usr/bin/time -h gmake -j8 > 42,46s real 1m35,59s user 1m0,58s sys > > % /usr/bin/time -h gmake flash > 13,78s real 2,69s user 2,63s sys > > % cu -l /dev/cuaU0 -s 115200 > Connected > ets Jul 29 2019 12:21:46 > > rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) > configsip: 0, SPIWP:0xee > clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 > mode:DIO, clock div:2 > load:0x3ffb30a0,len:2016 > load:0x40080000,len:30100 > entry 0x40083940 > *** Booting NuttX *** > dram: lma 0x00001020 vma 0x3ffb30a0 len 0x7e0 (2016) > iram: lma 0x00001808 vma 0x40080000 len 0x7594 (30100) > padd: lma 0x00008da8 vma 0x00000000 len 0x8250 (33360) > imap: lma 0x00011000 vma 0x400e0000 len 0xde14 (56852) > padd: lma 0x0001ee1c vma 0x00000000 len 0x21fc (8700) > dmap: lma 0x00021020 vma 0x3f400020 len 0x14fc (5372) > total segments stored 6 > > >>> COREMARK DOES NOT RUN <<< > > > Looks like default Python switched from 3.9 to 3.11. Reinstalled > py311-esptool system package. > > % gmake clean distclean > > % /usr/bin/time -h ./tools/configure.sh -B esp32-devkitc:coremark > 3,91s real 1,90s user 2,30s sys > > % /usr/bin/time -h gmake -j8 > Create version.h > Cloning Espressif HAL for 3rd Party Platforms > Clone: chip/esp-hal-3rdparty LN: platform/board to > /XXX/nuttx-apps.git/platform/dummy > Downloading: https://github.com/eembc/coremark/archive/main.zip > % Total % Received % Xferd Average Speed Time Time Time > Current > Dload Upload Total Spent Left > Speed > 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- > 0 > 100 475k 0 475k 0 0 621k 0 --:--:-- --:--:-- --:--:-- > 621k > Unpacking: main.zip -> coremark > Hmm... Looks like a unified diff to me... > The text leading up to this was: > -------------------------- > |--- coremark/posix/core_portme.c > |+++ coremark/posix/core_portme.c > -------------------------- > Patching file coremark/posix/core_portme.c using Plan A... > Hunk #1 succeeded at 208. > done > Register: coremark > Espressif HAL for 3rd Party Platforms: > 20690e67695f0a8170a19ec99e2e9a13b620e94d > CPP: > /XXX/nuttx.git/arch/xtensa/src/chip/esp-hal-3rdparty/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld-> > > /XXX/nuttx.git/arch/xtensa/src/chip/esp-hal-3rdparty/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld.tmpLD: > nuttx > CP: nuttx.hex > MKIMAGE: ESP32 binary > esptool.py -c esp32 elf2image --ram-only-header -fs 4MB -fm dio -ff > 40m -o nuttx.bin nuttx > esptool.py v4.7.0 > Creating esp32 image... > ROM segments hidden - only RAM segments are visible to the ROM loader! > Merged 1 ELF section > Successfully created esp32 image. > Generated: nuttx.bin > 39,75s real 1m34,74s user 1m0,86s sys > > > % /usr/bin/time -h gmake flash > CPP: > /XXX/nuttx.git/arch/xtensa/src/chip/esp-hal-3rdparty/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld-> > > /XXX/nuttx.git/arch/xtensa/src/chip/esp-hal-3rdparty/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld.tmpLD: > nuttx > CP: nuttx.hex > MKIMAGE: ESP32 binary > esptool.py -c esp32 elf2image --ram-only-header -fs 4MB -fm dio -ff > 40m -o nuttx.bin nuttx > esptool.py v4.7.0 > Creating esp32 image... > ROM segments hidden - only RAM segments are visible to the ROM loader! > Merged 1 ELF section > Successfully created esp32 image. > Generated: nuttx.bin > esptool.py -c esp32 -p /dev/cuaU0 -b 115200 write_flash -fs detect > -fm dio -ff 40m 0x1000 nuttx.bin > esptool.py v4.7.0 > Serial port /dev/cuaU0 > Connecting.......... > Chip is ESP32-D0WD-V3 (revision v3.0) > Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, > Coding Scheme None > Crystal is 40MHz > MAC: 8c:4b:14:81:0b:ec > Uploading stub... > Running stub... > Stub running... > Configuring flash size... > Auto-detected Flash size: 4MB > Flash will be erased from 0x00001000 to 0x00022fff... > Compressed 136508 bytes to 66615... > Wrote 136508 bytes (66615 compressed) at 0x00001000 in 6.0 seconds > (effective 183.4 kbit/s)... > Hash of data verified. > > Leaving... > Hard resetting via RTS pin... > 13,63s real 2,50s user 2,81s sys > > % cu -l /dev/cuaU0 -s 115200 > Connected > ts Jul 29 2019 12:21:46 > > rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) > configsip: 0, SPIWP:0xee > clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 > mode:DIO, clock div:2 > load:0x3ffb30a0,len:2016 > load:0x40080000,len:30100 > entry 0x40083940 > *** Booting NuttX *** > dram: lma 0x00001020 vma 0x3ffb30a0 len 0x7e0 (2016) > iram: lma 0x00001808 vma 0x40080000 len 0x7594 (30100) > padd: lma 0x00008da8 vma 0x00000000 len 0x8250 (33360) > imap: lma 0x00011000 vma 0x400e0000 len 0xde14 (56852) > padd: lma 0x0001ee1c vma 0x00000000 len 0x21fc (8700) > dmap: lma 0x00021020 vma 0x3f400020 len 0x14fc (5372) > total segments stored 6 > > >>> COREMARK DOES NOT RUN HERE TOO <<< > > > Looking at the history this commit seems to enforce esptool 4.8 to fix > the CI builds, but our build system for ESP32 does not check or alert > if previous versions are present thus building faulty firmware with no > error! > > commit 457f9d3dce45affd5f26da9d6369494709ff2314 > Author: Almir Okato <almir.ok...@espressif.com> > Date: Thu Jul 4 11:46:00 2024 +0200 > > ci: update required esptool version to 4.8.dev4 > > This esptool version is required when building the > default Simple Boot for Espressif chips. > > Signed-off-by: Almir Okato <almir.ok...@espressif.com> > > > > > > > === ESP32-C3 === > > % riscv32-esp-elf-gcc -v > Using built-in specs. > COLLECT_GCC=riscv32-esp-elf-gcc > > COLLECT_LTO_WRAPPER=/XXX/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch5-8.4.0/riscv32-esp-elf/bin/../libexec/gcc/riscv32-esp-elf/8.4.0/lto-wrapper > Target: riscv32-esp-elf > Configured with: > /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure > --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu > --target=riscv32-esp-elf > --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf > --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf > > --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf > > --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include > --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc > --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-2021r2-patch5' > --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections > --disable-libgomp --disable-libmudflap --disable-libmpx > --disable-libssp --disable-libquadmath --disable-libquadmath-support > --disable-libstdcxx-verbose > --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools > --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools > --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools > --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools > --enable-lto --enable-target-optspace --without-long-double-128 > --disable-nls --enable-multiarch --enable-languages=c,c++ > --disable-libstdcxx-verbose --enable-threads=posix > --enable-gcov-custom-rtio --enable-libstdcxx-time=yes > Thread model: posix > gcc version 8.4.0 (crosstool-NG esp-2021r2-patch5) > > > % gmake clean distclean > > % /usr/bin/time -h ./tools/configure.sh -B esp32c3-devkit:nsh > 4,07s real 1,86s user 2,38s sys > > % /usr/bin/time -h gmake -j8 CROSSDEV=riscv32-esp-elf- > Create version.h > LN: platform/board to /XXX/nuttx-apps.git/platform/dummy > Register: nsh > Register: sh > Register: dumpstack > LD: nuttx > CP: nuttx.hex > MKIMAGE: ESP32-C3 binary > esptool.py -c esp32c3 elf2image -fs 4MB -fm dio -ff 40m -o nuttx.bin nuttx > esptool.py v4.7.0 > Creating esp32c3 image... > Merged 1 ELF section > Successfully created esp32c3 image. > Generated: nuttx.bin (ESP32-C3 compatible) > 34,55s real 1m18,50s user 59,23s sys > > % /usr/bin/time -h gmake flash CROSSDEV=riscv32-esp-elf- > LD: nuttx > CP: nuttx.hex > MKIMAGE: ESP32-C3 binary > esptool.py -c esp32c3 elf2image -fs 4MB -fm dio -ff 40m -o nuttx.bin nuttx > esptool.py v4.7.0 > Creating esp32c3 image... > Merged 1 ELF section > Successfully created esp32c3 image. > Generated: nuttx.bin (ESP32-C3 compatible) > esptool.py -c esp32c3 -p /dev/cuaU0 -b 115200 write_flash -fs 4MB > -fm dio -ff 40m 0x10000 nuttx.bin > esptool.py v4.7.0 > Serial port /dev/cuaU0 > Connecting......... > Chip is ESP32-C3 (QFN32) (revision v0.3) > Features: WiFi, BLE > Crystal is 40MHz > MAC: 7c:df:a1:b1:58:00 > Uploading stub... > Running stub... > Stub running... > Configuring flash size... > Flash will be erased from 0x00010000 to 0x00035fff... > Compressed 155424 bytes to 69417... > Wrote 155424 bytes (69417 compressed) at 0x00010000 in 6.3 seconds > (effective 198.2 kbit/s)... > Hash of data verified. > > Leaving... > Hard resetting via RTS pin... > 22,98s real 6,66s user 11,54s sys > > > % cu -l /dev/cuaU0 -s 115200 > Connected > ESP-ROM:esp32c3-api1-20210207 > Build:Feb 7 2021 > rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT) > SPIWP:0xee > mode:DIO, clock div:1 > load:0x3fcd5820,len:0x16c0 > load:0x403cc710,len:0x87c > load:0x403ce710,len:0x2f54 > entry 0x403cc710 > I (30) boot: ESP-IDF v5.1-dev-3972-g1559b6309f 2nd stage bootloader > I (30) boot: compile time Mar 15 2023 12:14:06 > I (31) boot: chip revision: v0.3 > I (35) boot.esp32c3: SPI Speed : 80MHz > I (40) boot.esp32c3: SPI Mode : DIO > I (44) boot.esp32c3: SPI Flash Size : 4MB > I (49) boot: Enabling RNG early entropy source... > I (54) boot: Partition Table: > I (58) boot: ## Label Usage Type ST Offset Length > I (65) boot: 0 factory factory app 00 00 00010000 00100000 > I (73) boot: End of partition table > I (77) esp_image: segment 0: paddr=00010020 vaddr=3c020020 size=039a0h > ( 14752) map > I (88) esp_image: segment 1: paddr=000139c8 vaddr=3fc81a70 size=00200h > ( 512) load > I (94) esp_image: segment 2: paddr=00013bd0 vaddr=40380000 size=01a64h > ( 6756) load > I (103) esp_image: segment 3: paddr=0001563c vaddr=00000000 size=0aabch ( > 43708) > I (117) esp_image: segment 4: paddr=00020100 vaddr=42000100 > size=15df8h ( 89592) map > I (133) boot: Loaded app from partition at offset 0x10000 > I (133) boot: Disabling RNG early entropy source... > > NuttShell (NSH) NuttX-12.7.0 > nsh> uname -a > NuttX 12.7.0 10e44f8915-dirty Oct 4 2024 23:04:21 risc-v esp32c3-devkit > nsh> free > total used free maxused maxfree nused > nfree > Umem: 373820 5364 368456 5720 368456 19 > 1 > > > % gmake clean distclean CROSSDEV=riscv32-esp-elf- > > % /usr/bin/time -h ./tools/configure.sh -B esp32c3-devkit:coremark > 3,97s real 2,16s user 2,09s sys > > % /usr/bin/time -h gmake -j8 CROSSDEV=riscv32-esp-elf- > 32,35s real 1m11,61s user 55,55s sys > > % /usr/bin/time -h gmake flash CROSSDEV=riscv32-esp-elf- > 20,03s real 5,94s user 11,38s sys > > % cu -l /dev/cuaU0 -s 115200 > Connected > ESP-ROM:esp32c3-api1-20210207 > Build:Feb 7 2021 > rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT) > SPIWP:0xee > mode:DIO, clock div:1 > load:0x3fcd5820,len:0x16c0 > load:0x403cc710,len:0x87c > load:0x403ce710,len:0x2f54 > entry 0x403cc710 > I (30) boot: ESP-IDF v5.1-dev-3972-g1559b6309f 2nd stage bootloader > I (30) boot: compile time Mar 15 2023 12:14:06 > I (31) boot: chip revision: v0.3 > I (35) boot.esp32c3: SPI Speed : 80MHz > I (40) boot.esp32c3: SPI Mode : DIO > I (44) boot.esp32c3: SPI Flash Size : 4MB > I (49) boot: Enabling RNG early entropy source... > I (54) boot: Partition Table: > I (58) boot: ## Label Usage Type ST Offset Length > I (65) boot: 0 factory factory app 00 00 00010000 00100000 > I (73) boot: End of partition table > I (77) esp_image: segment 0: paddr=00010020 vaddr=3c010020 size=00bd0h > ( 3024) map > I (86) esp_image: segment 1: paddr=00010bf8 vaddr=3fc81e10 size=0015ch > ( 348) load > I (94) esp_image: segment 2: paddr=00010d5c vaddr=40380000 size=01e0ch > ( 7692) load > I (104) esp_image: segment 3: paddr=00012b70 vaddr=00000000 size=0d588h ( > 54664) > I (119) esp_image: segment 4: paddr=00020100 vaddr=42000100 > size=0db60h ( 56160) map > I (128) boot: Loaded app from partition at offset 0x10000 > I (128) boot: Disabling RNG early entropy source... > Running CoreMark... > 2K performance run parameters for coremark. > CoreMark Size : 666 > Total ticks : 1472 > Total time (secs): 14.720000 > Iterations/Sec : 407.608696 > Iterations : 6000 > Compiler version : GCC8.4.0 > Compiler flags : -O3 -fno-strict-aliasing -fomit-frame-pointer > -ffunction-sections -fdata-sections -nostdlib > Memory location : HEAP > seedcrc : 0xe9f5 > [0]crclist : 0xe714 > [0]crcmatrix : 0x1fd7 > [0]crcstate : 0x8e3a > [0]crcfinal : 0xa14c > Correct operation validated. See README.md for run and reporting rules. > CoreMark 1.0 : 407.608696 / GCC8.4.0 -O3 -fno-strict-aliasing > -fomit-frame-pointer -ffunction-sections -fdata-sections -nostdlib / > HEAP > > % gmake clean distclean CROSSDEV=riscv32-esp-elf- > > > > > > > === STM32F769I-DISCO === > > This is my first play with NuttX on that board.. I can also verify > flashing instructions :-) > > % arm-none-eabi-gcc --version > arm-none-eabi-gcc (GNU Arm Embedded Toolchain ) 10.3.1 20210824 (release) > Copyright (C) 2020 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > % ./tools/configure.sh -B stm32f769i-disco:nsh > 4,14s real 1,98s user 2,46s sys > > % /usr/bin/time -h gmake -j8 > 40,20s real 3m14,54s user 39,11s sys > > % /usr/bin/time -h gmake flash > LD: nuttx > CP: nuttx.hex > CP: nuttx.bin > 5,02s real 2,51s user 2,82s sys > > % openocd -f interface/stlink.cfg -f target/stm32f7x.cfg -c 'program > nuttx.bin 0x08000000; reset run; exit' > Open On-Chip Debugger 0.12.0 > Licensed under GNU GPL v2 > For bug reports, read > http://openocd.org/doc/doxygen/bugs.html > Info : auto-selecting first available session transport "hla_swd". To > override use 'transport select <transport>'. > Info : The selected transport took over low-level target control. The > results might differ compared to plain JTAG/SWD > Info : clock speed 2000 kHz > Info : STLINK V2J27M15 (API v2) VID:PID 0483:374B > Info : Target voltage: 3.221551 > Info : [stm32f7x.cpu] Cortex-M7 r1p0 processor detected > Info : [stm32f7x.cpu] target has 8 breakpoints, 4 watchpoints > Info : starting gdb server for stm32f7x.cpu on 3333 > Info : Listening on port 3333 for gdb connections > Info : Unable to match requested speed 2000 kHz, using 1800 kHz > Info : Unable to match requested speed 2000 kHz, using 1800 kHz > [stm32f7x.cpu] halted due to debug-request, current mode: Thread > xPSR: 0x01000000 pc: 0x0800037c msp: 0x20021928 > Info : Unable to match requested speed 8000 kHz, using 4000 kHz > Info : Unable to match requested speed 8000 kHz, using 4000 kHz > ** Programming Started ** > Info : device id = 0x10006451 > Info : flash size = 2048 KiB > Info : Single Bank 2048 kiB STM32F76x/77x found > ** Programming Finished ** > Info : Unable to match requested speed 2000 kHz, using 1800 kHz > Info : Unable to match requested speed 2000 kHz, using 1800 kHz > > % cu -l /dev/cuaU0 -s 115200 > Connected > $$$08170221053F680F3A7BF125 > NuttShell (NSH) NuttX-12.7.0 > nsh> uname -a > NuttX 12.7.0 10e44f8915-dirty Oct 4 2024 23:25:59 arm stm32f769i-disco > nsh> free > nsh: free: command not found > nsh> help > help usage: help [-v] [<cmd>] > > . cd exit mkrd sleep unset > [ cp expr mount source uptime > ? cmp false mv test usleep > alias dirname help printf time xd > unalias dd hexdump pwd true > basename dmesg kill rm truncate > break echo ls rmdir uname > cat exec mkdir set umount > > Builtin Apps: > nsh sh > > > % gmake clean distclean > > % /usr/bin/time -h ./tools/configure.sh -B stm32f769i-disco:netnsh > 4,11s real 1,92s user 2,50s sys > > % /usr/bin/time -h gmake -j8 > 53,49s real 4m24,31s user 49,74s sys > > % /usr/bin/time -h gmake flash > 6,33s real 2,93s user 3,73s sys > > % openocd -f interface/stlink.cfg -f target/stm32f7x.cfg -c 'program > nuttx.bin 0x08000000; reset run; exit' > Open On-Chip Debugger 0.12.0 > Licensed under GNU GPL v2 > For bug reports, read > http://openocd.org/doc/doxygen/bugs.html > Info : auto-selecting first available session transport "hla_swd". To > override use 'transport select <transport>'. > Info : The selected transport took over low-level target control. The > results might differ compared to plain JTAG/SWD > Info : clock speed 2000 kHz > Info : STLINK V2J27M15 (API v2) VID:PID 0483:374B > Info : Target voltage: 3.221551 > Info : [stm32f7x.cpu] Cortex-M7 r1p0 processor detected > Info : [stm32f7x.cpu] target has 8 breakpoints, 4 watchpoints > Info : starting gdb server for stm32f7x.cpu on 3333 > Info : Listening on port 3333 for gdb connections > Info : Unable to match requested speed 2000 kHz, using 1800 kHz > Info : Unable to match requested speed 2000 kHz, using 1800 kHz > [stm32f7x.cpu] halted due to debug-request, current mode: Thread > xPSR: 0x01000000 pc: 0x0800037c msp: 0x20021928 > Info : Unable to match requested speed 8000 kHz, using 4000 kHz > Info : Unable to match requested speed 8000 kHz, using 4000 kHz > ** Programming Started ** > Info : device id = 0x10006451 > Info : flash size = 2048 KiB > Info : Single Bank 2048 kiB STM32F76x/77x found > ** Programming Finished ** > Info : Unable to match requested speed 2000 kHz, using 1800 kHz > Info : Unable to match requested speed 2000 kHz, using 1800 kHz > > > % cu -l /dev/cuaU0 -s 115200 > Connected > $$$08170221053F680F3A7BF125 > NuttShell (NSH) NuttX-12.7.0 > No MOTD string provided > nsh> > nsh> uname -a > NuttX stntest 12.7.0 10e44f8915-dirty Oct 4 2024 23:32:10 arm > stm32f769i-disco > nsh> help > help usage: help [-v] [<cmd>] > > . cd exec kill printf time > [ cp exit pkill ps true > ? cmp expr ls pwd truncate > alias dirname false mkdir rm uname > unalias dd fdinfo mkrd rmdir umount > arp df free mount set unset > basename dmesg help mv sleep uptime > break echo hexdump nslookup source usleep > cat env ifconfig pidof test xd > > Builtin Apps: > nsh ping renew sh > > nsh> ifconfig > eth0 Link encap:Ethernet HWaddr ea:db:b5:7a:ff:e4 at UP mtu 1486 > inet addr:10.0.0.2 DRaddr:10.0.0.1 Mask:255.255.255.0 > > IPv4 TCP UDP ICMP > Received 0004 0000 0004 0000 > Dropped 0000 0000 0000 0000 > IPv4 VHL: 0000 Frg: 0000 > Checksum 0000 0000 0000 ---- > TCP ACK: 0000 SYN: 0000 > RST: 0000 0000 > Type 0000 ---- ---- 0000 > Sent 0000 0000 0000 0000 > Rexmit ---- 0000 ---- ---- > > > nsh> ifconfig eth0 dhcp > >>> HANGS, NEED RESET <<< > > nsh> renew eth0 > >>> HANGS, NEED RESET <<< > > nsh> ifconfig eth0 XXX.150 > nsh> ifconfig > eth0 Link encap:Ethernet HWaddr ea:db:b5:7a:ff:e4 at UP mtu 1486 > inet addr:XXX.150 DRaddr:XXX.1 Mask:255.255.255.0 > > IPv4 TCP UDP ICMP > Received 0003 0000 0003 0000 > Dropped 0000 0000 0000 0000 > IPv4 VHL: 0000 Frg: 0000 > Checksum 0000 0000 0000 ---- > TCP ACK: 0000 SYN: 0000 > RST: 0000 0000 > Type 0000 ---- ---- 0000 > Sent 0000 0000 0000 0000 > Rexmit ---- 0000 ---- ---- > nsh> ping XXX.1 > PING XXX.1 56 bytes of data > 56 bytes from XXX.1: icmp_seq=0 time=0.0 ms > ... > 56 bytes from XXX.1: icmp_seq=9 time=0.0 ms > 10 packets transmitted, 10 received, 0% packet loss, time 10100 ms > rtt min/avg/max/mdev = 0.000/0.000/0.000/0.000 ms > > Okay we have a quite powerful hardware lets run some benchmarks on it :-) > > BUG: Looks like SPINLOCK benchmark has broken dependencies. > > % gmake -j8 > LD: nuttx > CP: nuttx.hex > CP: nuttx.bin > octagon% gmake flash > LD: nuttx > CP: nuttx.hex > CP: nuttx.bin > > % cu -l /dev/cuaU0 -s 115200 > > nsh> uname -a > NuttX stntest 12.7.0 10e44f8915-dirty Oct 4 2024 23:50:23 arm > stm32f769i-disco > > nsh> free > total used free maxused maxfree nused > nfree > Umem: 474288 10144 464144 13192 326328 30 > 5 > nsh> help > help usage: help [-v] [<cmd>] > > . cd exec kill printf time > [ cp exit pkill ps true > ? cmp expr ls pwd truncate > alias dirname false mkdir rm uname > unalias dd fdinfo mkrd rmdir umount > arp df free mount set unset > basename dmesg help mv sleep uptime > break echo hexdump nslookup source usleep > cat env ifconfig pidof test xd > > Builtin Apps: > coremark pi_css5 ramspeed > dhrystone ping renew > nsh radix2_big_64k sh > > nsh> coremark > Running CoreMark... > 2K performance run parameters for coremark. > CoreMark Size : 666 > Total ticks : 1772 > Total time (secs): 17.720000 > Iterations/Sec : 620.767494 > Iterations : 11000 > Compiler version : GCC10.3.1 20210824 (release) > Compiler flags : -Os -fno-strict-aliasing -fomit-frame-pointer > -fno-common -Wall -Wshadow -Wundef -ffunction-sections -fdata-sections > Memory location : HEAP > seedcrc : 0xe9f5 > [0]crclist : 0xe714 > [0]crcmatrix : 0x1fd7 > [0]crcstate : 0x8e3a > [0]crcfinal : 0x33ff > Correct operation validated. See README.md for run and reporting rules. > CoreMark 1.0 : 620.767494 / GCC10.3.1 20210824 (release) -Os > -fno-strict-aliasing -fomit-frame-pointer -fno-common -Wall -Wshadow > -Wundef -ffunction-sections -fdata-sections / HEAP > > nsh> dhrystone > > Dhrystone Benchmark, Version C, Version 2.2 > Program compiled without 'register' attribute > Using MSC clock(), HZ=100 > > Trying 50000 runs through Dhrystone: > Measured time too small to obtain meaningful results > > Trying 500000 runs through Dhrystone: > Measured time too small to obtain meaningful results > > Trying 5000000 runs through Dhrystone: > Final values of the variables used in the benchmark: > > Int_Glob: 5 > should be: 5 > Bool_Glob: 1 > should be: 1 > Ch_1_Glob: A > should be: A > Ch_2_Glob: B > should be: B > Arr_1_Glob[8]: 7 > should be: 7 > Arr_2_Glob[8][7]: 5550010 > should be: Number_Of_Runs + 10 > Ptr_Glob-> > Ptr_Comp: 537385352 > should be: (implementation-dependent) > Discr: 0 > should be: 0 > Enum_Comp: 2 > should be: 2 > Int_Comp: 17 > should be: 17 > Str_Comp: DHRYSTONE PROGRAM, SOME STRING > should be: DHRYSTONE PROGRAM, SOME STRING > Next_Ptr_Glob-> > Ptr_Comp: 537385352 > should be: (implementation-dependent), same as above > Discr: 0 > should be: 0 > Enum_Comp: 1 > should be: 1 > Int_Comp: 18 > should be: 18 > Str_Comp: DHRYSTONE PROGRAM, SOME STRING > should be: DHRYSTONE PROGRAM, SOME STRING > Int_1_Loc: 5 > should be: 5 > Int_2_Loc: 13 > should be: 13 > Int_3_Loc: 7 > should be: 7 > Enum_Loc: 1 > should be: 1 > Str_1_Loc: DHRYSTONE PROGRAM, 1'ST STRING > should be: DHRYSTONE PROGRAM, 1'ST STRING > Str_2_Loc: DHRYSTONE PROGRAM, 2'ND STRING > should be: DHRYSTONE PROGRAM, 2'ND STRING > > Microseconds for one run through Dhrystone: 2.3 > Dhrystones per Second: 441306 > > > nsh> pi_css5 > Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave > > Usage: pi_css5 digits > > Number of digits of pi to calculate? > 1000000000 > initializing... > Allocation Failure! > nsh> > nsh> pi_css5 > Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave > > Usage: pi_css5 digits > > Number of digits of pi to calculate? > 1000000 > initializing... > Allocation Failure! > nsh> pi_css5 > Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave > > Usage: pi_css5 digits > > Number of digits of pi to calculate? > 65535 > initializing... > Allocation Failure! > nsh> pi_css5 > Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave > > Usage: pi_css5 digits > > Number of digits of pi to calculate? > 12345 > initializing... > Allocation Failure! > nsh> pi_css5 > Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave > > Usage: pi_css5 digits > > Number of digits of pi to calculate? > 123 > initializing... > nfft= 32 > radi_assert: Current Version: NuttX stntest 12.7.0 10e44f8915-dirty > Oct 4 2024 23:50:23 arm > _assert: Assertion failed panic: at file: :0 task: 0x801bda1 > up_dump_register: R0: 00000004 R1: 00000000 R2: 00000000 R3: 00000000 > up_dump_register: R4: 00000004 R5: 00000033 R6: 2007d9f8 FP: 2007dae8 > up_dump_register: R8: 2007da48 SB: 2007da98 SL: 2007f0e0 R11: 2007f0e1 > up_dump_register: IP: 2007db58 SP: 2007ef10 LR: 080089d9 PC: 080088f8 > up_dump_register: xPSR: 01000000 PRIMASK: 00000000 CONTROL: 00000000 > up_dump_register: EXC_RETURN: ffffffe9 > dump_stack: User Stack: > dump_stack: base: 0x2007e858 > dump_stack: size: 00002016 > dump_stack: sp: 0x2007ef10 > stack_dump: 0x2007eef0: 00000000 3fe00000 00000000 00000000 00000000 > 00000000 80000010 00000000 > stack_dump: 0x2007ef10: 00000004 080089d9 00000000 08029735 00000000 > 00000000 00000000 0801c359 > stack_dump: 0x2007ef30: 2007d9f8 2007f040 00000020 2007f0e0 2007f1f8 > 2007f310 2007f040 2007f1f8 > stack_dump: 0x2007ef50: 00000000 00000000 2007f090 2007f310 00000001 > 0000000b 00000020 32316970 > stack_dump: 0x2007ef70: 78742e38 00000074 00000000 00000000 00000000 > 00000000 00000004 ffffffe9 > stack_dump: 0x2007ef90: 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > stack_dump: 0x2007efb0: 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > stack_dump: 0x2007efd0: 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > stack_dump: 0x2007eff0: 00000000 0801bda1 2007d588 00000000 00000000 > 00000000 00000000 00000000 > stack_dump: 0x2007f010: 00000000 08008b1d 2007e848 00000001 2007e848 > 08005cd9 00000000 00000000 > stack_dump: 0x2007f030: 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > dump_tasks: PID GROUP PRI POLICY TYPE NPX STATE EVENT > SIGMASK STACKBASE STACKSIZE COMMAND > dump_task: 0 0 0 FIFO Kthread - Ready > 0000000000000000 0x2002bf5c 1008 <noname> > dump_task: 1 0 224 RR Kthread - Waiting Semaphore > 0000000000000000 0x2007c238 1984 <noname> 0x200201a4 0x200201c8 > dump_task: 2 0 100 RR Kthread - Waiting Semaphore > 0000000000000000 0x2007cae8 1984 <noname> 0x200201dc 0x20020200 > dump_task: 4 4 100 RR Task - Waiting Semaphore > 0000000000000000 0x2007e058 2008 <noname> > dump_task: 12 12 100 RR Task - Running > 0000000000000000 0x2007e858 2016 <noname> > > heh =) > > nsh> pi_css5 > Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave > > Usage: pi_css5 digits > > Number of digits of pi to calculate? > 4 > initi_assert: Current Version: NuttX stntest 12.7.0 10e44f8915-dirty > Oct 4 2024 23:50:23 arm > _assert: Assertion failed panic: at file: :0 task: 0x801bda1 > up_dump_register: R0: 00000004 R1: 00000000 R2: 00000000 R3: 00000000 > up_dump_register: R4: 00000004 R5: 00000033 R6: 2007d968 FP: 2007d9b0 > up_dump_register: R8: 2007d980 SB: 2007d998 SL: 2007d9f8 R11: 2007d9f9 > up_dump_register: IP: 2007db58 SP: 2007ef10 LR: 080089d9 PC: 080088f8 > up_dump_register: xPSR: 01000000 PRIMASK: 00000000 CONTROL: 00000000 > up_dump_register: EXC_RETURN: ffffffe9 > dump_stack: User Stack: > dump_stack: base: 0x2007e858 > dump_stack: size: 00002016 > dump_stack: sp: 0x2007ef10 > stack_dump: 0x2007eef0: 00000000 3fe00000 00000000 00000000 00000000 > 00000000 80000010 00000000 > stack_dump: 0x2007ef10: 00000004 080089d9 00000000 08029735 00000000 > 00000000 00000000 0801c359 > stack_dump: 0x2007ef30: 2007d968 2007d9c8 00000002 2007d9f8 2007da20 > 2007da48 2007d9c8 2007da20 > stack_dump: 0x2007ef50: 00000000 00000000 2007d9e0 2007da48 00000001 > 00000003 00000002 2e386970 > stack_dump: 0x2007ef70: 00747874 00000000 00000000 00000000 00000000 > 00000000 00000004 ffffffe9 > stack_dump: 0x2007ef90: 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > stack_dump: 0x2007efb0: 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > stack_dump: 0x2007efd0: 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > stack_dump: 0x2007eff0: 00000000 0801bda1 2007d588 00000000 00000000 > 00000000 00000000 00000000 > stack_dump: 0x2007f010: 00000000 08008b1d 2007e848 00000001 2007e848 > 08005cd9 00000000 00000000 > stack_dump: 0x2007f030: 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > dump_tasks: PID GROUP PRI POLICY TYPE NPX STATE EVENT > SIGMASK STACKBASE STACKSIZE COMMAND > dump_task: 0 0 0 FIFO Kthread - Ready > 0000000000000000 0x2002bf5c 1008 <noname> > dump_task: 1 0 224 RR Kthread - Waiting Semaphore > 0000000000000000 0x2007c238 1984 <noname> 0x200201a4 0x200201c8 > dump_task: 2 0 100 RR Kthread - Waiting Semaphore > 0000000000000000 0x2007cae8 1984 <noname> 0x200201dc 0x20020200 > dump_task: 4 4 100 RR Task - Waiting Semaphore > 0000000000000000 0x2007e058 2008 <noname> > dump_task: 5 5 100 RR Task - Running > 0000000000000000 0x2007e858 2016 <noname> > > BROKEN :-) > > nsh> radix2_big_64k > Malloc Failed from coremark-pro/mith/src/th_rand.c:241! > > BROKEN :-) > > % gmake clean distclean > > % ./tools/configure.sh -B stm32f769i-disco:nsh > > gmake menuconfig -> add apps / testing / ostest > > gmake -j8 > gmake flash > > % openocd -f interface/stlink.cfg -f target/stm32f7x.cfg -c 'program > nuttx.bin 0x08000000; reset run; exit' > > % cu -l /dev/cuaU0 -s 115200 > > nsh> uname -a > NuttX 12.7.0 10e44f8915-dirty Oct 5 2024 00:02:28 arm stm32f769i-disco > > nsh> ostest > (..) > user_main: vfork() test > vfork_test: Child 69 ran successfully > > Final memory usage: > VARIABLE BEFORE AFTER > ======== ======== ======== > arena 7dcbc 7dcbc > ordblks 3 6 > mxordblk 59ad0 59ad0 > uordblks 4244 69a4 > fordblks 79a78 77318 > user_main: Exiting > ostest_main: Exiting with status 0 > > Looks like memory usage before and after seems to differ that confirms > the memory leak? > > I wanted to use "free" command but it is not built although it is not > disabled in the config: > > nsh> free > nsh: free: command not found > > % grep CONFIG_NSH_DISABLE_FREE .config > # CONFIG_NSH_DISABLE_FREE is not set > > > Lets try again with netsh configuration that had free available and add > ostest: > > % gmake clean distclean > > % usr/bin/time -h ./tools/configure.sh -B stm32f769i-disco:netnsh > 4,24s real 1,95s user 2,60s sys > > % gmake menuconfig <- enable ostest > > % grep OSTEST .config > CONFIG_TESTING_OSTEST=y > CONFIG_TESTING_OSTEST_LOOPS=1 > CONFIG_TESTING_OSTEST_STACKSIZE=8192 > CONFIG_TESTING_OSTEST_NBARRIER_THREADS=8 > CONFIG_TESTING_OSTEST_RR_RANGE=10000 > CONFIG_TESTING_OSTEST_RR_RUNS=10 > # CONFIG_TESTING_OSTEST_FPUTESTDISABLE is not set > CONFIG_TESTING_OSTEST_FPULOOPS=16 > CONFIG_TESTING_OSTEST_FPUMSDELAY=750 > CONFIG_TESTING_OSTEST_FPUPRIORITY=100 > CONFIG_TESTING_OSTEST_FPUSTACKSIZE=2048 > CONFIG_TESTING_OSTEST_WAITRESULT=y > > > % /usr/bin/time -h gmake -j8 > 54,54s real 4m31,11s user 50,04s sys > > % gmake flash > LD: nuttx > CP: nuttx.hex > CP: nuttx.bin > > % openocd -f interface/stlink.cfg -f target/stm32f7x.cfg -c 'program > nuttx.bin 0x08000000; reset run; exit' > > % cu -l /dev/cuaU0 -s 115200 > Connected > $$$08170221053F680F3A7BF125 > nsh> uname -a > NuttX stntest 12.7.0 10e44f8915-dirty Oct 5 2024 00:43:15 arm > stm32f769i-disco > nsh> free > total used free maxused maxfree nused > nfree > Umem: 483056 10112 472944 11192 335096 29 > 4 > nsh> uname -a > NuttX stntest 12.7.0 10e44f8915-dirty Oct 5 2024 00:43:15 arm > stm32f769i-disco > nsh> free > total used free maxused maxfree nused > nfree > Umem: 483056 10112 472944 11192 335096 29 > 4 > > nsh> ostest > (..) > user_main: vfork() test > vfork_test: Child 140 ran successfully > > Final memory usage: > VARIABLE BEFORE AFTER > ======== ======== ======== > arena 75ef0 75ef0 > ordblks 4 6 > mxordblk 51cf8 51cf8 > uordblks 5500 7c68 > fordblks 709f0 6e288 > user_main: Exiting > ostest_main: Exiting with status 0 > > nsh> free > total used free maxused maxfree nused > nfree > Umem: 483056 10200 472856 49640 335096 31 > 5 > > > nsh> ostest > (..) > user_main: vfork() test > vfork_test: Child 280 ran successfully > > Final memory usage: > VARIABLE BEFORE AFTER > ======== ======== ======== > arena 75ef0 75ef0 > ordblks 4 6 > mxordblk 51cf8 51cf8 > uordblks 5560 7c68 > fordblks 70990 6e288 > user_main: Exiting > ostest_main: Exiting with status 0 > > nsh> free > total used free maxused maxfree nused > nfree > Umem: 483056 10200 472856 49728 335096 31 > 5 > > > -- > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > >