Skip to content

Commit

Permalink
Create Zynq demo using the latest Vitis tools (FreeRTOS#746)
Browse files Browse the repository at this point in the history
* Add hello world project for Vitis.

* Working hello world program.

* Remove the call to ps7_init().

* Demo moved from the XSDK project to Vitis is now compiling - not tried running yet though.

* Blink is printing out in blinky demo.

* Adjust the priorities of the demo tasks to enable them to run at once.
Update blocktim.c so it stores the line on which an error was detected in the error occurred variable rather than just setting the variable to true.

* Add launch configuration file.
Remove unused definitions from FreeRTOSConfig.h.
Edit the comments that describe what the demo does.

* Revert changes to blocktim.c, which should have been in a separate PR.

* Correct header comments in new files.

* Update headers for core checks.

* Third attempt at getting headers through the commit checks - copy headers from other files is not enough.

* Still trying to get core checks to pass.

* Update lexicon.txt

* Correct spelling in Cortex-A9 QEMU main.c.

Co-authored-by: none <>
  • Loading branch information
RichardBarry authored Dec 23, 2021
1 parent 43defa5 commit 4d9755d
Show file tree
Hide file tree
Showing 30 changed files with 5,739 additions and 598 deletions.
9 changes: 8 additions & 1 deletion .github/scripts/core_checker.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
'.cdkws',
'.cfg',
'.cgp',
'.checksum',
'.cmake',
'.cmd',
'.config',
Expand Down Expand Up @@ -204,6 +205,7 @@
'.sig',
'.sln',
'.spec',
'.sprj',
'.stf',
'.stg',
'.suo',
Expand Down Expand Up @@ -274,7 +276,12 @@
'.editorconfig',
'lcovrc',
'htif.c', 'htif.h',
'ethernetif.c'
'ethernetif.c',
'platform.c',
'platform.h',
'platform_config.h',
'FreeRTOS_asm_vectors.S'

]

FREERTOS_HEADER = [
Expand Down
350 changes: 350 additions & 0 deletions FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.cproject

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/Debug/
/Release/
313 changes: 313 additions & 0 deletions FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,313 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>RTOSDemo</name>
<comment>Created by Vitis v2021.1</comment>
<projects>
<project>zc702</project>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.xilinx.sdx.sdk.core.SdkProjectNature</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<linkedResources>
<link>
<name>src/FreeRTOS_kernel</name>
<type>2</type>
<locationURI>FREERTOS_ROOT/Source</locationURI>
</link>
<link>
<name>src/standard_demo_tasks</name>
<type>2</type>
<locationURI>FREERTOS_ROOT/Demo/Common/Minimal</locationURI>
</link>
<link>
<name>src/standard_demo_tasks/include</name>
<type>2</type>
<locationURI>FREERTOS_ROOT/Demo/Common/include</locationURI>
</link>
</linkedResources>
<filteredResources>
<filter>
<id>1635118270700</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-flop.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270704</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-semtest.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270707</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-dynamic.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270707</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-BlockQ.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270707</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-blocktim.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270707</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-countsem.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270707</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-GenQTest.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270722</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-recmutex.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270722</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-death.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270722</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-partests.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270738</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-TimerDemo.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270738</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-QueueOverwrite.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270738</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-IntQueue.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270738</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-EventGroupsDemo.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270738</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-TaskNotify.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270754</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-IntSemTest.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270754</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-StaticAllocation.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270754</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-AbortDelay.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270754</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-MessageBufferDemo.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270769</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-AbortDelay.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270769</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-MessageBufferDemo.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270769</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-StreamBufferDemo.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270769</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-StreamBufferInterrupt.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270769</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-MessageBufferAMP.c</arguments>
</matcher>
</filter>
<filter>
<id>1635118270785</id>
<name>src/standard_demo_tasks</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-QueueSet.c</arguments>
</matcher>
</filter>
<filter>
<id>1635116101900</id>
<name>src/FreeRTOS_kernel/portable</name>
<type>9</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-MemMang</arguments>
</matcher>
</filter>
<filter>
<id>1635116101900</id>
<name>src/FreeRTOS_kernel/portable</name>
<type>9</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-GCC</arguments>
</matcher>
</filter>
<filter>
<id>1635116163249</id>
<name>src/FreeRTOS_kernel/portable/GCC</name>
<type>9</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-ARM_CA9</arguments>
</matcher>
</filter>
<filter>
<id>1635116141028</id>
<name>src/FreeRTOS_kernel/portable/MemMang</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-heap_4.c</arguments>
</matcher>
</filter>
</filteredResources>
<variableList>
<variable>
<name>FREERTOS_ROOT</name>
<value>$%7BPARENT-3-PROJECT_LOC%7D</value>
</variable>
</variableList>
</projectDescription>
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="ASCII"?>
<sdkproject:SdkProject xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sdkproject="http://www.xilinx.com/sdkproject" name="RTOSDemo" location="C:/Users/ribarry/Dev/Workspaces/Vitis/Demo_Zynq_QEMU/RTOSDemo" platform="C:/Users/ribarry/Dev/Workspaces/Vitis/Demo_Zynq_QEMU/zc702/export/zc702/zc702.xpfm" platformUID="xilinx:zc702::0.0(custom)" systemProject="RTOSDemo_system" sysConfig="zc702" runtime="cpp" cpu="standalone_domain" cpuInstance="ps7_cortexa9_0" os="standalone" mssSignature="0a055bd1f9481d215f2c9ec0c30c607d">
<configuration name="Debug" id="xilinx.gnu.armv7.exe.debug.1415197739">
<configBuildOptions xsi:type="sdkproject:SdkOptions"/>
<lastBuildOptions xsi:type="sdkproject:SdkOptions"/>
</configuration>
<configuration name="Release" id="xilinx.gnu.armv7.exe.release.1690806787" dirty="true">
<configBuildOptions xsi:type="sdkproject:SdkOptions"/>
</configuration>
<template appTemplateName="hello_world"/>
</sdkproject:SdkProject>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3387008347
Loading

0 comments on commit 4d9755d

Please sign in to comment.