Hi.

It was because the NuttX framebuffer driver *in LVGL* rendered directly to the NuttX /dev/fb0 device, causing tearing issues and artefacts. It should have had a second buffer that LVGL rendered to rather than direct to the device driver's framebuffer memory.

I raised a nuttx-apps issue here : https://github.com/apache/nuttx-apps/issues/2416

and cross-referenced here: https://github.com/apache/nuttx-apps/issues/2461

The final fix, in LVGL, was here:

https://github.com/lvgl/lvgl/pull/6580

I also had a brief discussion here about it when I was trying to understand the issues:

https://www.mail-archive.com/dev@nuttx.apache.org/msg11509.html

I never had any issues with the framebuffer example app though.

Sneak preview that I'm happy to share only here for now - as the product is still a few weeks away from launch - of what I'm doing; it works with NuttX (master) and LVGL 9.2. The file linked to is an MP4 shared from my own NAS so hopefully the link works.

http://gofile.me/2MJqt/dBf6BZgKj


Regards,

Tim.

On 07/10/2024 14:23, Tomek CEDRO wrote:
Thank you Tim could you please pinpoint the issue with LCD / FB? Anyone
with that hardware help is more than welcome!! It would be great to have
graphics working + new lvgl in upcoming release :-)

I would go:
1. test on older release known to work. just to confirm working hardware.
2. try some really basic application that draws red rectangle on red
background (something like that) just to confirm working lcd / spi / fb.
can use nxwidgets if lvgl broken.
3. review / change configuration parameters to see if this is the problem.
4. try git bisect between master head and known working configuration to
find what introduced the problem.

Thank you!! :-)

--
CeDeROM, SQ7MHZ,http://www.tomek.cedro.info

On Mon, Oct 7, 2024, 14:37 Tim Hardisty<timhardist...@gmail.com> wrote:

FYI, I tried RC0 on my SAMA5D2 custom board with no issues. My app and
LVGL demos (with LVGL V9.1 - with known issues - and V9.2) run OK as
does the FB example app, so I would think any issues are possibly
arch-specific rather than 100% down to LVGL.

I did try OSTEST but I gave up waiting for it to complete to try <free>
- I have never run it before so I have no idea how long it would be
expected to run for before completion!

On 07/10/2024 08:15, Alin Jerpelea wrote:
Hi all,

the voting is closed

We will fix the bugs and start the RC1 test and vote process

Please link fixes to this thread

Best regards
Alin

On Mon, 7 Oct 2024, 09:12 raiden00pl,<raiden0...@gmail.com> wrote:

I fully agree with Tomek. If possible, let's delay the release for a
while
and fix what's broken, or at least find the broken
configurations/features.
What I have tested so far:
- [X] sim/foc - fixed
- [X] sim/smp - **broken**
- [X] sim/nsh - OK
- [X] sim/crypto - OK
- [X] sim/elf - OK
- [X] sim/fb - OK
- [X] sim/lvgl_fb - OK

- [X] nrf52840-dk/adc - OK
- [X] nrf52840-dk/pwm - OK
- [X] nrf52840-dk/highpri - **boken**
        other highpri examples also broken
- [X] nrf52840-dk/sdc_nimble - OK
- [X] nrf52840-dk/sdc - OK
- [X] nrf52840-dk/composite - OK
- [X] nrf52840-dk/timer - fixed
- [X] nrf52840-dk/tickelss - OK
- [X] nrf52840-dk/qspi - OK

- [X] stm32f4disco/nsh - OK
- [X] stm32f4disco/elf - OK
- [X] stm32f4disco/module - OK
- [X] stm32f4disco/usbnsh - OK

- [X] stm32g071b-disco/oled - fixed

- [X] stm32f746g-disco/nsh - OK
- [X] stm32f746g-disco/fb - *broken* (not related to LVGL)
- [X] stm32f746g-disco/nxdemo - *broken* (not related to LVGL)
- [X] stm32f746g-disco/audio - OK

What else I want to test:
stm32h7 AMP, nrf53, nrf91, x86_64, some CAN examples, maybe FOC on real
hardware, maybe IEEE802.15.4 on nrf52.
But I don't know how much patience I'll have, it's a completely boring
job.
pon., 7 paź 2024 o 01:20 Tomek CEDRO<to...@cedro.info> napisał(a):

Please lets wait for LVGL 9.2.1 release, we have patches ready to get
in sync, this is quite important and demanded feature to land in a
release, and I am sure this will attract new users/developers to the
NuttX community because this will be also announced to the broad LVGL
community :-)

Also we should fix ESP32 bootloader / esptool building unusable
firmware image, this platform is too popular to have this kind of
problem.

If anyone has a free moment to verify in depth the memory leak that
would be also very good to know why that happens - is it ostest
problem or nsh / os problem coming from recent updates?

I know Alin the release process is time consuming and cost you lots of
effort, and additional problems cost you additional work time, we all
much appreciate that!! <3 :-)

Release quality is far more important than quantity, its not only
about bumping numbers. I know from other projects that rushing the
release with known problems behind may be strongly discouraging and
pushes people away from a project. We all want to create a reliable
solution that works out of the box with no surprises right? :-)

Have a good day folks :-)
Tomek


On Sat, Oct 5, 2024 at 11:11 AM Tim Hardisty<timhardist...@gmail.com>
wrote:
FYI you can no longer change LVGL version from Kconfig AFAIK, but you
can force the use of any version you want by checking out the version
you
want from the LVGL repo but have to do a manual copy of the LVGL K
config
into the NuttX Apps LVGL Kconfig. It’s a bit messy but works!
On 5 Oct 2024, at 10:56, Alin Jerpelea<jerpe...@gmail.com> wrote:

@Tim and Tomek

My bad ! We are using 9.1.0 for 12.7.0 release
I was looking on an older branch . A simple PR will fix it after LVGL
is
release

Best regards
Alin


On Sat, Oct 5, 2024 at 10:52 AM Tim Hardisty <
timhardist...@gmail.com
wrote:

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
<

Reply via email to