The SDx™ IDE FreeRTOS support uses a pre-built library using the
default FreeRTOSConfig.h file included with the v8.2.3 software
distribution, along with a predefined linker script.
To change the FreeRTOS v8.2.3
configuration or its linker script, or use a different version of FreeRTOS, follow the steps
below:
-
Copy the folder
<path_to_install>/SDx/<version>/platforms/zc702 to a local
folder.
-
To just modify the default linker script, modify the file
<path_to_your_platform>/zc702/sw/freertos/lscript.ld.
-
To change the FreeRTOS configuration (FreeRTOSConfig.h) or
version:
-
Build a FeeRTOS library as libfreertos.a.
-
Add include files to the folder
<path_to_your_platform>/zc702/sw/freertos/include.
-
Add the library libfreertos.a to
<path_to_your_platform>/zc702/sw/freertos/li.
-
Change the paths in
<path_to_your_platform>/zc702/zc702.spfm for the section
containing the line
("sdx:os sdx_name="freertos"
(sdx:includePaths="/aarch32-none/include and
sdx:libraryPaths="/aarch-32-none/lib/freertos")
.
-
In your makefile, change the SDSoC platform option from
–sds-pf zc702
to –sds-pf <path_to_your_platform>/zc702
.
-
Rebuild the library:
The SDx IDE folder <path_to_install>/SDx/2016.x/tps/FreeRTOS
includes the source files used to build the pre-configured FreeRTOS v8.2.3 library
libfreertos.a, along with a simple makefile and an
SDSoC_readme.txt file. See the
SDSoC_readme.txt file for additional requirements and
instructions.
-
Open a command shell.
-
Run the SDx IDE <path_to_install>/SDx/2016.x/settings64.sh
script, or settings64.bat, to set up the environment to run
command line tools (including the ARM GNU toolchain for the Zynq®-7000 AP SoC).
-
Copy the folder to a local folder.
-
Modify FreeRTOSConfig.h.
-
Run the make command.
If you are not using FreeRTOS v8.2.3, see the notes in the
SDSoC_readme.txt file describing how the source was derived from the
official software distribution. After uncompressing the ZIP file, a very small number of
changes were made (incorporate memcpy
, memset
and
memcmp
from the demo application main.c into a
library source file and change include file references from Task.h to
task.h) but the folder structure is the same as the original. If the
folder structure is preserved, the makefile created to build the preconfigured FreeRTOS
v8.2.3 library can be used.