From 4d9755d00e84c0b9647a3726445931b9d6561940 Mon Sep 17 00:00:00 2001 From: RichardBarry <3073890+RichardBarry@users.noreply.github.com> Date: Thu, 23 Dec 2021 14:43:41 -0800 Subject: [PATCH] Create Zynq demo using the latest Vitis tools (#746) * 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 <> --- .github/scripts/core_checker.py | 9 +- .../RTOSDemo/.cproject | 350 +++++ .../RTOSDemo/.gitignore | 2 + .../RTOSDemo/.project | 313 +++++ .../RTOSDemo/RTOSDemo.prj | 11 + .../RTOSDemo/_ide/hwspec.checksum | 1 + .../RTOSDemo/_ide/psinit/ps7_init.tcl | 877 ++++++++++++ .../RTOSDemo/src/FreeRTOSConfig.h | 179 +++ .../RTOSDemo/src/FreeRTOS_asm_vectors.S | 144 ++ .../RTOSDemo/src/FreeRTOS_tick_config.c | 136 ++ .../RTOSDemo/src/ParTest.c | 100 ++ .../RTOSDemo/src/Xilinx.spec | 2 + .../RTOSDemo/src/blinky_demo/main_blinky.c | 195 +++ .../RTOSDemo/src/full_demo/IntQueueTimer.c | 270 ++++ .../RTOSDemo/src/full_demo/IntQueueTimer.h | 35 + .../RTOSDemo/src/full_demo/main_full.c | 528 ++++++++ .../RTOSDemo/src/full_demo/reg_test.S | 610 +++++++++ .../RTOSDemo/src/full_demo/serial.c | 282 ++++ .../RTOSDemo/src/lscript.ld | 293 ++++ .../RTOSDemo/src/main.c | 441 ++++++ .../RTOSDemo/src/platform.c | 111 ++ .../RTOSDemo/src/platform.h | 41 + .../RTOSDemo/src/platform_config.h | 6 + .../RTOSDemo/zc702 Configuration QEMU.launch | 44 + .../RTOSDemo_system/.cproject | 108 ++ .../RTOSDemo_system/.gitignore | 2 + .../RTOSDemo_system/.project | 30 + .../RTOSDemo_system/RTOSDemo_system.sprj | 19 + FreeRTOS/Demo/Common/Minimal/blocktim.c | 1194 ++++++++--------- lexicon.txt | 4 + 30 files changed, 5739 insertions(+), 598 deletions(-) create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.cproject create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.gitignore create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.project create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/RTOSDemo.prj create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/_ide/hwspec.checksum create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/_ide/psinit/ps7_init.tcl create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/FreeRTOSConfig.h create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/FreeRTOS_asm_vectors.S create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/FreeRTOS_tick_config.c create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/ParTest.c create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/Xilinx.spec create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/blinky_demo/main_blinky.c create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/full_demo/IntQueueTimer.c create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/full_demo/IntQueueTimer.h create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/full_demo/main_full.c create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/full_demo/reg_test.S create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/full_demo/serial.c create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/lscript.ld create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/main.c create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/platform.c create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/platform.h create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/src/platform_config.h create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/zc702 Configuration QEMU.launch create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo_system/.cproject create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo_system/.gitignore create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo_system/.project create mode 100644 FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo_system/RTOSDemo_system.sprj diff --git a/.github/scripts/core_checker.py b/.github/scripts/core_checker.py index e84feaa36..54830a763 100755 --- a/.github/scripts/core_checker.py +++ b/.github/scripts/core_checker.py @@ -43,6 +43,7 @@ FREERTOS_IGNORED_EXTENSIONS = [ '.cdkws', '.cfg', '.cgp', + '.checksum', '.cmake', '.cmd', '.config', @@ -204,6 +205,7 @@ FREERTOS_IGNORED_EXTENSIONS = [ '.sig', '.sln', '.spec', + '.sprj', '.stf', '.stg', '.suo', @@ -274,7 +276,12 @@ FREERTOS_IGNORED_FILES = [ '.editorconfig', 'lcovrc', 'htif.c', 'htif.h', - 'ethernetif.c' + 'ethernetif.c', + 'platform.c', + 'platform.h', + 'platform_config.h', + 'FreeRTOS_asm_vectors.S' + ] FREERTOS_HEADER = [ diff --git a/FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.cproject b/FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.cproject new file mode 100644 index 000000000..380e8f298 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.cproject @@ -0,0 +1,350 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.gitignore b/FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.gitignore new file mode 100644 index 000000000..ac01e665d --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.gitignore @@ -0,0 +1,2 @@ +/Debug/ +/Release/ diff --git a/FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.project b/FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.project new file mode 100644 index 000000000..3887241bb --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/.project @@ -0,0 +1,313 @@ + + + RTOSDemo + Created by Vitis v2021.1 + + zc702 + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + com.xilinx.sdx.sdk.core.SdkProjectNature + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + src/FreeRTOS_kernel + 2 + FREERTOS_ROOT/Source + + + src/standard_demo_tasks + 2 + FREERTOS_ROOT/Demo/Common/Minimal + + + src/standard_demo_tasks/include + 2 + FREERTOS_ROOT/Demo/Common/include + + + + + 1635118270700 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-flop.c + + + + 1635118270704 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-semtest.c + + + + 1635118270707 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-dynamic.c + + + + 1635118270707 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-BlockQ.c + + + + 1635118270707 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-blocktim.c + + + + 1635118270707 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-countsem.c + + + + 1635118270707 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-GenQTest.c + + + + 1635118270722 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-recmutex.c + + + + 1635118270722 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-death.c + + + + 1635118270722 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-partests.c + + + + 1635118270738 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-TimerDemo.c + + + + 1635118270738 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-QueueOverwrite.c + + + + 1635118270738 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-IntQueue.c + + + + 1635118270738 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-EventGroupsDemo.c + + + + 1635118270738 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-TaskNotify.c + + + + 1635118270754 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-IntSemTest.c + + + + 1635118270754 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-StaticAllocation.c + + + + 1635118270754 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-AbortDelay.c + + + + 1635118270754 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-MessageBufferDemo.c + + + + 1635118270769 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-AbortDelay.c + + + + 1635118270769 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-MessageBufferDemo.c + + + + 1635118270769 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-StreamBufferDemo.c + + + + 1635118270769 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-StreamBufferInterrupt.c + + + + 1635118270769 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-MessageBufferAMP.c + + + + 1635118270785 + src/standard_demo_tasks + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-QueueSet.c + + + + 1635116101900 + src/FreeRTOS_kernel/portable + 9 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-MemMang + + + + 1635116101900 + src/FreeRTOS_kernel/portable + 9 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-GCC + + + + 1635116163249 + src/FreeRTOS_kernel/portable/GCC + 9 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-ARM_CA9 + + + + 1635116141028 + src/FreeRTOS_kernel/portable/MemMang + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-heap_4.c + + + + + + FREERTOS_ROOT + $%7BPARENT-3-PROJECT_LOC%7D + + + diff --git a/FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/RTOSDemo.prj b/FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/RTOSDemo.prj new file mode 100644 index 000000000..deb6b2345 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702_Vitis_QEMU/RTOSDemo/RTOSDemo.prj @@ -0,0 +1,11 @@ + + + + + + + + + +