FreeRTOS Application Design

I’m new in FreeRTOS and I want to ask if I want to design the application correctly. My embedded system includes external RTC Clock, EEPROM (save device settings), Display, keypad and some remote control. I plan to store device configuration data in a global structure.

I have planned the following tasks:

  • Task1 - Keypad and menu operation which update data in global structure and make some action
  • Task2 - Refresh display
  • Task3 - Getting time from RTC every second
  • Task4 - Remote control that can upgrade data in global structure and make some action

Is the division of the program into tasks correct? Does it make sense to use a global structure to data store in freertos?

Sounds reasonable so far :+1:
Well, the shared, global data structure can be an easy, simple solution if accesses are not very frequent and properly protected by a mutex.
The alternative approach would be to distribute the necessary, partial information to each task it belongs to e.g. by a queue.