Wiki

This version (10 Jun 2022 16:44) was approved by Robin Getz.

Introduction to the FreeRTOS Add-In

The FreeRTOS Add-In for CrossCore Embedded Studio (CCES) has been developed by Analog Devices to provide a user-friendly programming enviroment for FreeRTOS applications running on Analog Devices Blackfin, SHARC and Cortex-A processors. The FreeRTOS Add-In seamlessly integrates with CCES and provides a user interface for configuration of FreeRTOS macros.


Release Dependencies

Requires CrossCore® Embedded Studio version 2.10.1 or greater.


Supported Boards

Currently the FreeRTOS Add-In by Analog Devices can be used with the SC5xx | 215xx | BF7xx series boards.

If you want to use UART/ CCES System Services and Device Drivers with the FreeRTOS Add-In, then you must follow the instructions in the section UART functionality, to enable the functionality within the project, as this is not currently possible to automate with the Add-In.


Get Started

To get started using the FreeRTOS Add-In, please follow in order the sections below.

  • Follow instruction at the section “Installing the Add-In”
  • Create a new Project in CCES
  • Follow instruction at the section “Adding The FreeRTOS Add-In”

Installing the Add-In

The FreeRTOS Add-In will be available to install via the built in Install new Software functionality in CCES. In order to access this, you must follow the steps below

  1. Launch CCES
  2. Click Help
  3. Click Install New Software
  4. Expand CrossCore Embedded Studio Add-Ins
  5. Check the box of FreeRTOS Add-In
  6. Proceed by Clicking Next and Reading/Accepting the terms of the license agreement
  7. Click Finish to start installing the Add-In
  8. You should see down the bottom right of CCES a progress bar for the installation
  9. A pop up Should appear to restart CCES after a successful installation

Uninstalling the Add-In

The FreeRTOS Add-In can be uninstalled in CCES. you must follow the steps below

  1. Launch CCES
  2. Click Help
  3. Click About CrossCore Embedded Studio
  4. Click the Installation Details on the bottom left
  5. Select the FreeRTOS Add-In
  6. Click Uninstall to start uninstalling the Add-In
  7. Click the Finish
  8. A pop up Should appear to restart CCES after a successful uninstallation

Adding The FreeRTOS Add-In

Adding ADI's implementation of FreeRTOS to a CrossCore project adds the following:

Tip: You can also add the FreeRTOS Add-In at project creation.

It is assumed that the project is expanded in the Project Explorer view.

To add the FreeRTOS Add-In to the project:

  1. Double-click the system.svc file of the project. The System Configuration utility appears.
  2. Click Add. The Add New Add-ins wizard appears.
  3. In Available Add-Ins, expand the RTOS node.
  4. In RTOS, select FreeRTOS for Processor-Family(Version Number) for example FreeRTOS for Blackfin(1.0.0). The add-in's description appears in the Selected Add-Ins tab to the right of the Available Add-ins control.
  5. Check the Warnings tab for potential issues.
  6. Click Finish. The newly configured add-in appears on the Overview tab of the System Configuration utility.
If there are issues, you can highlight the affected add-in on the Selected Add-Ins tab and click Remove or Quickfix.

Upgrading The FreeRTOS Add-In

In order for the user to upgrade the version of the addin they are using, they will have to use the CCES Feature “Check For Updates”

if there is any updates to the addin then these will appear to the user so that they can accept the license agreement.

as shown below, there is no upgrade button available


Removing The FreeRTOS Add-In

Any code associated with FreeRTOS will be removed from a CrossCore project.

It is assumed that the project is expanded in the Project Explorer view.

To remove the FreeRTOS add-in from the project:

  1. Double-click the system.svc file. The System Configuration utility appears.
  2. In Installed Add-Ins, select at least one add-in.
  3. Click Remove. The Remove Add-Ins Confirmation dialog box appears. The name and software version of the add-in(s) selected for removal appear in the table.
  4. Do the following: (a) Verify the add-in(s) to be removed. (b) In Warnings, observe whether it is safe to proceed.
  5. Click Remove. The progress bar starts indicating completion of the requested actions.
  6. Generated files that have been added with the add-in will be removed. See the Generated Files section for full details.
  7. A pop up will appear notifying the user that functions related to the FreeRTOS add-in will be removed from the main file. This can be rejected if the user wants to keep the code.
Completion of some actions may require your clicking Yes in response to a message about removing files from the project.

FreeRTOS Add-In Examples

The following examples examples that have been provided for each supported EZ-Kit:

  • Thread local storage
  • Dining philosophers
  • Bounded Buffer
  • MCAPI Message Example
  • FreeRTOS Standard Demo

The example projects can be found at [[repo>freertos-examples/|[[:resources:tools-software:freertos:freertos-addin:examples]]]]


FreeRTOS Add-In Performance

The FreeRTOS Add-In has several different benchmark example projects that are available to download. Documentation has been created for these FreeRTOS Add-In Performance

The currently supported boards for benchmark data are as follows

  • ADSP-BF707
  • ADSP-21569
  • ADSP-SC573 (Cortex_a5 and SHARC)
  • ADSP-SC584 (Cortex_a5 and SHARC)
  • ADSP-SC589 (Cortex_a5 and SHARC)

Supported Macros

The FreeRTOS Add-In contains a custom built UI that users can easily use to configure values for Supported FreeRTOS Configuration Macros, this can be seen in the image below.


Migration Guide

The following pages provide the migration guide for users to conveniently use.


Command Line Build Support

we also provide an approach of using the FreeRTOS Add-In with command line for users who prefer to create, build, run the FreeRTOS applications via CCES tools from the command line or use a Makefile and call the compiler directly.


resources/tools-software/freertos/freertos-addin.txt · Last modified: 13 May 2022 14:15 by Murray Anderson