Date   

STM32F723E-Disco: how to use USB in high-speed mode

Dirk-Jan C. Binnema
 

Dear List,

I'm trying to use the USB-OTG HS port on an STM32F723E Discovery Board
to mount a ramdisk on a Linux 5.11 host; this works fine in FS-mode;
however, I want to use high-speed mode instead.

In an overlay file I have:
------------------------------------------------------------
&usbotg_fs {
status = "disabled";
};

&usbotg_hs {
pinctrl-0 = <&usb_otg_hs_dm_pb14 &usb_otg_hs_dp_pb15>;
maximum-speed = "high-speed";
status = "okay";
};
------------------------------------------------------------
(based on the data sheet / some older posts)

This *almost* works, but Linux fails to mount (dmesg output):
------------------------------------------------------------
usb 1-3: new high-speed USB device number 6 using xhci_hcd
usb 1-3: device descriptor read/64, error -71
usb 1-3: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64
usb 1-3: config 1 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
usb 1-3: New USB device found, idVendor=2fe3, idProduct=0100, bcdDevice= 2.06
usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-3: Product: USB-DEV
usb 1-3: Manufacturer: ZEPHYR
usb 1-3: SerialNumber: 363238313136510A
usb-storage 1-4.2:1.1: USB Mass Storage device detected
scsi host10: usb-storage 1-4.2:1.1
usb-storage 1-3:1.0: USB Mass Storage device detected
scsi host11: usb-storage 1-3:1.0
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver uas
scsi 11:0:0:0: Direct-Access ZEPHYR ZEPHYR USB DISK 0.01 PQ: 0 ANSI: 0 CCS
sd 11:0:0:0: Attached scsi generic sg2 type 0
sd 11:0:0:0: [sdc] 192 512-byte logical blocks: (98.3 kB/96.0 KiB)
sd 11:0:0:0: [sdc] Write Protect is off
sd 11:0:0:0: [sdc] Mode Sense: 03 00 00 00
sd 11:0:0:0: [sdc] No Caching mode page found
sd 11:0:0:0: [sdc] Assuming drive cache: write through
usb 1-3: reset high-speed USB device number 6 using xhci_hcd
usb 1-3: reset high-speed USB device number 6 using xhci_hcd
usb 1-3: reset high-speed USB device number 6 using xhci_hcd
usb 1-3: reset high-speed USB device number 6 using xhci_hcd
usb 1-3: reset high-speed USB device number 6 using xhci_hcd
usb 1-3: reset high-speed USB device number 6 using xhci_hcd
sd 11:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=2s
sd 11:0:0:0: [sdc] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
blk_update_request: I/O error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
Buffer I/O error on dev sdc, logical block 0, async page read
sb 1-3: reset high-speed USB device number 6 using xhci_hcd
(repeating)
------------------------------------------------------------


Just for testing, When I set "maximum-speed" to "full-speed" in the
overlay (i.e, using the HS in FS mode), I get:


------------------------------------------------------------
usb 1-4: new full-speed USB device number 88 using xhci_hcd
usb 1-4: New USB device found, idVendor=2fe3, idProduct=0100, bcdDevice= 2.06
usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-4: Product: USB-DEV
usb 1-4: Manufacturer: ZEPHYR
usb 1-4: SerialNumber: 363238313136510A
usb-storage 1-4:1.0: USB Mass Storage device detected
scsi host11: usb-storage 1-4:1.0
scsi 11:0:0:0: Direct-Access ZEPHYR ZEPHYR USB DISK 0.01 PQ: 0 ANSI: 0 CCS
sd 11:0:0:0: Attached scsi generic sg3 type 0
sd 11:0:0:0: [sdd] 192 512-byte logical blocks: (98.3 kB/96.0 KiB)
sd 11:0:0:0: [sdd] Write Protect is off
sd 11:0:0:0: [sdd] Mode Sense: 03 00 00 00
sd 11:0:0:0: [sdd] No Caching mode page found
sd 11:0:0:0: [sdd] Assuming drive cache: write through
sdd:
sd 11:0:0:0: [sdd] Attached SCSI removable disk
------------------------------------------------------------

that gets me a little further, and I it even shows up in the linux file
browser as a mount-point browser ("98 KB Volume"); however, trying to
mount does not work (times out).

So to summarize, with the same code, using the FS-connection works; the
HS connection does not, even though it seems we're close.

Any idea of what I'm missing, or what I should check? Any insights very
much appreciated!

Kind regards,
Dirk.

--
Dirk-Jan C. Binnema Helsinki, Finland
e:djcb@djcbsoftware.nl w:www.djcbsoftware.nl
gpg: 6987 9CED 1745 9375 0F14 DA98 11DD FEA9 DCC4 A036


building espressif c++ project

iborco@...
 

Hi,

I have made a simple C++ project using Zephyr, to check if I can use various C++ features from Zephyr - for this particular one, I'm just trying to include the <algorithms> header.

The builds work with the gnuarmemb toolchain (for a nRF52833 board), but fails when I try to build it with the espressif toolchain.

The build output is bellow. The project files are attached.

Any idea how to fix this?

Thank you.

