Skip to content

Nicla Vision: initial variant support#295

Open
bogdanarduino wants to merge 12 commits intoarduino:mainfrom
bogdanarduino:nicla_vision
Open

Nicla Vision: initial variant support#295
bogdanarduino wants to merge 12 commits intoarduino:mainfrom
bogdanarduino:nicla_vision

Conversation

@bogdanarduino
Copy link

@bogdanarduino bogdanarduino commented Dec 16, 2025

Needs:

Initial support for the Nicla Vision. Tested thus far:

  • Compilation and flashing of core;
  • Compilation of basic blink and serial print sketches;
  • LED pins config;
  • USB CDC port able to produce output;
  • generated zephyr.dts checked against the hardware config for pins and muxes;
  • no detailed peripheral checks done at this point.

@pennam pennam changed the title Nicla Vision initial variant support Nicla Vision: initial variant support Dec 16, 2025
@KurtE
Copy link

KurtE commented Dec 20, 2025

I thought about doing this a while ago, and created an issue: #137
Which later I closed and now reopened

I dropped it at the point, As it was not sure how to setup the GC2145 camera to use the main memory and have enough
memory to make it worthwhile. I built some of the zephyr samples and they did not do much.
They setup memory poll:

ONFIG_VIDEO_BUFFER_POOL_NUM_MAX=2
CONFIG_VIDEO_BUFFER_POOL_SZ_MAX=160000

With this configuration, from the drivers/video/capture sample, There is not enough memory there to
allocate two 320x240x2 buffers, So could only do something like 160x120 images, with the current released code.

I was trying to resolve some of that, by adding a SNAPSHOT mode to the vision code, that would start the camera
for one image each time, and allowed you to configure to only need one buffer instead of two. With my own
test apps, was able to then capture 320x240. But even with that was unsure if it could be setup in the Arduino LLText
setup.

I have a Pull rquest to Zephyr to add that mode, so far waiting on reviews.
zephyrproject-rtos/zephyr#98004

So will be interesting to see how well your boards setup will work. Keeping fingers crossed.


