Message Passing API Timing

Some RTOS producers are loathe to benchmark their products, or allow their users to do so. Here at ImageCraft, we welcome it :-). As detailed in this blog post, we have calculated that it takes approximately 3200 instructions (or about 32 microseconds on a 100MHz STM32F411 MCU) to perform a message send until the receiver sends a reply:

 

SetPortA5();
REXIS_MessageSend(SD_ServerTask_pid, cmdbuf, 2, reqbuf, REQLEN);
ClearPortA5();

 

The SetPortA5() and ClearPortA5() calls respectively set and clear PORTA pin 5, and allow the signal to be monitored by a logic analyzer for timing purpose.