SOM i.mx7 + FreeRTOS + UART access

Hello, I’m very interrested in the 7 SOM module and the cortex-m4 co-processor feature.

I would like to know if that is possible to use a UART to perform RS485 on the cortex-m4 with FreeRTOS.

I have to support an awkward protocol which required polling multiples RS485 sensors with near (hard) real-time precision at 100 HZ. Also the protocol is using 9bits UART. (which is not very common)

I was thinking to perform the RS485 sensors scanning with FreeRTOS on the cortex-m4 and then send the results to the Cortex-A7 processor via OpenAMP/remoteproc feature once per second or so…

Do you think I can perform this task with the Colibris i.mx7 SOM and the Aster Carrier Board ?


Thanks for your comments.

The i.MX 7 UART IP supports RS485 as well as 9-bit operation. All peripherals can be accessed from either the A7 or the M4 core, so you just would have to remove the UART you would like to use on the M4 core from the Linux’ device tree and make use of it from the M4 core. We typically assign UART_B, but mostly as debug console. There is a UART driver available (see here), but it does not seem to support RS-485, so you might have to implement some of that logic.

Other than that I think the Colibri iMX7 with the Aster Carrier Board is a good fit for that issue.