/ {
chosen {
zephyr,console = &board_cdc_acm_uart;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
zephyr,console = &board_cdc_acm_uart;
zephyr,console = &lpuart1;

/ {
chosen {
zephyr,console = &board_cdc_acm_uart;
zephyr,shell-uart = &usart1;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
zephyr,shell-uart = &usart1;
zephyr,shell-uart = &lpuart1;

<&gpioj 10 GPIO_ACTIVE_HIGH>,
<&gpioh 6 GPIO_ACTIVE_HIGH>;

serials = <&board_cdc_acm_uart>, <&usart1>;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should add lpuart also here

@dani-clo
Copy link

Verification of Zephyr support for Nicla Vision board completed successfully across all hardware interfaces.

Hardware Verification Tests

  • Digital Pin: Verified with logic analyzer
  • PWM: Verified with logic analyzer
  • Analog Pin: Verified with input voltage and multimeter
  • Clock & Timer: Verified millis() function and timer frequency with logic analyzer

I2C

  • I2C0: Verified with logic analyzer
  • I2C1: Verified communication with Time of Flight sensor (Arduino_VL53L0X library example)

SPI

  • SPI0: Verified with logic analyzer and loopback test
  • SPI1: Verified communication with IMU sensor (Arduino_LSM6DSOX library example)

Wireless

Debug

  • UART: Verified via Zephyr debug log

@KurtE
Copy link

KurtE commented Feb 24, 2026

Quick note: I thought I would try it today, so I checked out the PR and built it
(On windows WSL and copied the resulting stuff up and tried burning the bootloader and program it...

Was able to burn the bootloader, Took a couple of attempts, but that appears to be normal with my Nicla Vision...
Note: did not see any debug output over Serail1 and USB failed...

Tried to build blink sketch and failed to build for either Static or Dynamic link... Lots of undefined symbols.

I am probably missing something, like maybe needing to update Zephyr?

Static mode link errors:


cmd /C cd .
"C:\\Users\\kurte\\AppData\\Local\\Arduino15\\packages\\zephyr\\tools\\arm-zephyr-eabi\\0.16.8/bin/arm-zephyr-eabi-g++" "-LC:\\Users\\kurte\\AppData\\Local\\arduino\\sketches\\0E47807B518BD5B3BE4037A4E1655C48" "-LD:\\Arduino\\hardware\\arduino-git\\ArduinoCore-zephyr\\variants\\arduino_nicla_vision_stm32h747xx_m7" -Wl,--gc-sections -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -std=gnu++17 -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-unwind-tables -fno-use-cxa-atexit -lstdc++ -lsupc++ -lnosys -nostdlib --specs=picolibc.specs --specs=nosys.specs "C:\\Users\\kurte\\AppData\\Local\\arduino\\sketches\\0E47807B518BD5B3BE4037A4E1655C48\\sketch\\Blink.ino.cpp.o" "C:\\Users\\kurte\\AppData\\Local\\arduino\\sketches\\0E47807B518BD5B3BE4037A4E1655C48\\core\\pure_analog_pins.cpp.o" "C:\\Users\\kurte\\AppData\\Local\\arduino\\sketches\\0E47807B518BD5B3BE4037A4E1655C48\\core\\variant.cpp.o" -Wl,--start-group "C:\\Users\\kurte\\AppData\\Local\\arduino\\sketches\\0E47807B518BD5B3BE4037A4E1655C48/core\\core.a" -lstdc++ -lsupc++ -Wl,--end-group -lc -lm -lgcc -Wl,--wrap=random -Wl,--wrap=calloc -Wl,--wrap=free -Wl,--wrap=malloc -Wl,--wrap=realloc "-TD:\\Arduino\\hardware\\arduino-git\\ArduinoCore-zephyr\\variants\\arduino_nicla_vision_stm32h747xx_m7/syms-static.ld" "-TD:\\Arduino\\hardware\\arduino-git\\ArduinoCore-zephyr/variants/_ldscripts/memory-static.ld" "-TD:\\Arduino\\hardware\\arduino-git\\ArduinoCore-zephyr/variants/_ldscripts/build-static.ld" "-Wl,-Map,C:\\Users\\kurte\\AppData\\Local\\arduino\\sketches\\0E47807B518BD5B3BE4037A4E1655C48/Blink.ino.map" -o "C:\\Users\\kurte\\AppData\\Local\\arduino\\sketches\\0E47807B518BD5B3BE4037A4E1655C48/Blink.ino_debug.elf"
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `memcpy':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:66: undefined reference to `__real_memcpy'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `memmove':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:67: undefined reference to `__real_memmove'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `strlen':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:68: undefined reference to `__real_strlen'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `strnlen':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:69: undefined reference to `__real_strnlen'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `strchr':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:70: undefined reference to `__real_strchr'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `strrchr':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:71: undefined reference to `__real_strrchr'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `strstr':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:72: undefined reference to `__real_strstr'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `strcmp':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:73: undefined reference to `__real_strcmp'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `strncmp':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:74: undefined reference to `__real_strncmp'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `strcasecmp':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:75: undefined reference to `__real_strcasecmp'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `strncpy':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:76: undefined reference to `__real_strncpy'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `strcat':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:77: undefined reference to `__real_strcat'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `strtod':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:80: undefined reference to `__real_strtod'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `strtol':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:81: undefined reference to `__real_strtol'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `strtoul':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:82: undefined reference to `__real_strtoul'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `atoi':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:83: undefined reference to `__real_atoi'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `atof':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:84: undefined reference to `__real_atof'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `atol':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:85: undefined reference to `__real_atol'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `rand':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:94: undefined reference to `__real_rand'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `srand':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:95: undefined reference to `__real_srand'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `isspace':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:98: undefined reference to `__real_isspace'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `isalnum':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:99: undefined reference to `__real_isalnum'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `tolower':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:100: undefined reference to `__real_tolower'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `toupper':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:101: undefined reference to `__real_toupper'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `isalpha':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:102: undefined reference to `__real_isalpha'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `iscntrl':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:103: undefined reference to `__real_iscntrl'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `isdigit':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:104: undefined reference to `__real_isdigit'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `isgraph':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:105: undefined reference to `__real_isgraph'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `isprint':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:106: undefined reference to `__real_isprint'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `isupper':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:107: undefined reference to `__real_isupper'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `islower':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:108: undefined reference to `__real_islower'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `isxdigit':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:109: undefined reference to `__real_isxdigit'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `acos':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:112: undefined reference to `__real_acos'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `asin':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:113: undefined reference to `__real_asin'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `atan':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:114: undefined reference to `__real_atan'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `cos':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:115: undefined reference to `__real_cos'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `exp':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:116: undefined reference to `__real_exp'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `exp2':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:117: undefined reference to `__real_exp2'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `log':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:118: undefined reference to `__real_log'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `log2':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:119: undefined reference to `__real_log2'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `log10':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:120: undefined reference to `__real_log10'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `sin':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:121: undefined reference to `__real_sin'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `sqrt':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:122: undefined reference to `__real_sqrt'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `tan':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:123: undefined reference to `__real_tan'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `acosf':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:126: undefined reference to `__real_acosf'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `asinf':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:127: undefined reference to `__real_asinf'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `atanf':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:128: undefined reference to `__real_atanf'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `cosf':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:129: undefined reference to `__real_cosf'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `logf':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:130: undefined reference to `__real_logf'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `sinf':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:131: undefined reference to `__real_sinf'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `sqrtf':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:132: undefined reference to `__real_sqrtf'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `tanf':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:133: undefined reference to `__real_tanf'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `atan2':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:136: undefined reference to `__real_atan2'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `pow':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:137: undefined reference to `__real_pow'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `atan2f':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:140: undefined reference to `__real_atan2f'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `puts':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:143: undefined reference to `__real_puts'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `putchar':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:144: undefined reference to `__real_putchar'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `vsnprintf':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:145: undefined reference to `__real_vsnprintf'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `atexit':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:149: undefined reference to `__real_atexit'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `abort':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:155: undefined reference to `__real_abort'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `exit':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:162: undefined reference to `__real_exit'
c:/users/kurte/appdata/local/arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\Users\kurte\AppData\Local\arduino\sketches\0E47807B518BD5B3BE4037A4E1655C48/core\core.a(llext_wrappers.c.o): in function `_exit':
D:\Arduino\hardware\arduino-git\ArduinoCore-zephyr\cores\arduino/llext_wrappers.c:169: undefined reference to `__real__exit'
collect2.exe: error: ld returned 1 exit status
exit status 1

Compilation error: exit status 1

@KurtE
Copy link

KurtE commented Feb 25, 2026

Quick update to last message, I built it on my Ubuntu machine and it appeared to run...
Will need to figure out what is different
Looks like my malloc test allows me to allocate 221K
Which would be enough to have one 320x240 video buffer. Currently you need two with current camera code
However if/when the snapshot code pr on zephyr gets approved you could run the camera at that resolution.

@github-actions
Copy link

Built 0.53.2-0.dev+9776dce

CI run PASSED 🟢

ArtifactBoardCoreTestsRAMSketchesWarningsErrors
✅* zephyr_contrib ek_ra8d1 📗 ✅*

11.9%

22-
frdm_mcxn947 3 🏷️ ✅*

57.9%

22-
frdm_rw612 1 🏷️ ✅*

83.0%

22-
✔️* zephyr_main giga 4 🏷️ ✅*

54.5%

4414-
nano33ble 1 🏷️ ✅*

78.7%

2210-
nano_matter 📗 ✔️*

⚠️ 85.7%

2010(2*)
nicla_vision 4 🏷️ ✔️*

56.8%

4412(10*)
niclasense 2 🏷️ ✅*

⚠️ 87.1%

2010-
opta 4 🏷️ ✔️*

46.6%

5426(2*)
portentac33 3 🏷️ ✔️*

⚠️ 95.1%

5626(8*)
portentah7 3 🏷️ ✔️*

47.3%

5828(2*)
✅* zephyr_unoq unoq 📗 ✅*

26.3%

5210-
Legend

BoardTestStatus description
🔥 🔥 Test run failed to complete.
🔴 Test completed with unexpected errors.
✔️* 🚫 Test completed with errors, but all are known/expected.
✅* 🟡 Test completed with some warnings; no errors detected.
🟢 Test passed successfully, with no warnings or errors.
🌑 🌑 Test was skipped.

@dani-clo
Copy link

Quick update to last message, I built it on my Ubuntu machine and it appeared to run... Will need to figure out what is different Looks like my malloc test allows me to allocate 221K Which would be enough to have one 320x240 video buffer. Currently you need two with current camera code However if/when the snapshot code pr on zephyr gets approved you could run the camera at that resolution.

@KurtE I’m working on reducing the overall RAM usage to allow allocating two 320×240 buffers without impacting the other functionalities too much. I’ll push an update once it’s ready.

@KurtE
Copy link

KurtE commented Feb 25, 2026

Quick update to last message, I built it on my Ubuntu machine and it appeared to run... Will need to figure out what is different Looks like my malloc test allows me to allocate 221K Which would be enough to have one 320x240 video buffer. Currently you need two with current camera code However if/when the snapshot code pr on zephyr gets approved you could run the camera at that resolution.

@KurtE I’m working on reducing the overall RAM usage to allow allocating two 320×240 buffers without impacting the other functionalities too much. I’ll push an update once it’s ready.

No hurry: As I believe I mentioned, my Nicla Vision has been flaky from the start. I would have to try different USB cables, wiggle them etc, and then if lucky could flash the board... Well this morning was going through that again and
the USB connector broke off. And it is not worth it to me to buy another one...

The only reason I purchased this one was it was the only board that I saw that had any Zephyr native test sketches.
For example, in the one I have hacked up to run natively on zephyr:
https://github.com/KurtE/zephyr_test_sketches/tree/master/camera_capture_to_usb_common

I had working a while ago on my Zephyr Pull requests: That would capture images and send them over USB, to either the processing sketch on PC or to Arducam viewer which works a lot better on Windows than the Processing ...

@CLAassistant
Copy link

CLAassistant commented Mar 18, 2026

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
2 out of 4 committers have signed the CLA.

✅ pillo79
✅ dani-clo
❌ sebromero
❌ bogdanarduino
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants