Skip to main content
Visitor II
February 4, 2022
Question

Can someone try to compile Azure RTOS MQTT for the H735DK ?

  • February 4, 2022
  • 8 replies
  • 6537 views

I keep getting the same errors:

trying to compile a fresh copy from GITHUB

Repository\x-cube-azrtos-h7-main\Projects\STM32H735G-DK\Applications\NetXDuo\Nx_MQTT_Client

Surely someone at ST can compile this code and tell me what is missing...

@Haithem Rahmani​ here is the fresh copy that wont install... again... errors below again...

Can you compile it please ??

When you find out how to fix it, can let me know ?

I have spent thousands of hours helping other people on this site...

Its your turn to help me.

Is this a clue ? I dont understand what this means...

can you look at it ? and explain it to me ?

TX_INCLUDE_USER_DEFINE_FILE;

NX_INCLUDE_USER_DEFINE_FILE;

USE_HAL_DRIVER

maybe easier if you compile it.. and show me what this means

    This topic has been closed for replies.

    8 replies

    Technical Moderator
    February 4, 2022

    Hello,

    >> Can you compile it please ??

    I just compiled it under IAR 9.20.1 and STM32CubeIde 1.8.0 and I get no error (I don't have Keil on my PC)

    >> When you find out how to fix it, can let me know ?

    From the errors in the screenshot, it seems like you don't compile the files:

    Middlewares\ThreadX\RTOS\ThreadX\Core\tx_thread_schedule.s

    Application\User\Core\tx_initialize_low_level.s

    Middlewares\ThreadX\RTOS\ThreadX\Core\tx_thread_stack_build.s

    And maybe other assembly files.

    Hope that helps a bit.

    T JAuthor
    Visitor II
    February 4, 2022

    Thanks Mike, @Mike_ST​ @Alexander CZAJOR​ 

    It seems that the CubeMX doesn't generate the scripts for the MDK-ARM completely or correctly.

    can you ask the CubeMX team to look into it ?

    I will try to add those files to the compile list...

    at last someone has some programming capacity at ST.

    Thanks again Mike..

    Hero Badge for you...

    T JAuthor
    Visitor II
    February 5, 2022

    @Mike_ST​ 

    there is no folder RTOS under Threadx there is no Core under Threadx

    Can we compile without RTOS ? How ?

    there seems to be a batch file for compiling this stuff... can you ask the CubeMx team to fix this issue... for the MDK-ARM solution ?

    I will have to wait for that...

    I just need a sample program running first, then I will be able to work on the great looking H735... we want to run SSL to our cloud files in Azure.

    Could you set up a project like that ? No RTOS, Azure SSL sample connection that compiles for H735 and connects to Azure... that is what we need.

    We do many boards here, all have STM32 , we use H7, L4, F7, F0, G0. everything works really well from the cube... except Azure.

    We have projects using 12DMAs simultaneously, SDcard QSPI, eMMC Touch works brilliantly, everything works on our own boards. all running from the cube startup.

    We dont use RTOS, prefer not to use it.

    We have developed "Terminal Windows", which works very well and super quick, running any number of tasks without any Locking required.

    I guess this H735 is pretty much the best low-end processor you have.

    PS. Visual Studio is a fantastic solution for all our code... please get some employees to start using it...

    I found the best way to link into the cubeMx is by importing the MDK-ARM project into VS directly...

    with visulaGDB, the breakpoints, single step, watch, hardware registers etc work very well...

    I can compile flash and run under 15seconds usually... most of our code is approx 128k compiled.

    very good solution, except Azure wont compile.

    I have no idea how to move forward here... but wait... for the CubeMx team,

    @Alexander CZAJOR​ can you push this through please ?

    Thanks for the good response..

    Technical Moderator
    February 7, 2022

    Hello again,

    >> there is no folder RTOS under Threadx there is no Core under Threadx

    Sorry for the incorrect paths, I blindly copied them from the IAR map file... But they are not the actual ones:

    so for IAR tx_thread_schedule.s and tx_thread_stack_build.s are in:

    \Middlewares\ST\threadx\ports\cortex_m7\iar\src

    But I think you guessed it already.

    >> there seems to be a batch file for compiling this stuff... can you ask the CubeMx team to fix this issue... for the MDK-ARM solution ?

    Keil uses the files in \Middlewares\ST\threadx\ports\cortex_m7\ac6 folder (please check screenshot if that helps).

    0693W00000JOoVrQAL.png

    T JAuthor
    Visitor II
    February 8, 2022

    @Mike_ST​ 

    Hi Mike,

    thanks for the support...

    ok, I had to copy the /ac5/example_build folder over to ac6

    so I could add the initialise_low file..

    and like you said, the

    ... Repository\x-cube-azrtos-h7-main\Middlewares\ST\threadx\ports\cortex_m7\ac6\src\tx_thread_stack_build.s and tx_thread_schedule.s

    I checked the ... Repository\x-cube-azrtos-h7-main\Middlewares\ST\threadx\ports\cortex_m7\ac6\inc file was already included in the linker folder list

    but now there are huge numbers of errors...

    :(

    nope wont compile...

    build log attached

    Can you check the MDK-ARM build ?

    on a fresh Windows install ?

    Technical Moderator
    February 8, 2022

    Hello,

    from the log pictures, I would say that you're trying to compile the wrong tx_initialize_low_level.s

    Please use the one in the project folder:

    x-cube-azrtos-h7-main\Projects\STM32H735G-DK\Applications\NetXDuo\Nx_MQTT_Client\Core

    0693W00000JOxTzQAL.png

    T JAuthor
    Visitor II
    February 10, 2022

    Hi Mike, @Mike_ST​ 

    Yes, that low level init was ftom the AC6 folder I had to copy from the AC5 folder...

    ok, switching to the new file ..

    ok, thats much better , but still has a few issues,

    now linking these 3 extra files to the cube project..

    ......Repository\x-cube-azrtos-h7-main\Projects\STM32H735G-DK\Applications\NetXDuo\Nx_MQTT_Client\Core\Src\tx_initialize_low_level.s

    checking the other files: // please check these are correct...

    ......Repository\x-cube-azrtos-h7-main\Middlewares\ST\threadx\ports\cortex_m7\ac6\src\tx_thread_schedule.s

    .....Repository\x-cube-azrtos-h7-main\Middlewares\ST\threadx\ports\cortex_m7\ac6\src\tx_thread_stack_build.s

    ok, the new error list is tiny...

    DTCRAM is overflowing ?

    plus a couple extra issues, please revert back...

    Thanks for the good work... almost there...

    @Alexander CZAJOR​ looking good but not quite there... it seems that the cube team haven't added all the files to the script on MDK-ARM project.

    I import the MDK-ARM project into Visual Studio....

    Technical Moderator
    February 10, 2022

    _tx_timer_interrupt is defined in tx_timer_interrupt.s

    Do you compile it .?

    __Vectors is defined in startup_stm32h735xx.s do you compile it ?

    Not sure, Symbol Image$$RW_IRAM1$$ZI$$Limit seems to refer to

    the following section in the scater file Nx_MQTT_Client.sct:

     RW_IRAM1 0x24000000 0x00030000 {

      .ANY (+RW +ZI)

     }

    Maybe you have to adapt it for the IDE you are using.

    >> it seems that the cube team haven't added all the files to the script on MDK-ARM project.

    Don't know what you are talking about as that project compiles without error under MDK-ARM.

    ST Employee
    February 9, 2022

    Hi @Community member​,

    Which MD-ARM version are you using? it should be v5.31 or higher.

    Just tested and the project compiles correctly with some known warnings nothing more.

    0693W00000JP9qRQAT.png

    T JAuthor
    Visitor II
    February 10, 2022

    Hello Haithem, @Haithem Rahmani​ 

    I am not sure how to check that... :( "Which MD-ARM version are you using? it should be v5.31 or higher"

    I am using Visual Studio and importing the MDK-ARM project from the cube...

    but actually, in this instance, I downloaded the GitHub Repository as Mike requested and that is your code directly... from the cube team, I guess

    how to check that from your GitHub repository ?

    I cannot see any reference to the MDK-ARM import versioning, from within Visual Studio..

    Nick.

    Technical Moderator
    February 10, 2022

    >> I downloaded the GitHub Repository as Mike requested.

    I never requested that.

    ST Employee
    February 10, 2022

    @Community member​ 

    The way your are using to build the project isn't supported by the package or at least never tested on our side.(Visual Studio)

    The issue seems to be related the IDE you are using, the preprocessor defines are not defined correctly.

    regards

    Haithem.

    T JAuthor
    Visitor II
    February 16, 2022

    Sorry guys I cant get it to work on Visual Studio.

    I dont want to use any other platform..

    If you could get it working and let me know the secret...

    Obviously something is different.

    I have to dump ST, if its unsupported in Visual Studio....

    I dont have MDK-ARM, I just use the Cube MDK-ARM link, to import into Visual Studio...

    everything else is a breeze in Visual Studio

    Azure shouldn't be so hard.

    @Alexander CZAJOR​  can you ask someone to work on the Visual Studio compile ?