Combination of HAL and SPL drivers

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
BaT_3785171
Level 2
Level 2
First like given

I would like to do following steps in my project.

1) Create completely new project (Let us say project name is 'xyz') in WICED studio.

2) Port a IAR source code written using HAL drivers for STM32F411 to new WICED project 'xyz'.

3)  Integrate the wifi drivers present in 43xxx_Wi-Fi project  to 'xyz' project

My question is

1) Is this practically possible to do these steps?

2)  If yes what challenges i may face ?

0 Likes
1 Solution
RaktimR_11
Moderator
Moderator
Moderator
500 replies posted 250 replies posted 100 replies posted

As already described inhal to spl drivers, we have not really attempted this from our end. But this is practically possible to do in WS but the time for this effort entirely depends upon your familiarity with WICED Studio environment. You need to modify the libraries.mk (43xxx_Wi-Fi/WICED/platform/MCU/STM32F4xx/peripherals/libraries/libraries.mk), peripherals.mk (43xxx_Wi-Fi/WICED/platform/MCU/STM32F4xx/peripherals/peripherals.mk) and write your own platform level files for the peripherals which should leverage the underlying HAL APIs (eg platform_uart.c, platform_pwm.c based on your peripherals requirement you want for your application).

View solution in original post

1 Reply
RaktimR_11
Moderator
Moderator
Moderator
500 replies posted 250 replies posted 100 replies posted

As already described inhal to spl drivers, we have not really attempted this from our end. But this is practically possible to do in WS but the time for this effort entirely depends upon your familiarity with WICED Studio environment. You need to modify the libraries.mk (43xxx_Wi-Fi/WICED/platform/MCU/STM32F4xx/peripherals/libraries/libraries.mk), peripherals.mk (43xxx_Wi-Fi/WICED/platform/MCU/STM32F4xx/peripherals/peripherals.mk) and write your own platform level files for the peripherals which should leverage the underlying HAL APIs (eg platform_uart.c, platform_pwm.c based on your peripherals requirement you want for your application).