12.7 should be using LVGL 9.1. 9.1 has a specific frame buffer problem fixed in 9.2.
I have a custom SAMA5D2 board with an LCD running NuttX master and LVGL 9.2 and I will try the RC on Monday. > On 5 Oct 2024, at 10:33, Alin Jerpelea <jerpe...@gmail.com> wrote: > > Hi Tomek, > Thanks for testing and providing feedback. > > 1. There are memory leak problems reported > This is something that we should test on more boards > > 2. There are LVGL screen problems reported. > NuttX 12.7 uses LVGL 8.3.3 by default but this can be changed in the menu > > config LVGL_VERSION > string "LVGL Version" > default "8.3.3" > > 3.I have found a problem on ESP32 with esptool version 4.7 > Can be updated locally or we can include it in RC1 and restart the vote > > Considering that we have known bugs in the release that affect some boards > we have 2 options: > 1) we can stop the release and delay it for an unknown amount of time until > the bugs are fixed (in some cases for external projects) > 2) we can release and specify what are the known bugs > > https://cwiki.apache.org/confluence/display/NUTTX/NuttX+12.7.0 > > I would like to propose the second option > >> On Sat, Oct 5, 2024 at 2:00 AM 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 >> >>