cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H573I-DK Azure IoT example locks up

Rob Ashworth
Senior

I have a STM32H573I-DK discovery board, purchased for the purpose of getting to grips with Azure IoT.

It appears however that the example does not run properly.

Compiles and links OK, and I am using the Wireless plug in board as supplied, but it gets stuck initialising the network,

I think there is an issue with the .ld and associated .s file.  The Readme says to make modifications but is not very explicit on what the modifications should be.  I have given it a go by adding a RAM_D1 section, but its having no effect.

MY suspicion is that it stops as it attempts to run the Azure RTOS, because it has not been allocated somewhere in memory to run, but why doesn't the example run as supplied?

 

Also any attempt to modify the .ioc file followed by a save results in lots of compilation errors, so again, there is a problem there - may not be directly related, but I was trying to modify the RAM sections using .ioc

Does anyone have a function project?

MIsc.jpg

 

1 ACCEPTED SOLUTION

Accepted Solutions

Maybe the MXCHIP firmware version on the MB1400 is old. it must be updated to v2.3.4

try to update the MB1400 MXCHIP firmware version to 2.3.4:

see ROT application README in Projects/STM32H573I-DK/Applications/ROT/Nx_Azure_IoT/README.html

there is a paragraph about MXCHIP firmware update (in Hardware and Software environment).

it uses python script under Projects/STM32H573I-DK/Applications/ROT/Nx_Azure_IoT/AzureScripts/mxchip

basically it downloads to the STM32H573I-DK board the STM32 flashing application available in Projects/STM32H573I-DK/Applications/ROT/Nx_Azure_IoT/AzureScripts/mxchip/bin/EMW3080update_STM32H573I-DK-RevA-MB1400-SPI_V2.3.4.bin

the STM32 application embeds the MXCHIP firmware . It programs it to the MB1400 daughter board.

if you don't want to use the python script, just drag and drop the application to the STM32 board drive (or use STM32CubeProgrammer), then reset the board to start the application, then type "flash" command on serial terminal (connected to the board COM port).

Another way is to download x-wifi-emw3080b from st.com and follow the instructions in release notes (select the application for STM32H573I-DK, MXCHIP firmware 2.3.4). it's the same flashing application as above.

 

 

View solution in original post

4 REPLIES 4
Guillaume K
ST Employee

Hello

From the screen shot I guess you are using the non-trustzone Azure IoT example application in X-CUBE-AZURE-H5 1.0.0 under Projects\STM32H573I-DK\Applications\NetXDuo\Nx_Azure_IoT.

Normally there's no need to change the linker and .s files.

You mention .ld file so I guess you are using STM32CubeIDE ? what version ? on Windows , Linux or Mac ?

You write you are using the wireless plug in board supplied.

Did you add USE_WIFI as a global C define in the project of the compiler you are using ? (as indicated in the project readme).

did you define the SSID name and password in NetXDuo/App/app_azure_iot_config.h ?

if the WIFI SSID name or password is incorrect the application will stay stuck forever.

does your local WiFi access point use WPA3 ? I am not sure, but there may be problem with WPA3. try to use an access point with WPA2.

 

Hi Guillaume,

Thanks for the update.

I have checked a few things based on your comments above so:

STM32CubeIDE - Yes v1.15.1 Mac OS. (I have tried it on 2 machines)

Yes, USE_WIFI added to project

Yes, SSID and password added to the file app_azure_iot_config.h

Network I just checked it with is WPA2, and I have tried 3 different wifi network in various locations - home, work etc with same issue.

I also tried with the cable (removed the USE_WIFI) and and all seems ok, so there is something not initialising with the wifi for some reason, but using the cable is not practical for my application.

As an aside the why are ST developers hiding the .h files that are often needed  - like this one, it can take quite a long time to find them sometimes.  Is there an easy way to get them to appear other than manually dragging each file, as there are literally hundreds.  I see other users have complained also about this feature.

Any suggestions as to why the Wifi board not working?

 

Maybe the MXCHIP firmware version on the MB1400 is old. it must be updated to v2.3.4

try to update the MB1400 MXCHIP firmware version to 2.3.4:

see ROT application README in Projects/STM32H573I-DK/Applications/ROT/Nx_Azure_IoT/README.html

there is a paragraph about MXCHIP firmware update (in Hardware and Software environment).

it uses python script under Projects/STM32H573I-DK/Applications/ROT/Nx_Azure_IoT/AzureScripts/mxchip

basically it downloads to the STM32H573I-DK board the STM32 flashing application available in Projects/STM32H573I-DK/Applications/ROT/Nx_Azure_IoT/AzureScripts/mxchip/bin/EMW3080update_STM32H573I-DK-RevA-MB1400-SPI_V2.3.4.bin

the STM32 application embeds the MXCHIP firmware . It programs it to the MB1400 daughter board.

if you don't want to use the python script, just drag and drop the application to the STM32 board drive (or use STM32CubeProgrammer), then reset the board to start the application, then type "flash" command on serial terminal (connected to the board COM port).

Another way is to download x-wifi-emw3080b from st.com and follow the instructions in release notes (select the application for STM32H573I-DK, MXCHIP firmware 2.3.4). it's the same flashing application as above.

 

 

Awesome Guillaume, that sorted it.  The Wifi board must have had an old firmware revision.  Up and running now.  Maybe ST should put a bit of additional info in the Readme..!