u-blox / ubxlib

Portable C libraries which provide APIs to build applications with u-blox products and services. Delivered as add-on to existing microcontroller and RTOS SDKs.
Apache License 2.0
300 stars 88 forks source link

STM32U5 support feature #126

Closed rickko40 closed 6 months ago

rickko40 commented 1 year ago

Is there any plan to support a version of the ubxlib for other STM32 families? We started with the STM32F4 dev kit, but are looking to use STM32U5xx with CMSIS v2 api for our product. Are there plans to support either STM32U5 with Azure RTOS or STM32U5 with CMSIS v2? If ubxlib releases are planned with Azure RTOS we may consider moving our application to use this api and middleware since that appears to be STM's roadmap for it's newer devices.

hkro commented 1 year ago

We have looked into supporting STM32U5. Currently the situation with RTOS support of STM32U5 and ubxlib looks like this:

AzureRTOS

STM32CubeU5 has Azure RTOS / ThreadX natively built-in under the middlewares/ST folder (interesting). The STM32CubeU5 HAL Driver MCU Component is copied in there, no git submodule is used, perhaps synced manually.

ubxlib currently does not support Azure RTOS. If there will be enough demand we'll add it.

FreeRTOS

There is a STM32U5 reference repo vailable which includes the STM32U5 HAL driver component as submodule. This model of driver publication/delivery is relatively new from ST as written in the last paragraph here.

ubxlib supports the legacy (monolitic) STM32Cube package. Extending that to support the new STM32U5 MCU components we'll consider on the long run.

Zephyr OS

Zephyr has hal_stm32 build-in under https://github.com/zephyrproject-rtos/hal_stm32.

ubxlib support if you run Zephyr on the STM32U5:

Hope this helps.

RobMeades commented 6 months ago

We now include in our regression testing ubxlib running on an STM32U575ZI processor (Nucleo U575ZI board) under Zephyr, talking to a cellular module (over UART) and a GNSS device (over I2C), see e96516309e8a05e9ca910931e511b00770a0a0a4. Given that works, I'm afraid it is unlikely we would do an STM32Firmware/CMSIS-based port of the same MCU, so we will close this issue.