This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/MSP430F5259: UART_write() execution - inconsistent performance

Part Number: MSP430F5259
Other Parts Discussed in Thread: CC2650

Tool/software: TI-RTOS


In my application I use 2 MCUs - main MSP430 and auxiliary CC2650 for communication. The MSP430 push the messages to the CC2650 through a UART channel (to SPP_BLE_server)

An "App level  message" is broken into 3 "sub-messages" comprising a header, message body and footer and all 3 sub-messages are sent using UART_write() api (operating in blocking mode).

Now, I experience a strange phenomenon - 

A task start running upon semaphore/mailbox and need to send N messages from the main->auxiliary MCU (recall that each message is further broken to 3 sub-messages by lower level of the software).

The first message (3 sub-messages) takes a very long time to send comparing the the subsequent (N-1) messages, It feels like the UART need to wake and re-initialize or something on the 1st message.

I've commented out all potential locking mechanisms/gateMutexes etc, but I keep getting extremely slow response on the 1st message (regardless of the message length)

I have difficulty in implementing SystemAnalyzer (system hangs on Memory_alloc() call), so I can't get finer resolution at the moment.

What could be the reason for this slugish response ?

Any comment iis appreciated.


**Attention** This is a public forum