ADSP-SC584
Production
The ADSP-SC584 processor is part of the new, high-performance, power-efficient, real-time series that delivers greater than 24 giga-floating-point operations...
Datasheet
ADSP-SC584 on Analog.com
Hi all,
i Want to use FreeRTOS on the ARM core of my SC584- board. After some research i found out that semihosting, which is needed for print() statements, is only supported on the SHARC cores. In another post it was said that you should use UART instead.
It was referred to a FreeRTOS user guide, which contains demos for ARM and Sharc cores and describes the installation and connection setup via UART. However, it uses RTOS 10.0.0 and an Analog Devices FreeRTOS 1.5.0 file, which is no longer available. I assume that everything is now simply controlled with the FreeRTOS add-in which comes with RTOS 10.4.3 and therefore this user guide is no longer up to date.
However, I don't know how to solve the printf() problem with the ARM core now. Are there any easy settings how to somehow connect or link the I/O functions like printf() to UART (instead of the console) or do I have to set up a UART connection all by my own?
Are there any current examples with RTOS? This would be helpful as well for me.
Thanks for your help
Phil
Hi Phil,
Apologies for the delay in replying.
All versions of FreeRTOS we provide for the ARM core have the UART IO enabled by default, because we use the semihosting interrupt for context switches. It's done via the following I/O device which is included by either the bare RTOS or via the Add-In: https://github.com/analogdevicesinc/FreeRTOS/blob/release/FreeRTOSv10.4.x/Source/portable/CCES/ARM_CA5/io_startup.c
The user guide is out of date but there haven't been any compatability breaking changes so it should still work, and the I/O should be going over UART by default in any projects.
There's a bare RTOS example here for the SC584 A5 core which uses UART for printf:
https://github.com/analogdevicesinc/FreeRTOS/tree/release/FreeRTOSv10.4.x/Demo/CORTEX_A5_ADSP_SC584_CCES
Regards,
Murray