SoC common: src_ao: fix uart tx stuck issue [1/1]

PD#SH-20626

Problem:
AOCPU may stuck due to UART TX FIFO full when competition
for UART TX resource occurs between AOCPU and ARM, because
the UART transmission mode is polling mode both for AOCPU and
ARM, AOCPU UART transmission may stuck when there are mass
print logs transmitted by ARM, this may cause a long time
stuck on AOCPU which leads to exception for some drivers.

Solution:
1. Add TX buffer in UART driver to store characters when UART
TX FIFO is full, and the size of TX buffer can be changed.
2. When TX buffer is full, UART driver will discard the
transmitted characters and print warning logs when the
UART TX FIFO is empty.

Verify:
T3-T982
T5D-AM311

Change-Id: I49e5dbf73d11b68f0b342d68282e4350e0ae0518
Signed-off-by: Yao Jie <jie.yao@amlogic.com>
35 files changed
tree: 85a9fefd345ec4224483d71760106a8b71d1c28b
  1. demos/
  2. lib/
  3. scripts/
  4. change_log.txt
  5. check.sh
  6. clean
  7. directories.txt
  8. LICENSE
  9. mk
  10. README.md
README.md

Getting Started

For more information on Amazon FreeRTOS, refer to the Getting Started section of Amazon FreeRTOS webpage.

To directly access the Getting Started Guide for supported hardware platforms, click the corresponding link in the Supported Hardware section below.

For detailed documentation on Amazon FreeRTOS, refer to the Amazon FreeRTOS User Guide.

Supported Hardware

The following MCU boards are supported for Amazon FreeRTOS:

  1. Texas Instruments - CC3220SF-LAUNCHXL.
  2. STMicroelectronics - STM32L4 Discovery kit IoT node.
  3. NXP - LPC54018 IoT Module.
  4. Microchip - Curiosity PIC32MZEF.
  5. Espressif - ESP32-DevKitC, ESP-WROVER-KIT.

Windows Simulator To evaluate Amazon FreeRTOS without using MCU-based hardware, you can use the Windows Simulator.