I am forced to use FreeRTOS on a processor with limited access through an API for real-time routines. This means that I cannot get direct contact with interrupts etc. Can I get some hints to solve the issue? The following are the functions which I can use.
• FUNCInit (void)
Initializes the Real-Time-Kernel module and set up a free running counter with a resolution of 1us.
• FUNCStartTime (datatype4 ˚const timestamp)
Returns a timestamp.
• datatype4 FUNCGetTimeUS (datatype4 timestamp)
Returns the passed time.
• FUNCPeriodicInit (datatype2 period, VAREVENTHANDLER eventhandler)
Initializes the Periodic Timer.
• FUNCPeriodicDeInit (void)
Deinitializes the Periodic Timer and stops it.
• FUNCInitDateAndTime (void)
Initializes the external Real-Time-Kernel device for date and time operations.
• FUNCGetDateAndTime (datatype1 ˚const seconds, datatype1 ˚const minutes,
datatype1 ˚const hours, datatype1 ˚const days, datatype1 ˚const months, datatype1 ˚const years)
Returns the date and time of the real time clock.
• FUNCSetDateAndTime (datatype1 seconds, datatype1 minutes, datatype1 hours,
datatype1 days, datatype1 months, datatype1 years)
Sets the date and time of the real time clock.
• FUNCGetDateAndTimeStatus (void)
Gets the status of the external Real-Time-Kernel device.
• FUNC_DeInitDateAndTime (void)
Deinitializes the external Real-Time-Kernel device.
I'm not sure what you are trying to do. Are you trying to create a port for this CPU, with only access to these functions? To create a port you would need to be able to install a handler on the timer interrupt, as well as generate interrupts yourself. What are the functions you posted for and where did they come from?
It is for a safety certified controller where the access to the interrupts and other low level artifacts is not possible. The only thing in hand is the functions mentioned above.
Do you know what core is used by the controller? For example, is it an ARM Cortex-M?