Did you include the FreeRTOS source files that are used for the demo? The error says it can’t find the header file.
Alternatively, if you don’t want to mess around with the RTOS, you can still see how the UART is initialized and used from the uart.c file. Just look for functions that start with MSS_UART_ which indicate they are part of the SmartFusion2 drivers.
For example, if you just want the absolute minimum code to read/write with a UART it might look something like this:
#include "drivers/mss_uart/mss_uart.h"
#include "CMSIS/system_m2sxxx.h"
#define UART_BUFFER_SIZE 128
static uint8_t uart0buffer[UART_BUFFER_SIZE];
static size_t n_bytes_recvd;
const uint8_t message[24] = "Hello world."
void my_UART0_rx_handler(mss_uart_instance_t *pxUART);
int main(void)
{
/* Initialize UART 0 */
MSS_UART_init(&g_mss_uart0, MSS_UART_115200_BAUD, MSS_UART_DATA_8_BITS | MSS_UART_NO_PARITY | MSS_UART_ONE_STOP_BIT);
/* Set the UART Rx notification function to trigger after a single byte is received. */
MSS_UART_set_rx_handler(&g_mss_uart0, my_UART0_rx_handler, MSS_UART_FIFO_SINGLE_BYTE );
/* Send something on UART Tx */
MSS_UART_irq_tx(&g_mss_uart0, message, sizeof(message));
}
/* Interrupt handler for UART RX */
void my_UART0_rx_handler(mss_uart_instance_t *pxUART)
{
/* Read the UART's FIFO */
n_bytes_recvd = MSS_UART_get_rx(pxUART, uart0buffer, sizeof(uart0buffer));
// Do something with the received data
}