Analog Devices is pleased to announce a port of FreeRTOS for the ADSP-SC5xx family of processors using CrossCore Embedded Studio.
This port has been officially developed by Analog Devices and will continue to be supported.
There is a known issue where use of semihosting I/O in applications will result in a conflict of use of the SVC interrupt which FreeRTOS uses to trigger context switching. This results in reduced performance when the application is being debugged under the CrossCore Embedded Studio debugger. The proposed workaround for this is to disable debugger automatic breakpoint placed on the SVC interrupt. For more information please read the Release Note in the Analog Devices FreeRTOS zip file.
The following software is required:
- FreeRTOS 9.0.0
- Analog Devices FreeRTOS zip from analog.com version 1.2.0 or later
- ADSP-SC589, ADSP-SC584 or ADSP-SC573 EZ-Kit board
- ICE-1000 or ICE-2000 emulator
- MicroUSB cable
Setting up the Example
Full instructions for installing, building and running the example can be found in the Analog Devices User Guide for FreeRTOS, which is located in the Docs directory of the Analog Devics FreeRTOS zip.
The Analog Devices FreeRTOS zip is a compressed package that should be extracted on top of version 9.0.0 of the FreeRTOS product.
The Analog Devices FreeRTOS zip can be downloaded from the following page on analog.com:
Installing the Software
- Unzip the FreeRTOS zip
- Unzip the Analog Devices FreeRTOS zip on top of the FreeRTOS zip
Importing the Demo
1. Start CrossCore Embedded Studio
2. Import the FreeRTOS example into CrossCore Embedded Studio:
3. Select the File menu and then select the Import option from the menu
When the Import project window appears:
a. Click on the General folder, then click on the Existing Projects into Workspace entry, and click Next
b. Click the Select root directory radio button and then click the Browse button
c. Browse the root folder where you previously installed the FreeRTOS product and then browse down into the FreeRTOSv9.0.0\FreeRTOS\Demo\<board dir> folder
Where board dir is one of CORTEX_A5_ADSP_SC589_CCES, CORTEX_A5_ADSP_SC584_CCES, CORTEX_A5_ADSP_SC573_CCES that matches your EZ-Board hardware.
d. Click Finish to close the file browser dialog
A single project should appear in the projects pane of the Import window
4. Check the entry in the projects pane and click Import
Building the Demo
Within CrossCore Embedded Studio, in the Project Explorer right click on the RTOSDemo_CCES project and select the Build Project option from the menu
Running the Demo
- Connect the ICE1000 or ICE2000 emulator to DEBUG P5 port of EZ-Kit and the host PC
- Start CrossCore Embedded Studio
In the Project Explorer right click on the RTOSDemo_CCES project and select the Debug As option from the menu
From the popup menu select Debug Configurations option to create a new debug configuration that matches your emulator and target board
- Click the Debug button to close the Debug Configuration window
- Click the Run/Resume button to start running your application
Output from the application should be visible within the Console window in the CrossCore Embedded Studio IDE. You should see three LEDs on the EZ-Kit begin to flash. The test is ok for <num> round(s) will be printed constantly and Test Passed which means the test is successful will be printed after 25 rounds in the console.