Smart Fusion 2 M2S010 TQ144 mkr board

Hi,
I am newbie to FPGA programming and its related things, but I need to use Smart Fusion 2 M2S010 TQ144 mkr board so I just follow the example given in this link
Getting Started with the Microsemi SmartFusion 2 Maker-Board - Development Boards, Kits, Programmers - Electronic Component and Engineering Solution Forum - TechForum │ DigiKey and I was failed to clear the errors.
but I need basic LED blinking program to start so guide me please and attach if anyone have the procedure.

Thanks alot if anyone helps me.

What errors are you having when going through the guide? Are they with the FPGA configuration or the code in SoftConsole?

I can remake the project, but I have a newer version of Libero and it might not work if you’re using the older v11.8.

I am using Libero SoC v11.8 so am I update to new and try that example project ?.
if you have the UART example procedure please share the link to me. I did follow the TU0546 Tutorial , SoftConsole v4.0 and Libero SoC v11.7 for LED blinking project so it was success.
my problem is “after genearting componets how to know this pin is connected to that pin for different applications(for led, for pwm, for uart and son on)?”.
please guide me and share some good tutorial links.

Thanks alot

You don’t have to update, but if you’re just starting out there probably isn’t much reason to be using an old version of the software.

Also there is example code for the UART in the guide above. There’s a link to download a .zip file with the example code in the Import Example Source Code section.

I’m not sure I fully understand your issue with pin assignments. Once you have configured your system with UARTs, GPIOs, etc., you can assign the signals to physical pins using constraints. (Step 32 in the guide).

If you’re wondering which pins need to be used for connections on the board, there is a schematic for the board in the Resources section of the guide you can use to find the connections you need.

https://www.digikey.com/eewiki/display/microcontroller/Getting+Started+with+the+Microsemi+SmartFusion+2+Maker-Board?_ga=2.41973345.557436342.1607922215-736289968.1607670467

I am getting the following errors as shown in the below figure.so please where did I do wrongs .

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
}

Thank you alot.
successfully UART interface was done.