west build -b esp32
-- west build: generating a build system
Including boilerplate (Zephyr base): /Users/borco/zephyrproject/zephyr/cmake/app/boilerplate.cmake
-- Application: /Users/borco/01-basic-app
-- Zephyr version: 2.6.0-rc1 (/Users/borco/zephyrproject/zephyr), build: v2.6.0-rc1-120-g41e885947e4f
-- Found Python3: /Users/borco/.pyenv/versions/3.9.1/Python.framework/Versions/3.9/bin/python3.9 (found suitable exact version "3.9.1") found components: Interpreter
-- Found west (found suitable version "0.11.0", minimum required is "0.7.1")
-- Board: esp32
-- Cache files will be written to: /Users/borco/Library/Caches/zephyr
-- Found dtc: /usr/local/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
-- Found toolchain: espressif (/Users/borco/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf)
-- Found BOARD.dts: /Users/borco/zephyrproject/zephyr/boards/xtensa/esp32/esp32.dts
-- Generated zephyr.dts: /Users/borco/01-basic-app/build/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: /Users/borco/01-basic-app/build/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: /Users/borco/01-basic-app/build/zephyr/include/generated/device_extern.h
Parsing /Users/borco/zephyrproject/zephyr/Kconfig
Loaded configuration '/Users/borco/zephyrproject/zephyr/boards/xtensa/esp32/esp32_defconfig'
Merged configuration '/Users/borco/01-basic-app/prj.conf'
Configuration saved to '/Users/borco/01-basic-app/build/zephyr/.config'
Kconfig header saved to '/Users/borco/01-basic-app/build/zephyr/include/generated/autoconf.h'
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /Users/borco/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
CMake Deprecation Warning at /Users/borco/zephyrproject/modules/lib/civetweb/CMakeLists.txt:2 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Configuring done
CMake Warning (dev) at /Users/borco/zephyrproject/zephyr/cmake/linker/ld/target.cmake:33 (add_custom_command):
  Policy CMP0116 is not set: Ninja generators transform DEPFILEs from
  add_custom_command().  Run "cmake --help-policy CMP0116" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.
Call Stack (most recent call first):
  /Users/borco/zephyrproject/zephyr/CMakeLists.txt:1198 (configure_linker_script)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /Users/borco/zephyrproject/zephyr/cmake/linker/ld/target.cmake:33 (add_custom_command):
  Policy CMP0116 is not set: Ninja generators transform DEPFILEs from
  add_custom_command().  Run "cmake --help-policy CMP0116" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.
Call Stack (most recent call first):
  /Users/borco/zephyrproject/zephyr/CMakeLists.txt:1253 (configure_linker_script)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/borco/01-basic-app/build
-- west build: building application
[1/130] Preparing syscall dependency handling

[55/130] Performing configure step for 'EspIdfBootloader'
CMake Warning at /Users/borco/zephyrproject/modules/hal/espressif/tools/cmake/idf.cmake:24 (message):
  IDF_PATH environment variable not found.  Setting IDF_PATH to
  '/Users/borco/zephyrproject/modules/hal/espressif'.
Call Stack (most recent call first):
  /Users/borco/zephyrproject/modules/hal/espressif/tools/cmake/project.cmake:7 (include)
  CMakeLists.txt:20 (include)


-- Found Git: /usr/local/bin/git (found version "2.31.1")
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /Users/borco/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Users/borco/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Users/borco/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
-- Adding linker script /Users/borco/zephyrproject/modules/hal/espressif/components/esp32/ld/esp32.peripherals.ld
-- Adding linker script /Users/borco/zephyrproject/modules/hal/espressif/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script /Users/borco/zephyrproject/modules/hal/espressif/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script /Users/borco/zephyrproject/modules/hal/espressif/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script /Users/borco/zephyrproject/modules/hal/espressif/components/bootloader/subproject/main/ld/esp32/bootloader.ld
-- Adding linker script /Users/borco/zephyrproject/modules/hal/espressif/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp32 esp_common esp_rom esptool_py log main micro-ecc partition_table soc spi_flash xtensa
-- Component paths: /Users/borco/zephyrproject/modules/hal/espressif/components/bootloader /Users/borco/zephyrproject/modules/hal/espressif/components/bootloader_support /Users/borco/zephyrproject/modules/hal/espressif/components/efuse /Users/borco/zephyrproject/modules/hal/espressif/components/esp32 /Users/borco/zephyrproject/modules/hal/espressif/components/esp_common /Users/borco/zephyrproject/modules/hal/espressif/components/esp_rom /Users/borco/zephyrproject/modules/hal/espressif/components/esptool_py /Users/borco/zephyrproject/modules/hal/espressif/components/log /Users/borco/zephyrproject/modules/hal/espressif/components/bootloader/subproject/main /Users/borco/zephyrproject/modules/hal/espressif/components/bootloader/subproject/components/micro-ecc /Users/borco/zephyrproject/modules/hal/espressif/components/partition_table /Users/borco/zephyrproject/modules/hal/espressif/components/soc /Users/borco/zephyrproject/modules/hal/espressif/components/spi_flash /Users/borco/zephyrproject/modules/hal/espressif/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/borco/01-basic-app/build/esp-idf/build/bootloader
[78/130] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/pthread_common.c.obj
FAILED: zephyr/lib/posix/CMakeFiles/lib__posix.dir/pthread_common.c.obj
ccache /Users/borco/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -DBUILD_VERSION=v2.6.0-rc1-120-g41e885947e4f -DKERNEL -D_FORTIFY_SOURCE=2 -D__LINUX_ERRNO_EXTENSIONS__ -D__ZEPHYR__=1 -I/Users/borco/zephyrproject/zephyr/kernel/include -I/Users/borco/zephyrproject/zephyr/arch/xtensa/include -I/Users/borco/zephyrproject/zephyr/include -Izephyr/include/generated -I/Users/borco/zephyrproject/zephyr/soc/xtensa/esp32 -I/Users/borco/zephyrproject/zephyr/soc/xtensa/esp32/include -I/Users/borco/zephyrproject/zephyr/lib/libc/newlib/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/adapter/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/adapter/include/bt -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/adapter/include/crypto -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/adapter/include/wifi -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_common/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_rom/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/xtensa/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/xtensa/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/soc/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/soc/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/soc/esp32/private_include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/include/soc -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/src/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/driver/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/soc/esp32 -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_wifi/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/efuse/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/efuse/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_system/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_wifi/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_timer/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_timer/private_include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_netif/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_event/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/log/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/wpa_supplicant/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/wpa_supplicant/port/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/wpa_supplicant/src -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/wpa_supplicant/include/esp_supplicant -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/wpa_supplicant/src/crypto -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/spi_flash/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/spi_flash/private_include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/bootloader_support/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/bootloader_support/include_bootloader -Os -imacros /Users/borco/01-basic-app/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -fdiagnostics-color=always -imacros /Users/borco/zephyrproject/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=/Users/borco/01-basic-app=CMAKE_SOURCE_DIR -fmacro-prefix-map=/Users/borco/zephyrproject/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/Users/borco/zephyrproject=WEST_TOPDIR -ffunction-sections -fdata-sections -mlongcalls -std=c99 -MD -MT zephyr/lib/posix/CMakeFiles/lib__posix.dir/pthread_common.c.obj -MF zephyr/lib/posix/CMakeFiles/lib__posix.dir/pthread_common.c.obj.d -o zephyr/lib/posix/CMakeFiles/lib__posix.dir/pthread_common.c.obj -c /Users/borco/zephyrproject/zephyr/lib/posix/pthread_common.c
In file included from /Users/borco/zephyrproject/zephyr/lib/posix/pthread_common.c:10:
/Users/borco/zephyrproject/zephyr/include/posix/time.h:90:15: error: static declaration of 'clock_gettime' follows non-static declaration
 __syscall int clock_gettime(clockid_t clock_id, struct timespec *ts);
               ^~~~~~~~~~~~~
