MQTT with TLS

Hi,

I’ve been trying to read documentation into the subject; But I see people using it with a Visual Studio based simulator.

Does this work on a MCU such as the STM32H7 ?

Thanks,

Manu

FreeRTOS is designed specifically for use on microcontrollers such as the STM32H7. The Visual Studio port is purely used for convenience as the tools are free, powerful, and do not require users to have any particular hardware in order to use a demo. Everything that we present in Visual Studio is actually designed to run on a microcontroller.

1 Like

Hi Richard,

Thanks for the clarification. I was a bit confused, but it is clear now. Can you recommend a link, where to get started up on the topic ?

Thanks,

Manu

In case you want to use FreeRTOS+TCP, you can use a new driver that was just sumitted on Github.

As for now, you can find the source in this branch.

1 Like

Hi Hein,

Just what the patient wanted and what the doctor ordered. :slight_smile: Please do see my other post on the H7 Ethernet.

Any other pointers you have for me, before I adorn the scuba gear ?

Much appreciated.

Thanks,
Manu

That’s it, just dive into it.

Here is the FreeRTOSIPConfig.h file that I used while testing: stm32h7_example_settings.zip (16.7 KB)

Please also have a look in the readme.md, that accompanies the NetworkInterface.

Do you already have a working FreeRTOS project for your board? Which board do you have?

I have a STM32H743ZI2 (MB1364C) Nucleo-144 board at my end.

Previously tried some small tests with FreeRTOS on my board.
Have not tried out FreRTOS+TCP yet. I was searching around on that
part.

Thanks,

Manu

Hello Manu,

I have a STM32H743ZI2 (MB1364C) Nucleo-144 board at my end.

I had an STM32H747 DISC0 to develop and test the driver. The memory layout might differ a bit.

My board needed soldering to disable the display and to enable the Ethernet. Also I had to solder wires to lift up the BOOT0 pen. Using jumpers would have been easier.

Like I wrote, you will have to change the linker script to add an entry for RAM3. Here is my linker file: STM32H747XIHX_FLASH.ld.zip (1.8 KB), but it might not work for a STM32H743.

Previously tried some small tests with FreeRTOS on my board.
Have not tried out FreRTOS+TCP yet. I was searching around on that
part.

There is a lot of documentation about that. If you want I can send you a copy of my testing project.

When developing, remember to use stacks that are big enough, a large heap, activate the application hooks for stack overflow and heap failures. Enable configASSERT etc etc.

Some part of my RAM will only work when the compiler uses optimisation (-Os). Without optimisation, the memory seems unreliable. I haven’t figured out yet what happened.

Just to be sure: I run the IP-task on the CM7 core, which runs on 400 MHz.

Hi Hein,

Would be great to have a copy of your test setup.

Regarding the RAM, did you mean the SRAM on the MCU, or the SDRAM chip soldered on the board ?

H743 and H747 both have single CM7 cores looking at the datasheets.

I was initially running at 400MHz, but in between tried 480Mhz as well. Switching to 400MHz does not seem to be a stumbling block.

Thanks,

Manu