Example Programs¶
Channel test CM4¶
Channel x core client CM4 Thread¶
This thread is a channels sender thread (client) for the xCore_channel. The xCore_channel_id channel is inter-program and inter-core channel and this client thread tests if the implementation is functional and client can send and receive a reply from the reply (server) thread.
Channel test CM7¶
Channel x core server CM7 Thread¶
This thread is a channels reply thread (server) for the xCore_channel. The xCore_channel_id channel is inter-program and inter-core channel and this server thread tests if the implementation is functional and server can initialize the channel, receive data and reply.
Channel same core server CM7 Thread¶
This thread is a channels reply thread (server) for the sameCore_channel. The sameCore_channel_id channel is inter-program but not inter-core channel and this server thread tests if the implementation is functional and server can initialize the channel, receive data and reply.
Channel same core client CM4 Thread¶
This thread is a channels sender thread (client) for the sameCore_channel. The sameCore_channel_id channel is inter-program but not inter-core channel and this client thread tests if the implementation is functional and client can send and receive a reply from the reply (server) thread.
Default CM4¶
sysJobsGroup 10ms CM4 handler function¶
This is the handler for the system jobs group which is scheduled every 10 miliseconds. We use this handler to do timing measurements of the system job group scheduling with the digital logic analyzer.
Default CM7¶
sysJobsGroup 20ms CM7 handler function¶
This is the handler for the system jobs group which is scheduled every 20 miliseconds. We use this handler to do timing measurements of the system job group scheduling with the digital logic analyzer.
Ethernet communication¶
TCPIP CM7 Thread¶
This thread contains demo LWIP code with the TCP/IP echo initialization and ethernet input function calls.
Interrupt handlers CM7¶
TIM2 xCore IRQHandler Thread CM7¶
This thread handles the timer 2 interrupt, that is actually triggered on the different core (CM4) to test its functionality.
Logger¶
Logger Thread¶
This thread triggers DMA stream to USART3 when the USART3 TX was completed and logger buffer is not empty.
User log function¶
This function is a interface provided for the other programs to not explicitly call the buffer write array function there with the logger buffer identifier.
HAL UART TxCpltCallback¶
UART TX complete callback change the buffer tail position and the buffer full cells number after the data were sent successfully.
Timing measurement CM4¶
Timing measurement task CM4¶
This critical task can be used to do some timining measurements by toggling some of the GPIO pins. Also the buffer write and read operations are tested within this task together with the spinlock obtaining. This task also tries to get mutex to see that the operating system handles this request correctly and returns error.
Synchronization and dynamicAllocation test thread CM4¶
This thread contains the dynamic allocation test of the new and delete operator. Also it tries to get resources mutex mapped to the timing measurement CM4 program.
Synchronization test thread CM4¶
This thread tries to get resources mutex mapped to the timing measurement CM4 program. This thread also uses user log function to output some message through the USART3. To test semaphores this thread tries also to get the semaphore_test_0.
Timing measurement CM7¶
Timing measurement task CM7¶
This critical task can be used to do some timining measurements by toggling some of the GPIO pins. Also the buffer write and read operations are tested within this task together with the spinlock obtaining. This task also tries to get mutex to see that the operating system handles this request correctly and returns error.
Synchronization and dynamicAllocation test thread CM7¶
This thread contains the dynamic allocation test of the new and delete operator. Also it tries to get gpio e mutex mapped to the timing measurement CM7 program. This thread also uses user log function to output some message through the USART3. To test semaphores this thread tries also to get the semaphore_test_0.