In file included from /Users/borco/zephyrproject/zephyr/include/posix/time.h:12,
                 from /Users/borco/zephyrproject/zephyr/lib/posix/pthread_common.c:10:
/Users/borco/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/xtensa-esp32-elf/sys-include/time.h:187:5: note: previous declaration of 'clock_gettime' was here
 int clock_gettime (clockid_t clock_id, struct timespec *tp);
     ^~~~~~~~~~~~~
In file included from /Users/borco/zephyrproject/zephyr/lib/posix/pthread_common.c:10:
/Users/borco/zephyrproject/zephyr/include/posix/time.h:94:5: error: conflicting types for 'timer_create'
 int timer_create(clockid_t clockId, struct sigevent *evp, timer_t *timerid);
     ^~~~~~~~~~~~
In file included from /Users/borco/zephyrproject/zephyr/include/posix/time.h:12,
                 from /Users/borco/zephyrproject/zephyr/lib/posix/pthread_common.c:10:
/Users/borco/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/xtensa-esp32-elf/sys-include/time.h:192:5: note: previous declaration of 'timer_create' was here
 int timer_create (clockid_t clock_id,
     ^~~~~~~~~~~~
[79/130] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/nanosleep.c.obj
FAILED: zephyr/lib/posix/CMakeFiles/lib__posix.dir/nanosleep.c.obj
ccache /Users/borco/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -DBUILD_VERSION=v2.6.0-rc1-120-g41e885947e4f -DKERNEL -D_FORTIFY_SOURCE=2 -D__LINUX_ERRNO_EXTENSIONS__ -D__ZEPHYR__=1 -I/Users/borco/zephyrproject/zephyr/kernel/include -I/Users/borco/zephyrproject/zephyr/arch/xtensa/include -I/Users/borco/zephyrproject/zephyr/include -Izephyr/include/generated -I/Users/borco/zephyrproject/zephyr/soc/xtensa/esp32 -I/Users/borco/zephyrproject/zephyr/soc/xtensa/esp32/include -I/Users/borco/zephyrproject/zephyr/lib/libc/newlib/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/adapter/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/adapter/include/bt -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/adapter/include/crypto -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/adapter/include/wifi -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_common/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_rom/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/xtensa/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/xtensa/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/soc/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/soc/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/soc/esp32/private_include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/include/soc -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/src/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/driver/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/soc/soc/esp32 -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_wifi/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/efuse/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/efuse/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_system/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_wifi/esp32/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_timer/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_timer/private_include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_netif/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/esp_event/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/log/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/wpa_supplicant/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/wpa_supplicant/port/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/wpa_supplicant/src -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/wpa_supplicant/include/esp_supplicant -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/wpa_supplicant/src/crypto -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/spi_flash/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/spi_flash/private_include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/bootloader_support/include -I/Users/borco/zephyrproject/modules/hal/espressif/zephyr/../components/bootloader_support/include_bootloader -Os -imacros /Users/borco/01-basic-app/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -fdiagnostics-color=always -imacros /Users/borco/zephyrproject/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=/Users/borco/01-basic-app=CMAKE_SOURCE_DIR -fmacro-prefix-map=/Users/borco/zephyrproject/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/Users/borco/zephyrproject=WEST_TOPDIR -ffunction-sections -fdata-sections -mlongcalls -std=c99 -MD -MT zephyr/lib/posix/CMakeFiles/lib__posix.dir/nanosleep.c.obj -MF zephyr/lib/posix/CMakeFiles/lib__posix.dir/nanosleep.c.obj.d -o zephyr/lib/posix/CMakeFiles/lib__posix.dir/nanosleep.c.obj -c /Users/borco/zephyrproject/zephyr/lib/posix/nanosleep.c
In file included from /Users/borco/zephyrproject/zephyr/lib/posix/nanosleep.c:12:
/Users/borco/zephyrproject/zephyr/include/posix/time.h:90:15: error: static declaration of 'clock_gettime' follows non-static declaration
 __syscall int clock_gettime(clockid_t clock_id, struct timespec *ts);
               ^~~~~~~~~~~~~
In file included from /Users/borco/zephyrproject/zephyr/include/posix/time.h:12,
                 from /Users/borco/zephyrproject/zephyr/lib/posix/nanosleep.c:12:
/Users/borco/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/xtensa-esp32-elf/sys-include/time.h:187:5: note: previous declaration of 'clock_gettime' was here
 int clock_gettime (clockid_t clock_id, struct timespec *tp);
     ^~~~~~~~~~~~~
In file included from /Users/borco/zephyrproject/zephyr/lib/posix/nanosleep.c:12:
/Users/borco/zephyrproject/zephyr/include/posix/time.h:94:5: error: conflicting types for 'timer_create'
 int timer_create(clockid_t clockId, struct sigevent *evp, timer_t *timerid);
     ^~~~~~~~~~~~
In file included from /Users/borco/zephyrproject/zephyr/include/posix/time.h:12,
                 from /Users/borco/zephyrproject/zephyr/lib/posix/nanosleep.c:12:
/Users/borco/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/xtensa-esp32-elf/sys-include/time.h:192:5: note: previous declaration of 'timer_create' was here
 int timer_create (clockid_t clock_id,
     ^~~~~~~~~~~~
[83/130] Performing build step for 'EspIdfBootloader'
[1/101] Generating project_elf_src.c
[2/101] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src.c.obj
[3/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/lldesc.c.obj
[4/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/cpu_hal.c.obj
[5/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/memory_layout_utils.c.obj
[6/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/cpu_util.c.obj
[7/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/rmt_hal.c.obj
[8/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/dac_hal.c.obj
[9/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/adc_hal.c.obj
[10/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/rtc_io_hal.c.obj
[11/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/soc_include_legacy_warn.c.obj
[12/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_slave_hal.c.obj
[13/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/pcnt_hal.c.obj
[14/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_hal.c.obj
[15/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_slave_hal_iram.c.obj
[16/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/touch_sensor_hal.c.obj
[17/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/sigmadelta_hal.c.obj
[18/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/ledc_hal.c.obj
[19/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/timer_hal.c.obj
[20/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/ledc_hal_iram.c.obj
[21/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/gpio_hal.c.obj
[22/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/i2c_hal_iram.c.obj
[23/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_hal_iram.c.obj
[24/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/uart_hal_iram.c.obj
[25/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_flash_hal.c.obj
[26/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/mpu_hal.c.obj
[27/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/i2c_hal.c.obj
[28/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/soc_hal.c.obj
[29/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/i2s_hal.c.obj
[30/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/compare_set.c.obj
[31/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/uart_hal.c.obj
[32/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/twai_hal.c.obj
[33/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/wdt_hal_iram.c.obj
[34/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_flash_hal_iram.c.obj
[35/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/esp32/brownout_hal.c.obj
[36/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/esp32/adc_hal.c.obj
[37/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/esp32/rtc_pm.c.obj
[38/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/esp32/rtc_init.c.obj
[39/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/esp32/rtc_clk_init.c.obj
[40/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/esp32/rtc_time.c.obj
[41/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/esp32/rtc_wdt.c.obj
[42/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/esp32/soc_memory_layout.c.obj
[43/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/mcpwm_hal.c.obj
[44/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/adc_periph.c.obj
[45/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/dac_periph.c.obj
[46/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/gpio_periph.c.obj
[47/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/esp32/touch_sensor_hal.c.obj
[48/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/rtc_periph.c.obj
[49/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/esp32/rtc_sleep.c.obj
[50/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/rtc_io_periph.c.obj
[51/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/sdmmc_periph.c.obj
[52/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/interrupts.c.obj
[53/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/sdio_slave_periph.c.obj
[54/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/ledc_periph.c.obj
[55/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/spi_periph.c.obj
[56/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/i2s_periph.c.obj
[57/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/i2c_periph.c.obj
[58/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/uart_periph.c.obj
[59/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/esp32/rtc_clk.c.obj
[60/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/touch_sensor_periph.c.obj
[61/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/sdio_slave_hal.c.obj
[62/101] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj
[63/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_table.c.obj
[64/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp32/esp_efuse_api.c.obj
[65/101] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
[66/101] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj
[67/101] Linking C static library esp-idf/log/liblog.a
[68/101] Linking C static library esp-idf/soc/soc/esp32/libsoc_esp32.a
[69/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp32/esp_efuse_fields.c.obj
[70/101] Linking C static library esp-idf/soc/libsoc.a
[71/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[72/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp32/esp_efuse_utility.c.obj
[73/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[74/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock.c.obj
[75/101] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/esp32/spi_flash_rom_patch.c.obj
[76/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj
[77/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
[78/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash.c.obj
[79/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[80/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[81/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32.c.obj
[82/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[83/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[84/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse_esp32.c.obj
[85/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash_config_esp32.c.obj
[86/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_qio_mode.c.obj
[87/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[88/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_sha.c.obj
[89/101] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[90/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[91/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[92/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/flash_encrypt.c.obj
[93/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_esp32.c.obj
[94/101] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
[95/101] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a
[96/101] Linking C static library esp-idf/bootloader_support/libbootloader_support.a
[97/101] Linking C static library esp-idf/efuse/libefuse.a
[98/101] Linking C static library esp-idf/spi_flash/libspi_flash.a
[99/101] Linking C static library esp-idf/main/libmain.a
[100/101] Linking C executable bootloader.elf
[101/101] Generating binary image from built executable
esptool.py v3.0
Generated /Users/borco/01-basic-app/build/esp-idf/build/bootloader/bootloader.bin
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /usr/local/bin/cmake --build /Users/borco/01-basic-app/build


How to perform DFU over BLE of the peripheral device using Bluetooth: HCI UART based board connected with linux board? #hci_uart #nrf52840 #ble

bhavya.mathukiya@...
 

Hi

I want to do the OTA of my nrf52840 based peripheral device through nrf52840(Bluetooth: HCI UART) based Linux gateway. Below is the setup of my project. I know I can perform the OTA of the peripheral device using nrfutil tool by nordic but that is required to have special firmware (connectivity firmware) on the nordic module of linux board. In my case nordic module is having Zephyr Bluetooth: HCI UART application. So is there any solution available to do OTA over BLE using Zephyr Bluetooth: HCI UART application? Any starting point will be helpful to me.



Thankyou,
Bhavya


bluetooth init error -90

Smitha Ratnam
 

Hi,

We are trying to use the silicon labs thunderboard sense2 SLTB004A device with bluetooth. 
When we program the device the zephyr beacon sample, we get the following error:



* Booting Zephyr OS build zephyr-v2.5.0-3011-gb61c23943c6f  * Starting Beacon Demo Bluetooth init failed (err -19) [00:00:00.007,000] <err> bt_hci_core: No HCI driver registered
What are we supposed to do to get the bluetooth on the device initialised?
Does Zephyr support the device for bluetooth?

Thanks and regards,
Smitha.


Changing default branch name on GitHub - action required

Kumar Gala
 

We will be changing the default branch on github from 'master' to 'main' on Friday (May 14, 2021).

There is no action required for any open PRs, however you'll need to update your local git clone as follows:

git branch -m master main
git fetch origin
git branch -u origin/main main

You'll need to be utilizing at least west 0.10.1 or later.

Will announce here when this change is made on Friday.

I’ve also opened this GitHub discussion on this topic as well:

https://github.com/zephyrproject-rtos/zephyr/discussions/35230

thanks

- k


Re: partition in board overlay file (for nrf52840-dk)

Nikos Karamolegkos
 

Thank you. What happens if there is reference in the code to deleted labels? I can not pass the compilation

On 12/5/21 2:27 μ.μ., Lawrence King wrote:
Hi Nikos:

Here is an example of changing the partition table in an overlay file you can see the old partitions deleted, then commented out, and the new partitions:

/delete-node/ &slot0_partition;
/delete-node/ &slot1_partition;
/delete-node/ &scratch_partition;
&flash0 {
/*
* For more information, see:
* http://docs.zephyrproject.org/latest/guides/dts/index.html#flash-partitions
*/
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;

boot_partition: partition@0 {
label = "mcuboot";
reg = <0x000000000 0x0000C000>;
};
/*
slot0_partition: partition@c000 {
label = "image-0";
reg = <0x0000C000 0x000067000>;
};
slot1_partition: partition@73000 {
label = "image-1";
reg = <0x00073000 0x000067000>;
};
scratch_partition: partition@da000 {
label = "image-scratch";
reg = <0x000da000 0x0001c000>;
};
*/
slot0_partition: partition@c000 {
label = "image-0";
reg = <0x0000C000 0x000075000>;
};
slot1_partition: partition@81000 {
label = "image-1";
reg = <0x00081000 0x000075000>;
};

blob_partition: partition@f7f00 {
label = "image-blob";
reg = <0x000f7f00 0x00000100>;
};

/*
* The flash starting at 0x000f8000 and ending at (32kB)
* 0x000fffff is reserved for use by the application.
*/

/* Storage partition will be used by FCB/NFFS/NVS if enabled. */
storage_partition: partition@f8000 {
label = "storage";
reg = <0x000f8000 0x00008000>;
};
};
};


Lawrence King
Principal Developer
+1(416)627-7302

-----Original Message-----
From: users@lists.zephyrproject.org <users@lists.zephyrproject.org> On Behalf Of Nikos Karamolegkos
Sent: Wednesday, May 12, 2021 6:55 AM
To: users@lists.zephyrproject.org
Subject: [Zephyr-users] partition in board overlay file (for nrf52840-dk)

Hello,

I have create a board overlay file inside my zephyr sample where I create my partition in flash. However, if I use FLASH_AREA_ID(image_0) I can see that this ID exists which means that the partition exists too.
How can I remove all these default partitions and keep only the desired ones set to my .overlay file in my project?

Thank you,

--
Nikos Karamolegkos
R & D engineer at ICS-FORTH
Telecommunications and Networks Lab (TNL)




--
Nikos Karamolegkos
R & D engineer at ICS-FORTH
Telecommunications and Networks Lab (TNL)


Re: partition in board overlay file (for nrf52840-dk)

Lawrence King
 

Hi Nikos:

Here is an example of changing the partition table in an overlay file you can see the old partitions deleted, then commented out, and the new partitions:

/delete-node/ &slot0_partition;
/delete-node/ &slot1_partition;
/delete-node/ &scratch_partition;
&flash0 {
/*
* For more information, see:
* http://docs.zephyrproject.org/latest/guides/dts/index.html#flash-partitions
*/
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;

boot_partition: partition@0 {
label = "mcuboot";
reg = <0x000000000 0x0000C000>;
};
/*
slot0_partition: partition@c000 {
label = "image-0";
reg = <0x0000C000 0x000067000>;
};
slot1_partition: partition@73000 {
label = "image-1";
reg = <0x00073000 0x000067000>;
};
scratch_partition: partition@da000 {
label = "image-scratch";
reg = <0x000da000 0x0001c000>;
};
*/
slot0_partition: partition@c000 {
label = "image-0";
reg = <0x0000C000 0x000075000>;
};
slot1_partition: partition@81000 {
label = "image-1";
reg = <0x00081000 0x000075000>;
};

blob_partition: partition@f7f00 {
label = "image-blob";
reg = <0x000f7f00 0x00000100>;
};

/*
* The flash starting at 0x000f8000 and ending at (32kB)
* 0x000fffff is reserved for use by the application.
*/

/* Storage partition will be used by FCB/NFFS/NVS if enabled. */
storage_partition: partition@f8000 {
label = "storage";
reg = <0x000f8000 0x00008000>;
};
};
};


Lawrence King
Principal Developer
+1(416)627-7302

-----Original Message-----
From: users@lists.zephyrproject.org <users@lists.zephyrproject.org> On Behalf Of Nikos Karamolegkos
Sent: Wednesday, May 12, 2021 6:55 AM
To: users@lists.zephyrproject.org
Subject: [Zephyr-users] partition in board overlay file (for nrf52840-dk)

Hello,

I have create a board overlay file inside my zephyr sample where I create my partition in flash. However, if I use FLASH_AREA_ID(image_0) I can see that this ID exists which means that the partition exists too.
How can I remove all these default partitions and keep only the desired ones set to my .overlay file in my project?

Thank you,

--
Nikos Karamolegkos
R & D engineer at ICS-FORTH
Telecommunications and Networks Lab (TNL)


partition in board overlay file (for nrf52840-dk)

Nikos Karamolegkos
 

Hello,

I have create a board overlay file inside my zephyr sample where I create my partition in flash. However, if I use FLASH_AREA_ID(image_0) I can see that this ID exists which means that the partition exists too. How can I remove all these default partitions and keep only the desired ones set to my .overlay file in my project?

Thank you,

--
Nikos Karamolegkos
R & D engineer at ICS-FORTH
Telecommunications and Networks Lab (TNL)


Re: Set GPIO with SYS_INIT() #gpio #nrf52840 #sys_init

Bob Recny
 
Edited

Thanks Erik for the pointer. There was a race issue in initializing the pin before the driver was ready.

I changed from

SYS_INIT(board_init, POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);

to

SYS_INIT(board_init, APPLICATION, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);

and the pins worked as expected.


Re: Problem with SWD after Flash on STM32L432 Nucleo Board

Chuck Link
 

I will raise a dedicated issue in GitHub.

On May 10, 2021, at 8:01 AM, Erwan Gouriou <erwan.gouriou@...> wrote:

Hi Chuck,

Thanks  for reporting this, this behavior seems indeed unusual.
Can you raise a dedicated issue in github ?

Cheers
Erwan

On Sun, 9 May 2021 at 19:00, <cml@...> wrote:

I am developing an application currently running on STM32L432 KC Nucleo reference board. I have created an STMCubeMX startup file and simple application that works flawlessly.  I can program and reprogram at 4000 kHz using the STM programmer tool.    I want to use Zephyr RTOS so I’ve built the Zephyr 2.5.0 L432KC project exactly as documented.  I can build either the “Blinky” or “HelloWorld” and load the image the first time flawlessly using The onboard ST-LINK at 4000 kHz.   However as soon as the Zephyr project is loaded, the SWD becomes troublesome.  West Flash loses complete control.  Moving back to STM tools I can sometimes connect.   I can not communicate at any speed other that 5 kHz. Sometimes not at all.   Usually it requires a power cycle and holding reset to erase (at 5 kHz) to reprogram.   Then I can use West Flash again.   


Most interesting, I can program the STMCubeMX image and reprogram multiple times at 4000 kHz.  If I move over to the Zephyr tools and image, I can use West Flash the first time at full speed and subsequently I can reprogram the Zephyr image at 480 kHz.  If I remove power from the target, I have to go back to the STM Programmer to erase the Zephyr image at 5 kHz and start the process again.  It appears at the Zephyr image is not initializing at least one register at startup.  Once the register is set using the STMCubeMX image, as long as power is not removed, the Zephyr image works OK (not great since programming speed is only 480 kHz.)

Has anyone else seen this or resolved this issue?  It appears that something is not being initialized completely.  I will continue the research, as well as try this on other STM boards.   

Thanks for the fantastic OS.  We are using it successfully on several other projects based on Nordic chips.   This is my first experience with STM chips.  


Thanks, Chuck





Re: Problem with SWD after Flash on STM32L432 Nucleo Board

Erwan Gouriou
 

Hi Chuck,

Thanks  for reporting this, this behavior seems indeed unusual.
Can you raise a dedicated issue in github ?

Cheers
Erwan

On Sun, 9 May 2021 at 19:00, <cml@...> wrote:

I am developing an application currently running on STM32L432 KC Nucleo reference board. I have created an STMCubeMX startup file and simple application that works flawlessly.  I can program and reprogram at 4000 kHz using the STM programmer tool.    I want to use Zephyr RTOS so I’ve built the Zephyr 2.5.0 L432KC project exactly as documented.  I can build either the “Blinky” or “HelloWorld” and load the image the first time flawlessly using The onboard ST-LINK at 4000 kHz.   However as soon as the Zephyr project is loaded, the SWD becomes troublesome.  West Flash loses complete control.  Moving back to STM tools I can sometimes connect.   I can not communicate at any speed other that 5 kHz. Sometimes not at all.   Usually it requires a power cycle and holding reset to erase (at 5 kHz) to reprogram.   Then I can use West Flash again.   


Most interesting, I can program the STMCubeMX image and reprogram multiple times at 4000 kHz.  If I move over to the Zephyr tools and image, I can use West Flash the first time at full speed and subsequently I can reprogram the Zephyr image at 480 kHz.  If I remove power from the target, I have to go back to the STM Programmer to erase the Zephyr image at 5 kHz and start the process again.  It appears at the Zephyr image is not initializing at least one register at startup.  Once the register is set using the STMCubeMX image, as long as power is not removed, the Zephyr image works OK (not great since programming speed is only 480 kHz.)

Has anyone else seen this or resolved this issue?  It appears that something is not being initialized completely.  I will continue the research, as well as try this on other STM boards.   

Thanks for the fantastic OS.  We are using it successfully on several other projects based on Nordic chips.   This is my first experience with STM chips.  


Thanks, Chuck


Zephyr 2.6.0-rc1 tagged

Kumar Gala
 

Hi all,

The first release candidate for Zephyr 2.6.0 has been tagged (v2.6.0-rc1).

The merge window for features and enhancements is now closed for this release, and it will remain closed until 2.6.0 is released; the stabilization period is now open. During the stabilization period only bug-fix, documentation, and stabilization-related patches may be merged to master. Additional features or enhancements for the 2.6.0 release require approval by the TSC.

We currently have the following bug counts:

* High - 5
* Medium - 41
* Low - 152

The goal for release is to be at:
* High - 0
* Medium < 20
* Low < 50

We have a long way to go on lows!

As we need to reduce bug counts for the release, you are all encouraged to submit PRs that close existing bug reports, and to help reviewing such PRs submitted by other contributors or maintainers. You can follow the bug numbers with the thresholds for each bug category here:

https://testing.zephyrproject.org/issues/zephyrproject-rtos/zephyr/index.html

Testing Zephyr master branch during the stabilization period is also requested; please test the code base and file bug reports so they can be addressed before the release deadline. Everyone is encouraged, especially hardware vendors, to test on hardware available to them. Use twister to run tests from the Zephyr tree on the boards you have using the device testing features.

The full release log can be found here:

https://github.com/zephyrproject-rtos/zephyr/releases/tag/v2.6.0-rc1

We plan to release weekly candidates (2.6.0-rcx) leading to the final release (2.6.0) which is tentatively scheduled for 28 May.

You may continue to submit pull requests for new features in order to gather feedback early or collaborate with others, but the release team would like to encourage everyone to focus on bugfixes and documentation improvements to the largest extent possible, so that we can release 2.6.0 on time and in the best shape possible.

A big Thank You to everyone that contributed to this release so far, be it with code, reviews, documentation or any other type of contribution!

Kumar


Problem with SWD after Flash on STM32L432 Nucleo Board

Chuck Link
 

I am developing an application currently running on STM32L432 KC Nucleo reference board. I have created an STMCubeMX startup file and simple application that works flawlessly.  I can program and reprogram at 4000 kHz using the STM programmer tool.    I want to use Zephyr RTOS so I’ve built the Zephyr 2.5.0 L432KC project exactly as documented.  I can build either the “Blinky” or “HelloWorld” and load the image the first time flawlessly using The onboard ST-LINK at 4000 kHz.   However as soon as the Zephyr project is loaded, the SWD becomes troublesome.  West Flash loses complete control.  Moving back to STM tools I can sometimes connect.   I can not communicate at any speed other that 5 kHz. Sometimes not at all.   Usually it requires a power cycle and holding reset to erase (at 5 kHz) to reprogram.   Then I can use West Flash again.   


Most interesting, I can program the STMCubeMX image and reprogram multiple times at 4000 kHz.  If I move over to the Zephyr tools and image, I can use West Flash the first time at full speed and subsequently I can reprogram the Zephyr image at 480 kHz.  If I remove power from the target, I have to go back to the STM Programmer to erase the Zephyr image at 5 kHz and start the process again.  It appears at the Zephyr image is not initializing at least one register at startup.  Once the register is set using the STMCubeMX image, as long as power is not removed, the Zephyr image works OK (not great since programming speed is only 480 kHz.)

Has anyone else seen this or resolved this issue?  It appears that something is not being initialized completely.  I will continue the research, as well as try this on other STM boards.   

Thanks for the fantastic OS.  We are using it successfully on several other projects based on Nordic chips.   This is my first experience with STM chips.  


Thanks, Chuck


Re: Set GPIO with SYS_INIT() #gpio #nrf52840 #sys_init

Bob Recny
 

I realize I mentioned the need to set the pin low and that code above is attempting to set the pin high. If I just start the board without this code, the pin is measured low on my oscilloscope even with it unconfigured. I'm first setting the pin high so I can observe the change, then make the adjustment to low.


Set GPIO with SYS_INIT() #gpio #nrf52840 #sys_init

Bob Recny
 

Greetings,

I'm working on adding a board to Zephyr. I'm attempting to use a board.c file to configure GPIO pins as output and initialize them low on start-up. I've attempted to follow existing boards, but am not being successful. device_get_binding() always returns NULL so the call to gpio_pin_configure() never occurs. I took the nrf52840dk_nrf52840 board and added CMakeLists.txt and board.c.

CMakeLists.txt:

zephyr_library()
zephyr_library_sources(board.c)

board.c:

#include <init.h>
#include <drivers/gpio.h>

#define TEST_PIN	31		/* P0.31 */

static int board_init(const struct device *dev)
{
	ARG_UNUSED(dev);

	int ret;
	const struct device *gpio_port;
	gpio_port = device_get_binding(DT_LABEL(DT_NODELABEL(gpio0)));

        if (!mode_asel_port_dev) {
                return -ENODEV;
        }

	ret = gpio_pin_configure(mode_asel_port_dev, TEST_PIN, GPIO_OUTPUT_HIGH);
	if (ret < 0) {
		return ret;
	}

	return 0;
}

SYS_INIT(board_init,  POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);

Any suggestions?

Thanks, Bob


Set zephyr EXACT version

Rodrigo Brochado
 

Hello,

How can I restrain zephyr to be at a specific version on my application CmakeLists.txt?

I've done this:
find_package(Zephyr 2.7.0 EXACT)

even on the hello_world sample and it compiled normally with 2.4.0 without complains. I've also unset ZEPHYR_BASE with no success. I've followed this guide:
https://docs.zephyrproject.org/latest/guides/zephyr_cmake_package.html#zephyr-cmake-package-version

Thanks!


SDK 0.13.0-alpha-1 Release

Kumar Gala
 

Hi all,

Just wanted to let people be aware few have an alpha release of the v0.13.0 SDK. The main focus of this alpha release is to enable ARC64 support in the toolchain.

Additionally we’ve updated gcc to be based on the GCC 10.3.0 release and pulled in QEMU 6.0.0.

I expect we will update OpenOCD to be based on a snapshot post the v0.11.0 release. Also, there’s expectation that ESP32 support will be added as well.

The SDK can be found here:

https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.13.0-alpha-1

general:
Added support for ARC64. NOTE: GDB isn't currently supported
for ARC64.

qemu:
Updated to QEMU 6.0.0
Added arc64 support. NOTE: this update ARC support replaces
the machine (-M simhs) with (-M virt). This change will require
updates to boards/arc/qemu_arc/board.cmake in Zephyr to match.

gcc:
Update to gcc 10.3 release
Added support for ARC64

binutils:
Updated to add support for ARC64

newlib:
Updated to add support for ARC64

crosstool-ng:
sync with upstream. Upstream now supports newlib-nano so we drop
our Zephyr specific updates. This also pulls in gcc-10.3 and
initial support for ARC64.

yocto:
Update to yocto 3.2.3 baseline. This is in prep to support building
qemu-6.0.0

Thanks to all that contributed fixes and enhancements to this version of the SDK.

- k


Re: [Zephyr-devel] Network forum agenda

Jukka Rissanen
 

One topic emerged:

- WiFi and wpa supplicant support in Zephyr


Cheers,
Jukka

On Mon, 2021-05-03 at 17:57 +0300, Jukka Rissanen wrote:
Hi all,

There is a network forum meeting tomorrow Tue 4 May at 8AM PST /
17.00
CEST.

Currently the agenda is empty, so if there is anything network
related
topics you want to discuss, please let me know, otherwise I will
cancel
the meeting.

Live Agenda/Minutes:
https://docs.google.com/document/d/1qFsOpvbyLzhflJbbv4Vl__497pKHDoUCy9hjAveyCX0/edit?usp=sharing

Shared Folder:
https://drive.google.com/drive/folders/1j6d0FLeOjiMil1Ellb59AsfHdzuWdAAc?usp=sharing

___________________________________________________________
Join Microsoft Teams Meeting (
https://teams.microsoft.com/l/meetup-join/19%3ameeting_NDU5ODRkNzktZDBmNC00MDg5LWI2OWEtNzM0MGZjMDU0Yjgw%40thread.v2/0?context=%7b%22Tid%22%3a%22af0096d9-700c-411a-b795-b3dd7122bad2%22%2c%22Oid%22%3a%22841a7c92-7816-4faf-9887-5e334e88f6d8%22%7d
)
+1 321-558-6518 ( tel:+1 321-558-6518,,458216365# ) United States,
Orlando (Toll)
Conference ID: 458 216 365#
Local numbers (
https://dialin.teams.microsoft.com/325d775d-c910-441e-90d0-353ebaa56cdd?id=458216365
) | Reset PIN ( https://mysettings.lync.com/pstnconferencing ) |
Learn
more about Teams ( https://aka.ms/JoinTeamsMeeting ) | Meeting
options
(
https://teams.microsoft.com/meetingOptions/?organizerId=841a7c92-7816-4faf-9887-5e334e88f6d8&tenantId=af0096d9-700c-411a-b795-b3dd7122bad2&threadId=19_meeting_NDU5ODRkNzktZDBmNC00MDg5LWI2OWEtNzM0MGZjMDU0Yjgw@thread.v2&messageId=0&language=en-US
)


Cheers,
Jukka







Network forum agenda

Jukka Rissanen
 

Hi all,

There is a network forum meeting tomorrow Tue 4 May at 8AM PST / 17.00
CEST.

Currently the agenda is empty, so if there is anything network related
topics you want to discuss, please let me know, otherwise I will cancel
the meeting.

Live Agenda/Minutes:
https://docs.google.com/document/d/1qFsOpvbyLzhflJbbv4Vl__497pKHDoUCy9hjAveyCX0/edit?usp=sharing

Shared Folder:
https://drive.google.com/drive/folders/1j6d0FLeOjiMil1Ellb59AsfHdzuWdAAc?usp=sharing

___________________________________________________________
Join Microsoft Teams Meeting (
https://teams.microsoft.com/l/meetup-join/19%3ameeting_NDU5ODRkNzktZDBmNC00MDg5LWI2OWEtNzM0MGZjMDU0Yjgw%40thread.v2/0?context=%7b%22Tid%22%3a%22af0096d9-700c-411a-b795-b3dd7122bad2%22%2c%22Oid%22%3a%22841a7c92-7816-4faf-9887-5e334e88f6d8%22%7d
)
+1 321-558-6518 ( tel:+1 321-558-6518,,458216365# ) United States,
Orlando (Toll)
Conference ID: 458 216 365#
Local numbers (
https://dialin.teams.microsoft.com/325d775d-c910-441e-90d0-353ebaa56cdd?id=458216365
) | Reset PIN ( https://mysettings.lync.com/pstnconferencing ) | Learn
more about Teams ( https://aka.ms/JoinTeamsMeeting ) | Meeting options
(
https://teams.microsoft.com/meetingOptions/?organizerId=841a7c92-7816-4faf-9887-5e334e88f6d8&tenantId=af0096d9-700c-411a-b795-b3dd7122bad2&threadId=19_meeting_NDU5ODRkNzktZDBmNC00MDg5LWI2OWEtNzM0MGZjMDU0Yjgw@thread.v2&messageId=0&language=en-US
)


Cheers,
Jukka


No binding for LIS3DH #dts

Kiril Zyapkov
 

I played with Zephyr back in 2018 -- I had a working setup with custom out-of-tree board for CJMCU8223 -- a Chinese thingy with NRF51. Some days ago, I decided to revive this setup and use it for a toy project.

It took some fiddling to adapt to the latest Zephyr and `west`, but I think I got most everything in place. One issue remains though -- I cannot get a binding for the LIS3DH sensor onboard. I think the issue comes from some mismatch in the "compatible" strings and related DT glue -- at some point LIS3DH has been merged with LIS2DH. It must be some obvious oversight, but I don't know the system well enough to trace it.

I think the issue is not with my custom board, because trying to build `zephyr/samples/sensor/lis2dh` for one of the in-tree boards with LIS3DH sensors results in the same error:

#warning "LIS2DH driver enabled without any devices"

or a linker error if using `DEVICE_DT_GET()`.

To reproduce:

Add the okay for the sensor node in, say, 96b_wistrio.overlay:
&i2c1 {
    lis3dh@32 {
        status = "okay";
    };
};

Change `st_lis2dh` to `st_lis3dh` in `zephyr/samples/sensor/lis2dh/src/main.c`

Run `west build -b 96b_wistrio zephyr/samples/sensor/lis2dh`

Also, my custom board, failing in the same way:

git clone https://github.com/kzyapkov/zephyr-cjmcu8223/
west build -b cjmcu8223 zephyr-cjmcu8223/sample_app/

I hope that's something trivial to fix.

Cheers!
-- Kiril

21 - 40 of 2599