How to add the FreeRTOS in simulink for S32K? There is no FreeRTOS block in the toolbox.
Indeed there is not special block for FreeRTOS. Can you explain us what are you trying to achieve ?
Depending on your feedback we may suggests some approaches.
So, you wish to have a block that configures the FreeRTOS ? If so, what type of configuration are you looking for?
You wish to insert/inject automatic C code generated from Simulink into specific FreeRTOS tasks ?
Looking forward to hearing from you soon!
I mean how to achieve task scheduling in simulink?because I am unfamiliar with the simulimk about task scheduling,but i know, this can be done in simulink, So i wan to know that how to achieve task scheduling like FreeRTOS,or if you have some ways ,pls tell me.
thank you very much!
Sorry for delay - i had to do some research. Unfortunately,i could not find any relevant information on this matter.
Still i think that with a bit of persuade it can be done using Stateflow logic to implement the scheduler and a combination of custom code injection to call/initialize/reset and terminate Simulink blocks.
The scheduler can easily implemented using the Stateflow like in these examples: Schedule Execution of Simulink Subsystems - MATLAB & Simulink
e.g.: time based scheduller
Then within each subsystem you could use S-function block to call a specific RTOS Tasks using this type of approach: Resolver Initialization - Code Generation and Optimization in the Model Based Software
Hope this helps!
You need to create .tlc files for RTW so it knows how to build for FreeRTOS.
I made a ChibiOS/RT (Another RTOS) blockset a few years ago: GitHub - jed-frey/ChibiOS_SimulinkBlockset: ChibiOS Blockset
In particular look at ChibiOS_SimulinkBlockset/chibiOS_customRoutineProcess.tlc. It shows how to start a Thread based on Simulink task rates.
I am currently working on just this, a set of FreeRTOS blocksets for the inexpensive MPC57xx devkits. However it is not near completion at this time.
Check this model for me. What's wrong with it?
CAN warning interrupt cannot enter
I see that you have a triggered system that is supposed to sent the CAN messages. I guess you can't sent those messages out right ?
This is how i would approach the problem:
- step 1: use a simple program to sent a CAN message based on a time interrupt and verify with a CAN viewer that i can receive the messages. This will validate the basic CAN configuration and CAN network
- step 2: using S32 Design Studio, i would try to attach to the running target (without reset) when the real application is running but not transmitting CAN. This way you can suspend the processor execution and check where the PC is. Then please a breakpoint in the task you are supposed to sent the CAN messages and check is you ever enter into that or not.
In general the S32 Design Studio or any other IDE supporting that processor you are using is the only way to debug the application
Hope this will inspire you!
thank you very much,i will try to do.
Retrieving data ...