Part Number: AM625
Dear support,
I am developing an application on the M4 core that requires me to use UART during MCU Only mode. I noticed that during MCU Only, the MCU_UART0 is not transmitting. I am using an FTDI to capture my UART data.
What I notice is that I can receive characters when both the CPU and M4 are awake. When I put the CPU in MCU Only mode using the commands below, the characters are no longer printed. But when the CPU wakes up from MCU Only mode, the characters resume printing. I also checked with a loop counter to see if the M4 continues to run and it increments during sleep.
echo 100 > /sys/devices/system/cpu/cpu0/power/pm_qos_resume_latency_us
echo mem > /sys/power/state
Could it be a device tree setting not being right? Or perhaps is the MCU UART peripheral not correctly configured?
With kind regards,
Job Meulenbeld
Test code in a separate task:
static void uart_print_char(char c)
{
UART_Transaction transaction;
UART_Transaction_init(&transaction);
transaction.buf = &c;
transaction.count = 1U;
UART_write(gUartHandle[CONFIG_UART0], &transaction);
}
static void Test_Task(void *args){
while (1)
{
GPIO_pinWriteLow(baseAddr, CONFIG_GPIO0_PIN);
uart_print_char('X');
vTaskDelay(pdMS_TO_TICKS(1000));
GPIO_pinWriteHigh(baseAddr, CONFIG_GPIO0_PIN);
uart_print_char('Y');
vTaskDelay(pdMS_TO_TICKS(1000));
gToggleCount++;
}
}
