]> git.sur5r.net Git - freertos/commitdiff
Recreate the RISC-V-Qemu demo using Vanilla Eclipse in place of Freedom Studio as...
authorrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 16 Oct 2019 04:28:28 +0000 (04:28 +0000)
committerrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 16 Oct 2019 04:28:28 +0000 (04:28 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2742 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

15 files changed:
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/.cproject
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/.project
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/.settings/language.settings.xml
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/FreeRTOSConfig.h
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/Hardware_Qemu.launch
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/blinky_demo/main_blinky.c
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/drivers/fe300prci/fe300prci_driver.c [deleted file]
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/drivers/fe300prci/fe300prci_driver.h [deleted file]
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/drivers/plic/plic_driver.c [deleted file]
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/drivers/plic/plic_driver.h [deleted file]
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/env/freedom-e300-hifive1/flash.lds
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/env/freedom-e300-hifive1/init.c
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/full_demo/main_full.c
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/main.c
FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/sifive-freedom-e300-hifive1.cfg [deleted file]

index 2f9dbd5371d03f5904135d1924988b0aa8ae26a8..debca76bc5cddec9157e365c72d387e1ab3635a8 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
 <?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">\r
        <storageModule moduleId="org.eclipse.cdt.core.settings">\r
-               <cconfiguration id="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.debug.516870870">\r
-                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.debug.516870870" moduleId="org.eclipse.cdt.core.settings" name="Debug">\r
+               <cconfiguration id="cdt.managedbuild.config.gnu.cross.exe.debug.244253252">\r
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.cross.exe.debug.244253252" moduleId="org.eclipse.cdt.core.settings" name="Debug">\r
                                <externalSettings/>\r
                                <extensions>\r
                                        <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>\r
                                </extensions>\r
                        </storageModule>\r
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
-                               <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.debug.516870870" name="Debug" parent="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.debug">\r
-                                       <folderInfo id="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.debug.516870870." name="/" resourcePath="">\r
-                                               <toolChain id="ilg.gnumcueclipse.managedbuild.cross.riscv.toolchain.elf.debug.108811797" name="RISC-V Cross GCC" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.toolchain.elf.debug">\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.addtools.createflash.8320194" name="Create flash image" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.addtools.createflash" useByScannerDiscovery="false" value="true" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.addtools.createlisting.379436257" name="Create extended listing" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.addtools.createlisting" useByScannerDiscovery="false"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.addtools.printsize.1043841176" name="Print size" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.addtools.printsize" useByScannerDiscovery="false" value="true" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.level.383399415" name="Optimization Level" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.level" useByScannerDiscovery="true" value="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.level.none" valueType="enumerated"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.messagelength.178339006" name="Message length (-fmessage-length=0)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.messagelength" useByScannerDiscovery="true" value="false" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.signedchar.119459497" name="'char' is signed (-fsigned-char)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.signedchar" useByScannerDiscovery="true" value="false" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.functionsections.735578493" name="Function sections (-ffunction-sections)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.functionsections" useByScannerDiscovery="true" value="true" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.datasections.663648478" name="Data sections (-fdata-sections)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.datasections" useByScannerDiscovery="true" value="true" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.debugging.level.33211902" name="Debug level" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.debugging.level" useByScannerDiscovery="true" value="ilg.gnumcueclipse.managedbuild.cross.riscv.option.debugging.level.max" valueType="enumerated"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.debugging.format.1212459035" name="Debug format" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.debugging.format" useByScannerDiscovery="true"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.toolchain.name.2118228106" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.toolchain.name" useByScannerDiscovery="false" value="RISC-V GCC/Newlib" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.prefix.1953815021" name="Prefix" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.prefix" useByScannerDiscovery="false" value="riscv64-unknown-elf-" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.c.739203741" name="C compiler" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.c" useByScannerDiscovery="false" value="gcc" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.cpp.1844392607" name="C++ compiler" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.cpp" useByScannerDiscovery="false" value="g++" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.ar.2006331761" name="Archiver" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.ar" useByScannerDiscovery="false" value="ar" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.objcopy.953275776" name="Hex/Bin converter" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.objcopy" useByScannerDiscovery="false" value="objcopy" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.objdump.1629820216" name="Listing generator" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.objdump" useByScannerDiscovery="false" value="objdump" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.size.1139290195" name="Size command" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.size" useByScannerDiscovery="false" value="size" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.make.598152082" name="Build command" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.make" useByScannerDiscovery="false" value="make" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.rm.1903820766" name="Remove command" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.rm" useByScannerDiscovery="false" value="rm" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.isa.base.274413758" name="Architecture" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.isa.base" useByScannerDiscovery="false" value="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.arch.rv32i" valueType="enumerated"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.isa.multiply.1227968882" name="Multiply extension (RVM)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.isa.multiply" useByScannerDiscovery="false" value="true" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.isa.atomic.25268933" name="Atomic extension (RVA)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.isa.atomic" useByScannerDiscovery="false" value="true" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.isa.compressed.148707865" name="Compressed extension (RVC)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.isa.compressed" useByScannerDiscovery="false" value="true" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.abi.integer.2137340048" name="Integer ABI" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.abi.integer" useByScannerDiscovery="false" value="ilg.gnumcueclipse.managedbuild.cross.riscv.option.abi.integer.ilp32" valueType="enumerated"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.codemodel.93793405" name="Code model" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.codemodel" useByScannerDiscovery="false" value="ilg.gnumcueclipse.managedbuild.cross.riscv.option.target.codemodel.any" valueType="enumerated"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.toolchain.id.1107449554" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.toolchain.id" useByScannerDiscovery="false" value="-2032619395" valueType="string"/>\r
-                                                       <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnumcueclipse.managedbuild.cross.riscv.targetPlatform.1301923652" isAbstract="false" osList="all" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.targetPlatform"/>\r
-                                                       <builder buildPath="${workspace_loc:/RTOSDemo}/Debug" id="ilg.gnumcueclipse.managedbuild.cross.riscv.builder.1496635672" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.builder"/>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.assembler.1472778604" name="GNU RISC-V Cross Assembler" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.assembler">\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.usepreprocessor.874608690" name="Use preprocessor" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.usepreprocessor" useByScannerDiscovery="false" value="true" valueType="boolean"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.include.paths.545620458" name="Include paths (-I)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.include.paths" useByScannerDiscovery="true" valueType="includePath">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freedom-e-sdk/env}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS_Source/portable/GCC/RISC-V/chip_specific_extensions/RV32I_CLINT_no_extensions}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freedom-e-sdk/include}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freedom-e-sdk/env/freedom-e300-hifive1}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freedom-e-sdk/drivers}&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.other.855588508" name="Other assembler flags" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.other" useByScannerDiscovery="false" value="-c" valueType="string"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.flags.179185022" name="Assembler flags" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.flags" useByScannerDiscovery="false"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.defs.1636772541" name="Defined symbols (-D)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.defs" useByScannerDiscovery="true" valueType="definedSymbols">\r
-                                                                       <listOptionValue builtIn="false" value="portasmHANDLE_INTERRUPT=handle_trap"/>\r
-                                                               </option>\r
-                                                               <inputType id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.assembler.input.1208356864" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.assembler.input"/>\r
-                                                       </tool>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler.1632260763" name="GNU RISC-V Cross C Compiler" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler">\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.include.paths.1464742435" name="Include paths (-I)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS_Source/include}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/full_demo/common_demo_tasks/include}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freedom-e-sdk/drivers}&quot;"/>\r
+                               <configuration artifactName="${ProjName}.elf" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.exe.debug.244253252" name="Debug" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=" parent="cdt.managedbuild.config.gnu.cross.exe.debug">\r
+                                       <folderInfo id="cdt.managedbuild.config.gnu.cross.exe.debug.244253252." name="/" resourcePath="">\r
+                                               <toolChain id="cdt.managedbuild.toolchain.gnu.cross.exe.debug.789129042" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.exe.debug">\r
+                                                       <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.2002050800" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>\r
+                                                       <builder buildPath="${workspace_loc:/RTOSDemo}/Debug" id="cdt.managedbuild.builder.gnu.cross.948905772" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.builder.gnu.cross"/>\r
+                                                       <tool command="riscv64-unknown-elf-gcc.exe" id="cdt.managedbuild.tool.gnu.cross.c.compiler.533761585" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">\r
+                                                               <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1982035836" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>\r
+                                                               <option defaultValue="gnu.c.debugging.level.max" id="gnu.c.compiler.option.debugging.level.100403442" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" valueType="enumerated"/>\r
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.compiler.option.include.paths.1552631522" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">\r
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS_Source/portable/GCC/RISC-V}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/full_demo/standard_demo_tasks/include}&quot;"/>\r
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freedom-e-sdk/env}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freedom-e-sdk/env/freedom-e300-hifive1}&quot;"/>\r
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freedom-e-sdk/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freedom-e-sdk/env/freedom-e300-hifive1}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos_source/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos_source/portable/GCC/RISC-V}&quot;"/>\r
                                                                </option>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.defs.1115817835" name="Defined symbols (-D)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">\r
+                                                               <option id="gnu.c.compiler.option.misc.other.1598749994" name="Other flags" superClass="gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-c -fmessage-length=0 -march=rv32imac -mabi=ilp32 -mcmodel=medlow -ffunction-sections -fdata-sections --specs=nano.specs -fno-builtin-printf" valueType="string"/>\r
+                                                               <option id="gnu.c.compiler.option.warnings.extrawarn.527816261" name="Extra warnings (-Wextra)" superClass="gnu.c.compiler.option.warnings.extrawarn" useByScannerDiscovery="false" value="true" valueType="boolean"/>\r
+                                                               <option id="gnu.c.compiler.option.dialect.std.1770102192" name="Language standard" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.c.compiler.dialect.default" valueType="enumerated"/>\r
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.compiler.option.preprocessor.def.symbols.252676358" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">\r
                                                                        <listOptionValue builtIn="false" value="DONT_USE_PLIC"/>\r
                                                                        <listOptionValue builtIn="false" value="DONT_USE_M_TIME"/>\r
                                                                </option>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.other.953712529" name="Other compiler flags" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.other" useByScannerDiscovery="true" value="-ffunction-sections -fdata-sections -include sys/cdefs.h -fno-builtin-printf -c" valueType="string"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.std.1963706020" name="Language standard" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.std.default" valueType="enumerated"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.otheroptimizations.1382786252" name="Other optimization flags" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.otheroptimizations" useByScannerDiscovery="true" value="" valueType="string"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.otherwarnings.1264446812" name="Other warning flags" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.otherwarnings" useByScannerDiscovery="true" value="-Wall" valueType="string"/>\r
-                                                               <inputType id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler.input.517786622" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler.input"/>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1494581004" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>\r
                                                        </tool>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.cpp.compiler.890064572" name="GNU RISC-V Cross C++ Compiler" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.cpp.compiler"/>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.linker.1118992651" name="GNU RISC-V Cross C Linker" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.linker">\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.gcsections.303446425" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.gcsections" useByScannerDiscovery="false" value="true" valueType="boolean"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.nostart.2092172057" name="Do not use standard start files (-nostartfiles)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.nostart" useByScannerDiscovery="false" value="true" valueType="boolean"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.libs.1930877742" name="Libraries (-l)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.libs" useByScannerDiscovery="false" valueType="libs">\r
-                                                                       <listOptionValue builtIn="false" value="c"/>\r
-                                                               </option>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.other.724386459" name="Other linker flags" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.other" useByScannerDiscovery="false" value="-Xlinker --defsym=__stack_size=1K -Wl,--start-group -Wl,--end-group -Wl,--wrap=malloc -Wl,--wrap=free -Wl,--wrap=open -Wl,--wrap=lseek -Wl,--wrap=read -Wl,--wrap=write -Wl,--wrap=fstat -Wl,--wrap=stat -Wl,--wrap=close -Wl,--wrap=link -Wl,--wrap=unlink -Wl,--wrap=execve -Wl,--wrap=fork -Wl,--wrap=getpid -Wl,--wrap=kill -Wl,--wrap=wait -Wl,--wrap=isatty -Wl,--wrap=times -Wl,--wrap=sbrk -Wl,--wrap=_exit -Wl,--wrap=puts -Wl,--wrap=_malloc -Wl,--wrap=_free -Wl,--wrap=_open -Wl,--wrap=_lseek -Wl,--wrap=_read -Wl,--wrap=_write -Wl,--wrap=_fstat -Wl,--wrap=_stat -Wl,--wrap=_close -Wl,--wrap=_link -Wl,--wrap=_unlink -Wl,--wrap=_execve -Wl,--wrap=_fork -Wl,--wrap=_getpid -Wl,--wrap=_kill -Wl,--wrap=_wait -Wl,--wrap=_isatty -Wl,--wrap=_times -Wl,--wrap=_sbrk -Wl,--wrap=__exit -Wl,--wrap=_puts" valueType="string"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.paths.1340277823" name="Library search path (-L)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.paths" useByScannerDiscovery="false" valueType="libPaths">\r
-                                                                       <listOptionValue builtIn="false" value="../"/>\r
-                                                               </option>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.scriptfile.535033372" name="Script files (-T)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.scriptfile" useByScannerDiscovery="false" valueType="stringList">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freedom-e-sdk/env/freedom-e300-hifive1/flash.lds}&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.usenewlibnano.221590263" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.usenewlibnano" useByScannerDiscovery="false" value="true" valueType="boolean"/>\r
-                                                               <inputType id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.linker.input.170776044" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.linker.input">\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.421489488" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">\r
+                                                               <option id="gnu.cpp.compiler.option.optimization.level.468217435" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>\r
+                                                               <option defaultValue="gnu.cpp.compiler.debugging.level.max" id="gnu.cpp.compiler.option.debugging.level.1238097403" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" valueType="enumerated"/>\r
+                                                       </tool>\r
+                                                       <tool command="riscv64-unknown-elf-gcc.exe" id="cdt.managedbuild.tool.gnu.cross.c.linker.25704515" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker">\r
+                                                               <option id="gnu.c.link.option.nostart.547444896" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" useByScannerDiscovery="false" value="true" valueType="boolean"/>\r
+                                                               <option id="gnu.c.link.option.ldflags.385740302" name="Linker flags" superClass="gnu.c.link.option.ldflags" useByScannerDiscovery="false" value="--specs=nano.specs -Xlinker --gc-sections -Wl,-Map,RTOSDemo.map -T../freedom-e-sdk/env/freedom-e300-hifive1/flash.lds -march=rv32imac -mabi=ilp32 -mcmodel=medlow -Xlinker --defsym=__stack_size=400 -Wl,--start-group -Wl,--end-group -Wl,--wrap=malloc -Wl,--wrap=free -Wl,--wrap=open -Wl,--wrap=lseek -Wl,--wrap=read -Wl,--wrap=write -Wl,--wrap=fstat -Wl,--wrap=stat -Wl,--wrap=close -Wl,--wrap=link -Wl,--wrap=unlink -Wl,--wrap=execve -Wl,--wrap=fork -Wl,--wrap=getpid -Wl,--wrap=kill -Wl,--wrap=wait -Wl,--wrap=isatty -Wl,--wrap=times -Wl,--wrap=sbrk -Wl,--wrap=_exit -Wl,--wrap=puts -Wl,--wrap=_malloc -Wl,--wrap=_free -Wl,--wrap=_open -Wl,--wrap=_lseek -Wl,--wrap=_read -Wl,--wrap=_write -Wl,--wrap=_fstat -Wl,--wrap=_stat -Wl,--wrap=_close -Wl,--wrap=_link -Wl,--wrap=_unlink -Wl,--wrap=_execve -Wl,--wrap=_fork -Wl,--wrap=_getpid -Wl,--wrap=_kill -Wl,--wrap=_wait -Wl,--wrap=_isatty -Wl,--wrap=_times -Wl,--wrap=_sbrk -Wl,--wrap=__exit -Wl,--wrap=_puts" valueType="string"/>\r
+                                                               <option id="gnu.c.link.option.nostdlibs.1587538414" name="No startup or default libs (-nostdlib)" superClass="gnu.c.link.option.nostdlibs" useByScannerDiscovery="false" value="false" valueType="boolean"/>\r
+                                                               <option id="gnu.c.link.option.nodeflibs.49453984" name="Do not use default libraries (-nodefaultlibs)" superClass="gnu.c.link.option.nodeflibs" useByScannerDiscovery="false" value="false" valueType="boolean"/>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1563926647" superClass="cdt.managedbuild.tool.gnu.c.linker.input">\r
                                                                        <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>\r
                                                                        <additionalInput kind="additionalinput" paths="$(LIBS)"/>\r
                                                                </inputType>\r
                                                        </tool>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.cpp.linker.151100904" name="GNU RISC-V Cross C++ Linker" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.cpp.linker">\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.cpp.linker.gcsections.2013052941" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.cpp.linker.gcsections" value="true" valueType="boolean"/>\r
-                                                       </tool>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.archiver.735073113" name="GNU RISC-V Cross Archiver" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.archiver"/>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.createflash.43162503" name="GNU RISC-V Cross Create Flash Image" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.createflash"/>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.createlisting.407702640" name="GNU RISC-V Cross Create Listing" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.createlisting">\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.source.1632875344" name="Display source (--source|-S)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.source" value="true" valueType="boolean"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.allheaders.730325053" name="Display all headers (--all-headers|-x)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.allheaders" value="true" valueType="boolean"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.demangle.442048872" name="Demangle names (--demangle|-C)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.demangle" value="true" valueType="boolean"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.linenumbers.2063176206" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.linenumbers" value="true" valueType="boolean"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.wide.1824434021" name="Wide lines (--wide|-w)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.wide" value="true" valueType="boolean"/>\r
-                                                       </tool>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.printsize.1818348681" name="GNU RISC-V Cross Print Size" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.printsize">\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.printsize.format.782529195" name="Size format" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.printsize.format" useByScannerDiscovery="false"/>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.1074348850" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker"/>\r
+                                                       <tool id="cdt.managedbuild.tool.gnu.cross.archiver.1004176495" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>\r
+                                                       <tool command="riscv64-unknown-elf-gcc.exe" id="cdt.managedbuild.tool.gnu.cross.assembler.1968317442" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">\r
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.both.asm.option.include.paths.1729858113" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" useByScannerDiscovery="false" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos_source/portable/GCC/RISC-V/chip_specific_extensions/RV32I_CLINT_no_extensions}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freedom-e-sdk/include}&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="gnu.both.asm.option.flags.1595900562" name="Assembler flags" superClass="gnu.both.asm.option.flags" useByScannerDiscovery="false" value="-march=rv32imac -mabi=ilp32 -mcmodel=medlow -c -DportasmHANDLE_INTERRUPT=handle_trap -g3" valueType="string"/>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1322122265" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>\r
                                                        </tool>\r
                                                </toolChain>\r
                                        </folderInfo>\r
                                        <sourceEntries>\r
-                                               <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>\r
+                                               <entry excluding="freedom-e-sdk/drivers" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>\r
                                        </sourceEntries>\r
                                </configuration>\r
                        </storageModule>\r
                        <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
                </cconfiguration>\r
-               <cconfiguration id="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.release.1992646408">\r
-                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.release.1992646408" moduleId="org.eclipse.cdt.core.settings" name="Release">\r
-                               <externalSettings/>\r
-                               <extensions>\r
-                                       <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>\r
-                                       <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                                       <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                                       <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                                       <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                                       <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                               </extensions>\r
-                       </storageModule>\r
-                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
-                               <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.release.1992646408" name="Release" parent="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.release">\r
-                                       <folderInfo id="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.release.1992646408." name="/" resourcePath="">\r
-                                               <toolChain id="ilg.gnumcueclipse.managedbuild.cross.riscv.toolchain.elf.release.1937283388" name="RISC-V Cross GCC" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.toolchain.elf.release">\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.addtools.createflash.672219611" name="Create flash image" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.addtools.createflash" value="true" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.addtools.createlisting.1692672647" name="Create extended listing" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.addtools.createlisting"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.addtools.printsize.1955835524" name="Print size" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.addtools.printsize" value="true" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.level.1634926912" name="Optimization Level" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.level" value="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.level.size" valueType="enumerated"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.messagelength.1936180446" name="Message length (-fmessage-length=0)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.messagelength" value="true" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.signedchar.148983493" name="'char' is signed (-fsigned-char)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.signedchar" value="true" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.functionsections.2117145633" name="Function sections (-ffunction-sections)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.functionsections" value="true" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.datasections.1653949713" name="Data sections (-fdata-sections)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.datasections" value="true" valueType="boolean"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.debugging.level.728682044" name="Debug level" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.debugging.level"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.debugging.format.1767313058" name="Debug format" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.debugging.format"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.toolchain.name.254213830" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.toolchain.name" value="RISC-V GCC/Newlib" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.prefix.372256120" name="Prefix" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.prefix" value="riscv64-unknown-elf-" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.c.298542489" name="C compiler" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.c" value="gcc" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.cpp.1240126358" name="C++ compiler" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.cpp" value="g++" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.ar.170388081" name="Archiver" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.ar" value="ar" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.objcopy.1277104890" name="Hex/Bin converter" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.objcopy" value="objcopy" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.objdump.488685269" name="Listing generator" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.objdump" value="objdump" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.size.554860593" name="Size command" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.size" value="size" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.make.468110366" name="Build command" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.make" value="make" valueType="string"/>\r
-                                                       <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.rm.309041178" name="Remove command" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.command.rm" value="rm" valueType="string"/>\r
-                                                       <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnumcueclipse.managedbuild.cross.riscv.targetPlatform.687762738" isAbstract="false" osList="all" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.targetPlatform"/>\r
-                                                       <builder buildPath="${workspace_loc:/RTOSDemo}/Release" id="ilg.gnumcueclipse.managedbuild.cross.riscv.builder.609463428" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.builder"/>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.assembler.1648537074" name="GNU RISC-V Cross Assembler" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.assembler">\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.usepreprocessor.1113623358" name="Use preprocessor" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.usepreprocessor" value="true" valueType="boolean"/>\r
-                                                               <inputType id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.assembler.input.1033931684" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.assembler.input"/>\r
-                                                       </tool>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler.1778523424" name="GNU RISC-V Cross C Compiler" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler">\r
-                                                               <inputType id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler.input.1714150627" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler.input"/>\r
-                                                       </tool>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.cpp.compiler.669753833" name="GNU RISC-V Cross C++ Compiler" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.cpp.compiler"/>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.linker.1530679232" name="GNU RISC-V Cross C Linker" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.linker">\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.gcsections.1637900674" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.gcsections" value="true" valueType="boolean"/>\r
-                                                               <inputType id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.linker.input.1335245598" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.linker.input">\r
-                                                                       <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>\r
-                                                                       <additionalInput kind="additionalinput" paths="$(LIBS)"/>\r
-                                                               </inputType>\r
-                                                       </tool>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.cpp.linker.648232936" name="GNU RISC-V Cross C++ Linker" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.cpp.linker">\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.cpp.linker.gcsections.929507343" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.cpp.linker.gcsections" value="true" valueType="boolean"/>\r
-                                                       </tool>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.archiver.439296099" name="GNU RISC-V Cross Archiver" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.archiver"/>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.createflash.2024214820" name="GNU RISC-V Cross Create Flash Image" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.createflash"/>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.createlisting.1648338834" name="GNU RISC-V Cross Create Listing" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.createlisting">\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.source.1291642104" name="Display source (--source|-S)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.source" value="true" valueType="boolean"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.allheaders.616461822" name="Display all headers (--all-headers|-x)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.allheaders" value="true" valueType="boolean"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.demangle.1146271318" name="Demangle names (--demangle|-C)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.demangle" value="true" valueType="boolean"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.linenumbers.1242922810" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.linenumbers" value="true" valueType="boolean"/>\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.wide.876301703" name="Wide lines (--wide|-w)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.createlisting.wide" value="true" valueType="boolean"/>\r
-                                                       </tool>\r
-                                                       <tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.printsize.1112238656" name="GNU RISC-V Cross Print Size" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.printsize">\r
-                                                               <option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.printsize.format.483461408" name="Size format" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.printsize.format"/>\r
-                                                       </tool>\r
-                                               </toolChain>\r
-                                       </folderInfo>\r
-                               </configuration>\r
-                       </storageModule>\r
-                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
-               </cconfiguration>\r
        </storageModule>\r
        <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
-               <project id="RTOSDemo.ilg.gnumcueclipse.managedbuild.cross.riscv.target.elf.431462479" name="Executable" projectType="ilg.gnumcueclipse.managedbuild.cross.riscv.target.elf"/>\r
+               <project id="RTOSDemo.cdt.managedbuild.target.gnu.cross.exe.103083601" name="Executable" projectType="cdt.managedbuild.target.gnu.cross.exe"/>\r
        </storageModule>\r
        <storageModule moduleId="scannerConfiguration">\r
                <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>\r
-               <scannerConfigBuildInfo instanceId="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.release.1992646408;ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.release.1992646408.;ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler.1778523424;ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler.input.1714150627">\r
-                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>\r
-               </scannerConfigBuildInfo>\r
-               <scannerConfigBuildInfo instanceId="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.debug.516870870;ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.debug.516870870.;ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler.1632260763;ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler.input.517786622">\r
+               <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.debug.244253252;cdt.managedbuild.config.gnu.cross.exe.debug.244253252.;cdt.managedbuild.tool.gnu.cross.c.compiler.533761585;cdt.managedbuild.tool.gnu.c.compiler.input.1494581004">\r
                        <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>\r
                </scannerConfigBuildInfo>\r
        </storageModule>\r
        <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>\r
+       <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>\r
        <storageModule moduleId="refreshScope" versionNumber="2">\r
                <configuration configurationName="Debug">\r
                        <resource resourceType="PROJECT" workspacePath="/RTOSDemo"/>\r
                </configuration>\r
-               <configuration configurationName="Release">\r
-                       <resource resourceType="PROJECT" workspacePath="/RTOSDemo"/>\r
-               </configuration>\r
        </storageModule>\r
-       <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>\r
 </cproject>\r
index 2db36177086f0cc79ac7c71c8fcfed4688be2866..c1f63311d8afbdecf838f30a624b044d322840f6 100644 (file)
        </natures>\r
        <linkedResources>\r
                <link>\r
-                       <name>FreeRTOS_Source</name>\r
+                       <name>freertos_source</name>\r
                        <type>2</type>\r
                        <locationURI>virtual:/virtual</locationURI>\r
                </link>\r
                <link>\r
-                       <name>FreeRTOS_Source/event_groups.c</name>\r
+                       <name>freertos_source/event_groups.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Source/event_groups.c</locationURI>\r
                </link>\r
                <link>\r
-                       <name>FreeRTOS_Source/include</name>\r
+                       <name>freertos_source/include</name>\r
                        <type>2</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Source/include</locationURI>\r
                </link>\r
                <link>\r
-                       <name>FreeRTOS_Source/list.c</name>\r
+                       <name>freertos_source/list.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Source/list.c</locationURI>\r
                </link>\r
                <link>\r
-                       <name>FreeRTOS_Source/portable</name>\r
+                       <name>freertos_source/portable</name>\r
                        <type>2</type>\r
                        <locationURI>virtual:/virtual</locationURI>\r
                </link>\r
                <link>\r
-                       <name>FreeRTOS_Source/queue.c</name>\r
+                       <name>freertos_source/queue.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Source/queue.c</locationURI>\r
                </link>\r
                <link>\r
-                       <name>FreeRTOS_Source/stream_buffer.c</name>\r
+                       <name>freertos_source/stream_buffer.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Source/stream_buffer.c</locationURI>\r
                </link>\r
                <link>\r
-                       <name>FreeRTOS_Source/tasks.c</name>\r
+                       <name>freertos_source/tasks.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Source/tasks.c</locationURI>\r
                </link>\r
                <link>\r
-                       <name>FreeRTOS_Source/timers.c</name>\r
+                       <name>freertos_source/timers.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Source/timers.c</locationURI>\r
                </link>\r
                <link>\r
-                       <name>full_demo/common_demo_tasks</name>\r
+                       <name>full_demo/standard_demo_tasks</name>\r
                        <type>2</type>\r
                        <locationURI>virtual:/virtual</locationURI>\r
                </link>\r
                <link>\r
-                       <name>FreeRTOS_Source/portable/GCC</name>\r
+                       <name>freertos_source/portable/GCC</name>\r
                        <type>2</type>\r
                        <locationURI>virtual:/virtual</locationURI>\r
                </link>\r
                <link>\r
-                       <name>FreeRTOS_Source/portable/MemMang</name>\r
+                       <name>freertos_source/portable/MemMang</name>\r
                        <type>2</type>\r
                        <locationURI>virtual:/virtual</locationURI>\r
                </link>\r
                <link>\r
-                       <name>full_demo/common_demo_tasks/EventGroupsDemo.c</name>\r
+                       <name>full_demo/standard_demo_tasks/EventGroupsDemo.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/Minimal/EventGroupsDemo.c</locationURI>\r
                </link>\r
                <link>\r
-                       <name>full_demo/common_demo_tasks/GenQTest.c</name>\r
+                       <name>full_demo/standard_demo_tasks/GenQTest.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/Minimal/GenQTest.c</locationURI>\r
                </link>\r
                <link>\r
-                       <name>full_demo/common_demo_tasks/TaskNotify.c</name>\r
+                       <name>full_demo/standard_demo_tasks/TaskNotify.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/Minimal/TaskNotify.c</locationURI>\r
                </link>\r
                <link>\r
-                       <name>full_demo/common_demo_tasks/TimerDemo.c</name>\r
+                       <name>full_demo/standard_demo_tasks/TimerDemo.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/Minimal/TimerDemo.c</locationURI>\r
                </link>\r
                <link>\r
-                       <name>full_demo/common_demo_tasks/blocktim.c</name>\r
+                       <name>full_demo/standard_demo_tasks/blocktim.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/Minimal/blocktim.c</locationURI>\r
                </link>\r
                <link>\r
-                       <name>full_demo/common_demo_tasks/dynamic.c</name>\r
+                       <name>full_demo/standard_demo_tasks/dynamic.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/Minimal/dynamic.c</locationURI>\r
                </link>\r
                <link>\r
-                       <name>full_demo/common_demo_tasks/include</name>\r
+                       <name>full_demo/standard_demo_tasks/include</name>\r
                        <type>2</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/include</locationURI>\r
                </link>\r
                <link>\r
-                       <name>full_demo/common_demo_tasks/recmutex.c</name>\r
+                       <name>full_demo/standard_demo_tasks/recmutex.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/Minimal/recmutex.c</locationURI>\r
                </link>\r
                <link>\r
-                       <name>FreeRTOS_Source/portable/GCC/RISC-V</name>\r
+                       <name>freertos_source/portable/GCC/RISC-V</name>\r
                        <type>2</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Source/portable/GCC/RISC-V</locationURI>\r
                </link>\r
                <link>\r
-                       <name>FreeRTOS_Source/portable/MemMang/heap_4.c</name>\r
+                       <name>freertos_source/portable/MemMang/heap_4.c</name>\r
                        <type>1</type>\r
                        <locationURI>FREERTOS_ROOT/FreeRTOS/Source/portable/MemMang/heap_4.c</locationURI>\r
                </link>\r
        </linkedResources>\r
        <filteredResources>\r
                <filter>\r
-                       <id>1546280186727</id>\r
-                       <name>FreeRTOS_Source/portable/GCC/RISC-V/chip_specific_extensions</name>\r
+                       <id>1571146760235</id>\r
+                       <name>freertos_source/portable/GCC/RISC-V/chip_specific_extensions</name>\r
                        <type>9</type>\r
                        <matcher>\r
                                <id>org.eclipse.ui.ide.multiFilter</id>\r
index f4d8f46877edf4c336d66adc7fe5a103c9dedc32..97f9f0d9f563478065f8a74fd51611f3905ee1ad 100644 (file)
@@ -1,48 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
 <project>\r
-       \r
-    <configuration id="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.debug.516870870" name="Debug">\r
-                       \r
-        <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">\r
-                               \r
-            <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>\r
-                               \r
-            <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>\r
-                               \r
-            <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>\r
-                               \r
-            <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="589632151712267266" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">\r
-                                               \r
-                <language-scope id="org.eclipse.cdt.core.gcc"/>\r
-                                               \r
-                <language-scope id="org.eclipse.cdt.core.g++"/>\r
-                                       \r
-            </provider>\r
-                       \r
-        </extension>\r
-               \r
-    </configuration>\r
-       \r
-    <configuration id="ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.release.1992646408" name="Release">\r
-                       \r
-        <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">\r
-                               \r
-            <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>\r
-                               \r
-            <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>\r
-                               \r
-            <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>\r
-                               \r
-            <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="602853956613322166" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">\r
-                                               \r
-                <language-scope id="org.eclipse.cdt.core.gcc"/>\r
-                                               \r
-                <language-scope id="org.eclipse.cdt.core.g++"/>\r
-                                       \r
-            </provider>\r
-                       \r
-        </extension>\r
-               \r
-    </configuration>\r
-    \r
+       <configuration id="cdt.managedbuild.config.gnu.cross.exe.debug.244253252" name="Debug">\r
+               <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">\r
+                       <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>\r
+                       <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>\r
+                       <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>\r
+                       <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-564276645149001" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">\r
+                               <language-scope id="org.eclipse.cdt.core.gcc"/>\r
+                               <language-scope id="org.eclipse.cdt.core.g++"/>\r
+                       </provider>\r
+               </extension>\r
+       </configuration>\r
 </project>\r
index f239c1c3ca9f7a2064dcc6ff64f21be815e77af3..c48a10b3a8366f9cc0c41110b830f27ff7f84cd3 100644 (file)
 #define configTICK_RATE_HZ                             ( ( TickType_t ) 1000 )\r
 #define configMAX_PRIORITIES                   ( 7 )\r
 #define configMINIMAL_STACK_SIZE               ( ( unsigned short ) 70 )\r
-#define configTOTAL_HEAP_SIZE                  ( ( size_t ) 14100 )\r
+#define configTOTAL_HEAP_SIZE                  ( ( size_t ) 14500 )\r
 #define configMAX_TASK_NAME_LEN                        ( 16 )\r
 #define configUSE_TRACE_FACILITY               0\r
 #define configUSE_16_BIT_TICKS                 0\r
 #define configUSE_TIMERS                               1\r
 #define configTIMER_TASK_PRIORITY              ( configMAX_PRIORITIES - 1 )\r
 #define configTIMER_QUEUE_LENGTH               4\r
-#define configTIMER_TASK_STACK_DEPTH   ( 100 )\r
+#define configTIMER_TASK_STACK_DEPTH   ( 120 )\r
 \r
 /* Task priorities.  Allow these to be overridden. */\r
 #ifndef uartPRIMARY_PRIORITY\r
@@ -144,6 +144,9 @@ to exclude the API function. */
 #define INCLUDE_vTaskDelay                             1\r
 #define INCLUDE_eTaskGetState                  1\r
 #define INCLUDE_xTimerPendFunctionCall 1\r
+#define INCLUDE_xTaskAbortDelay                                1\r
+#define INCLUDE_xTaskGetHandle                         1\r
+#define INCLUDE_xSemaphoreGetMutexHolder       1\r
 \r
 /* Normal assert() semantics without relying on the provision of an assert.h\r
 header file. */\r
index ad57bf591ebb2f7502a8e5fb1f59b5fb545f2b02..c95af4eb049d0a7dfbf9b6418de8c035e00fc26b 100644 (file)
@@ -8,6 +8,7 @@
 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value=""/>\r
 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>\r
 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="Generic TCP/IP"/>\r
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDeviceId" value="org.eclipse.cdt.debug.gdbjtag.core.jtagdevice.genericDevice"/>\r
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="false"/>\r
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>\r
 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>\r
@@ -25,6 +26,8 @@
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>\r
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>\r
 <stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="riscv64-unknown-elf-gdb.exe -iex &quot;set mem inaccessible-by-default off&quot; -iex &quot;set arch riscv:rv32&quot; -iex &quot;set riscv use_compressed_breakpoint off&quot;"/>\r
+<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REMOTE_TIMEOUT_ENABLED" value="false"/>\r
+<stringAttribute key="org.eclipse.cdt.dsf.gdb.REMOTE_TIMEOUT_VALUE" value=""/>\r
 <booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>\r
 <intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>\r
 <stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>\r
index 78b3747db3a842a65daff80709884d583dbe3527..96b9f91106a7fe9b29a1fd6a99d767b838cd6528 100644 (file)
@@ -175,6 +175,7 @@ unsigned long ulReceivedValue;
 const unsigned long ulExpectedValue = 100UL;\r
 const char * const pcPassMessage = "Blink\r\n";\r
 const char * const pcFailMessage = "Unexpected value received\r\n";\r
+extern void vSendString( const char * pcString );\r
 \r
        /* Remove compiler warning about unused parameter. */\r
        ( void ) pvParameters;\r
@@ -190,12 +191,12 @@ const char * const pcFailMessage = "Unexpected value received\r\n";
                is it the expected value?  If it is, toggle the LED. */\r
                if( ulReceivedValue == ulExpectedValue )\r
                {\r
-                       write( STDOUT_FILENO, pcPassMessage, strlen( pcPassMessage ) );\r
+                       vSendString( pcPassMessage );\r
                        ulReceivedValue = 0U;\r
                }\r
                else\r
                {\r
-                       write( STDOUT_FILENO, pcFailMessage, strlen( pcFailMessage ) );\r
+                       vSendString( pcFailMessage );\r
                }\r
        }\r
 }\r
diff --git a/FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/drivers/fe300prci/fe300prci_driver.c b/FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/drivers/fe300prci/fe300prci_driver.c
deleted file mode 100644 (file)
index 214b1d5..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-// See LICENSE file for license details\r
-\r
-#include "platform.h"\r
-\r
-#ifdef PRCI_CTRL_ADDR\r
-#include "fe300prci/fe300prci_driver.h"\r
-#include <unistd.h>\r
-\r
-#define rdmcycle(x)  {                                \\r
-    uint32_t lo, hi, hi2;                             \\r
-    __asm__ __volatile__ ("1:\n\t"                    \\r
-                         "csrr %0, mcycleh\n\t"       \\r
-                         "csrr %1, mcycle\n\t"        \\r
-                         "csrr %2, mcycleh\n\t"                \\r
-                         "bne  %0, %2, 1b\n\t"                 \\r
-                         : "=r" (hi), "=r" (lo), "=r" (hi2)) ; \\r
-    *(x) = lo | ((uint64_t) hi << 32);                                 \\r
-  }\r
-\r
-uint32_t PRCI_measure_mcycle_freq(uint32_t mtime_ticks, uint32_t mtime_freq)\r
-{\r
-\r
-  uint32_t start_mtime = CLINT_REG(CLINT_MTIME);\r
-  uint32_t end_mtime = start_mtime + mtime_ticks + 1;\r
-\r
-  // Make sure we won't get rollover.\r
-  while (end_mtime < start_mtime){\r
-    start_mtime = CLINT_REG(CLINT_MTIME);\r
-    end_mtime = start_mtime + mtime_ticks + 1;\r
-  }\r
-\r
-  // Don't start measuring until mtime edge.\r
-  uint32_t tmp = start_mtime;\r
-  do {\r
-    start_mtime = CLINT_REG(CLINT_MTIME);\r
-  } while (start_mtime == tmp);\r
-  \r
-  uint64_t start_mcycle;\r
-  rdmcycle(&start_mcycle);\r
-  \r
-  while (CLINT_REG(CLINT_MTIME) < end_mtime) ;\r
-  \r
-  uint64_t end_mcycle;\r
-  rdmcycle(&end_mcycle);\r
-  uint32_t difference = (uint32_t) (end_mcycle - start_mcycle);\r
-\r
-  uint64_t freq = ((uint64_t) difference * mtime_freq) / mtime_ticks;\r
-  return (uint32_t) freq & 0xFFFFFFFF;\r
-  \r
-}\r
\r
-\r
-void PRCI_use_hfrosc(int div, int trim)\r
-{\r
-  // Make sure the HFROSC is running at its default setting\r
-  // It is OK to change this even if we are running off of it.\r
-  \r
-  PRCI_REG(PRCI_HFROSCCFG) = (ROSC_DIV(div) | ROSC_TRIM(trim) | ROSC_EN(1));\r
-\r
-  while ((PRCI_REG(PRCI_HFROSCCFG) & ROSC_RDY(1)) == 0);\r
-  \r
-  PRCI_REG(PRCI_PLLCFG) &= ~PLL_SEL(1);\r
-}\r
-\r
-void PRCI_use_pll(int refsel, int bypass,\r
-                        int r, int f, int q, int finaldiv,\r
-                        int hfroscdiv, int hfrosctrim)\r
-{\r
-  // Ensure that we aren't running off the PLL before we mess with it.\r
-  if (PRCI_REG(PRCI_PLLCFG) & PLL_SEL(1)) {\r
-    // Make sure the HFROSC is running at its default setting\r
-    PRCI_use_hfrosc(4, 16);\r
-  }\r
-  \r
-  // Set PLL Source to be HFXOSC if desired.\r
-  uint32_t config_value = 0;\r
-\r
-  config_value |= PLL_REFSEL(refsel);\r
-  \r
-  if (bypass) {\r
-    // Bypass\r
-    config_value |= PLL_BYPASS(1);\r
-\r
-    PRCI_REG(PRCI_PLLCFG) = config_value;\r
-\r
-    // If we don't have an HFXTAL, this doesn't really matter.\r
-    // Set our Final output divide to divide-by-1:\r
-    PRCI_REG(PRCI_PLLDIV) = (PLL_FINAL_DIV_BY_1(1) | PLL_FINAL_DIV(0));\r
-  } else {\r
-  \r
-    // To overclock, use the hfrosc\r
-    if (hfrosctrim >= 0 && hfroscdiv >= 0) {\r
-      PRCI_use_hfrosc(hfroscdiv, hfrosctrim);\r
-    }\r
-    \r
-    // Set DIV Settings for PLL\r
-    \r
-    // (Legal values of f_REF are 6-48MHz)\r
-\r
-    // Set DIVR to divide-by-2 to get 8MHz frequency\r
-    // (legal values of f_R are 6-12 MHz)\r
-\r
-    config_value |= PLL_BYPASS(1);\r
-    config_value |= PLL_R(r);\r
-\r
-    // Set DIVF to get 512Mhz frequncy\r
-    // There is an implied multiply-by-2, 16Mhz.\r
-    // So need to write 32-1\r
-    // (legal values of f_F are 384-768 MHz)\r
-    config_value |= PLL_F(f);\r
-\r
-    // Set DIVQ to divide-by-2 to get 256 MHz frequency\r
-    // (legal values of f_Q are 50-400Mhz)\r
-    config_value |= PLL_Q(q);\r
-\r
-    // Set our Final output divide to divide-by-1:\r
-    if (finaldiv == 1){\r
-      PRCI_REG(PRCI_PLLDIV) = (PLL_FINAL_DIV_BY_1(1) | PLL_FINAL_DIV(0));\r
-    } else {\r
-      PRCI_REG(PRCI_PLLDIV) = (PLL_FINAL_DIV(finaldiv-1));\r
-    }\r
-\r
-    PRCI_REG(PRCI_PLLCFG) = config_value;\r
-\r
-    // Un-Bypass the PLL.\r
-    PRCI_REG(PRCI_PLLCFG) &= ~PLL_BYPASS(1);\r
-\r
-    // Wait for PLL Lock\r
-    // Note that the Lock signal can be glitchy.\r
-    // Need to wait 100 us\r
-    // RTC is running at 32kHz.\r
-    // So wait 4 ticks of RTC.\r
-    uint32_t now = CLINT_REG(CLINT_MTIME);\r
-    while (CLINT_REG(CLINT_MTIME) - now < 4) ;\r
-    \r
-    // Now it is safe to check for PLL Lock\r
-    while ((PRCI_REG(PRCI_PLLCFG) & PLL_LOCK(1)) == 0);\r
-\r
-  }\r
-\r
-  // Switch over to PLL Clock source\r
-  PRCI_REG(PRCI_PLLCFG) |= PLL_SEL(1);\r
-\r
-  // If we're running off HFXOSC, turn off the HFROSC to\r
-  // save power.\r
-  if (refsel) {\r
-    PRCI_REG(PRCI_HFROSCCFG) &= ~ROSC_EN(1);\r
-  }\r
-  \r
-}\r
-\r
-void PRCI_use_default_clocks()\r
-{\r
-  // Turn off the LFROSC\r
-  AON_REG(AON_LFROSC) &= ~ROSC_EN(1);\r
-\r
-  // Use HFROSC\r
-  PRCI_use_hfrosc(4, 16);\r
-}\r
-\r
-void PRCI_use_hfxosc(uint32_t finaldiv)\r
-{\r
-  \r
-  PRCI_use_pll(1, // Use HFXTAL\r
-              1, // Bypass = 1\r
-              0, // PLL settings don't matter\r
-              0, // PLL settings don't matter\r
-              0, // PLL settings don't matter\r
-              finaldiv,\r
-              -1,\r
-              -1);\r
-}\r
-\r
-// This is a generic function, which\r
-// doesn't span the entire range of HFROSC settings.\r
-// It only adjusts the trim, which can span a hundred MHz or so.\r
-// This function does not check the legality of the PLL settings\r
-// at all, and it is quite possible to configure invalid PLL settings\r
-// this way.\r
-// It returns the actual measured CPU frequency.\r
-\r
-uint32_t PRCI_set_hfrosctrim_for_f_cpu(uint32_t f_cpu, PRCI_freq_target target )\r
-{\r
-\r
-  uint32_t hfrosctrim = 0;\r
-  uint32_t hfroscdiv = 4;\r
-  uint32_t prev_trim = 0;\r
-\r
-  // In this function we use PLL settings which\r
-  // will give us a 32x multiplier from the output\r
-  // of the HFROSC source to the output of the\r
-  // PLL. We first measure our HFROSC to get the\r
-  // right trim, then finally use it as the PLL source.\r
-  // We should really check here that the f_cpu\r
-  // requested is something in the limit of the PLL. For\r
-  // now that is up to the user.\r
-\r
-  // This will undershoot for frequencies not divisible by 16.\r
-  uint32_t desired_hfrosc_freq = (f_cpu/ 16);\r
-\r
-  PRCI_use_hfrosc(hfroscdiv, hfrosctrim);\r
-  \r
-  // Ignore the first run (for icache reasons)\r
-  uint32_t cpu_freq = PRCI_measure_mcycle_freq(3000, RTC_FREQ);\r
-\r
-  cpu_freq = PRCI_measure_mcycle_freq(3000, RTC_FREQ);\r
-  uint32_t prev_freq = cpu_freq;\r
-  \r
-  while ((cpu_freq < desired_hfrosc_freq) && (hfrosctrim < 0x1F)){\r
-    prev_trim = hfrosctrim;\r
-    prev_freq = cpu_freq;\r
-    hfrosctrim ++;\r
-    PRCI_use_hfrosc(hfroscdiv, hfrosctrim);\r
-    cpu_freq = PRCI_measure_mcycle_freq(3000, RTC_FREQ);\r
-  } \r
-\r
-  // We couldn't go low enough\r
-  if (prev_freq > desired_hfrosc_freq){\r
-    PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, prev_trim);\r
-    cpu_freq = PRCI_measure_mcycle_freq(1000, RTC_FREQ);\r
-    return cpu_freq;\r
-  }\r
-  \r
-  // We couldn't go high enough\r
-  if (cpu_freq < desired_hfrosc_freq){\r
-    PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, prev_trim);\r
-    cpu_freq = PRCI_measure_mcycle_freq(1000, RTC_FREQ);\r
-    return cpu_freq;\r
-  }\r
-\r
-  // Check for over/undershoot\r
-  switch(target) {\r
-  case(PRCI_FREQ_CLOSEST):\r
-    if ((desired_hfrosc_freq - prev_freq) < (cpu_freq - desired_hfrosc_freq)) {\r
-      PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, prev_trim);\r
-    } else {\r
-      PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, hfrosctrim);\r
-    }\r
-    break;\r
-  case(PRCI_FREQ_UNDERSHOOT):\r
-    PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, prev_trim);\r
-    break;\r
-  default:\r
-    PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, hfrosctrim);\r
-  }\r
-\r
-  cpu_freq =  PRCI_measure_mcycle_freq(1000, RTC_FREQ);\r
-  return cpu_freq;\r
-\r
-}\r
-\r
-#endif\r
diff --git a/FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/drivers/fe300prci/fe300prci_driver.h b/FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/drivers/fe300prci/fe300prci_driver.h
deleted file mode 100644 (file)
index 5ad9c0c..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-// See LICENSE file for license details\r
-\r
-#ifndef _FE300PRCI_DRIVER_H_\r
-#define _FE300PRCI_DRIVER_H_\r
-\r
-__BEGIN_DECLS\r
-\r
-#include <unistd.h>\r
-\r
-typedef enum prci_freq_target {\r
-  \r
-  PRCI_FREQ_OVERSHOOT,\r
-  PRCI_FREQ_CLOSEST,\r
-  PRCI_FREQ_UNDERSHOOT\r
-\r
-} PRCI_freq_target;\r
-\r
-/* Measure and return the approximate frequency of the \r
- * CPU, as given by measuring the mcycle counter against \r
- * the mtime ticks.\r
- */\r
-uint32_t PRCI_measure_mcycle_freq(uint32_t mtime_ticks, uint32_t mtime_freq);\r
-\r
-/* Safely switch over to the HFROSC using the given div\r
- * and trim settings.\r
- */\r
-void PRCI_use_hfrosc(int div, int trim);\r
-\r
-/* Safely switch over to the 16MHz HFXOSC,\r
- * applying the finaldiv clock divider (1 is the lowest\r
- * legal value).\r
- */\r
-void PRCI_use_hfxosc(uint32_t finaldiv);\r
-\r
-/* Safely switch over to the PLL using the given\r
- * settings.\r
- * \r
- * Note that not all combinations of the inputs are actually\r
- * legal, and this function does not check for their\r
- * legality ("safely" means that this function won't turn off\r
- * or glitch the clock the CPU is actually running off, but\r
- * doesn't protect against you making it too fast or slow.)\r
- */\r
-\r
-void PRCI_use_pll(int refsel, int bypass,\r
-                        int r, int f, int q, int finaldiv,\r
-                        int hfroscdiv, int hfrosctrim);\r
-\r
-/* Use the default clocks configured at reset.\r
- * This is ~16Mhz HFROSC and turns off the LFROSC\r
- * (on the current FE310 Dev Platforms, an external LFROSC is \r
- * used as it is more power efficient).\r
- */\r
-void PRCI_use_default_clocks();\r
-\r
-/* This routine will adjust the HFROSC trim\r
- * while using HFROSC as the clock source, \r
- * measure the resulting frequency, then\r
- * use it as the PLL clock source, \r
- * in an attempt to get over, under, or close to the \r
- * requested frequency. It returns the actual measured \r
- * frequency. \r
- *\r
- * Note that the requested frequency must be within the \r
- * range supported by the PLL so not all values are \r
- * achievable with this function, and not all \r
- * are guaranteed to actually work. The PLL\r
- * is rated higher than the hardware.\r
- * \r
- * There is no check on the desired f_cpu frequency, it\r
- * is up to the user to specify something reasonable.\r
- */\r
-\r
-uint32_t PRCI_set_hfrosctrim_for_f_cpu(uint32_t f_cpu, PRCI_freq_target target);\r
-\r
-__END_DECLS\r
-\r
-#endif\r
-  \r
diff --git a/FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/drivers/plic/plic_driver.c b/FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/drivers/plic/plic_driver.c
deleted file mode 100644 (file)
index 4f0e495..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-// See LICENSE for license details.\r
-\r
-#include "sifive/devices/plic.h"\r
-#include "plic/plic_driver.h"\r
-#include "platform.h"\r
-#include "encoding.h"\r
-#include <string.h>\r
-\r
-\r
-// Note that there are no assertions or bounds checking on these\r
-// parameter values.\r
-\r
-void volatile_memzero(uint8_t * base, unsigned int size)\r
-{\r
-  volatile uint8_t * ptr;\r
-  for (ptr = base; ptr < (base + size); ptr++){\r
-    *ptr = 0;\r
-  }\r
-}\r
-\r
-void PLIC_init (\r
-                plic_instance_t * this_plic,\r
-                uintptr_t         base_addr,\r
-                uint32_t num_sources,\r
-                uint32_t num_priorities\r
-                )\r
-{\r
-  \r
-  this_plic->base_addr = base_addr;\r
-  this_plic->num_sources = num_sources;\r
-  this_plic->num_priorities = num_priorities;\r
-  \r
-  // Disable all interrupts (don't assume that these registers are reset).\r
-  unsigned long hart_id = read_csr(mhartid);\r
-  volatile_memzero((uint8_t*) (this_plic->base_addr +\r
-                               PLIC_ENABLE_OFFSET +\r
-                               (hart_id << PLIC_ENABLE_SHIFT_PER_TARGET)),\r
-                   (num_sources + 8) / 8);\r
-  \r
-  // Set all priorities to 0 (equal priority -- don't assume that these are reset).\r
-  volatile_memzero ((uint8_t *)(this_plic->base_addr +\r
-                                PLIC_PRIORITY_OFFSET),\r
-                    (num_sources + 1) << PLIC_PRIORITY_SHIFT_PER_SOURCE);\r
-\r
-  // Set the threshold to 0.\r
-  volatile plic_threshold* threshold = (plic_threshold*)\r
-    (this_plic->base_addr +\r
-     PLIC_THRESHOLD_OFFSET +\r
-     (hart_id << PLIC_THRESHOLD_SHIFT_PER_TARGET));\r
-\r
-  *threshold = 0;\r
-  \r
-}\r
-\r
-void PLIC_set_threshold (plic_instance_t * this_plic,\r
-                        plic_threshold threshold){\r
-\r
-  unsigned long hart_id = read_csr(mhartid);  \r
-  volatile plic_threshold* threshold_ptr = (plic_threshold*) (this_plic->base_addr +\r
-                                                              PLIC_THRESHOLD_OFFSET +\r
-                                                              (hart_id << PLIC_THRESHOLD_SHIFT_PER_TARGET));\r
-\r
-  *threshold_ptr = threshold;\r
-\r
-}\r
-  \r
-\r
-void PLIC_enable_interrupt (plic_instance_t * this_plic, plic_source source){\r
-\r
-  unsigned long hart_id = read_csr(mhartid);\r
-  volatile uint8_t * current_ptr = (volatile uint8_t *)(this_plic->base_addr +\r
-                                                        PLIC_ENABLE_OFFSET +\r
-                                                        (hart_id << PLIC_ENABLE_SHIFT_PER_TARGET) +\r
-                                                        (source >> 3));\r
-  uint8_t current = *current_ptr;\r
-  current = current | ( 1 << (source & 0x7));\r
-  *current_ptr = current;\r
-\r
-}\r
-\r
-void PLIC_disable_interrupt (plic_instance_t * this_plic, plic_source source){\r
-  \r
-  unsigned long hart_id = read_csr(mhartid);\r
-  volatile uint8_t * current_ptr = (volatile uint8_t *) (this_plic->base_addr +\r
-                                                         PLIC_ENABLE_OFFSET +\r
-                                                         (hart_id << PLIC_ENABLE_SHIFT_PER_TARGET) +\r
-                                                         (source >> 3));\r
-  uint8_t current = *current_ptr;\r
-  current = current & ~(( 1 << (source & 0x7)));\r
-  *current_ptr = current;\r
-  \r
-}\r
-\r
-void PLIC_set_priority (plic_instance_t * this_plic, plic_source source, plic_priority priority){\r
-\r
-  if (this_plic->num_priorities > 0) {\r
-    volatile plic_priority * priority_ptr = (volatile plic_priority *)\r
-      (this_plic->base_addr +\r
-       PLIC_PRIORITY_OFFSET +\r
-       (source << PLIC_PRIORITY_SHIFT_PER_SOURCE));\r
-    *priority_ptr = priority;\r
-  }\r
-}\r
-\r
-plic_source PLIC_claim_interrupt(plic_instance_t * this_plic){\r
-  \r
-  unsigned long hart_id = read_csr(mhartid);\r
-\r
-  volatile plic_source * claim_addr = (volatile plic_source * )\r
-    (this_plic->base_addr +\r
-     PLIC_CLAIM_OFFSET +\r
-     (hart_id << PLIC_CLAIM_SHIFT_PER_TARGET));\r
-\r
-  return  *claim_addr;\r
-  \r
-}\r
-\r
-void PLIC_complete_interrupt(plic_instance_t * this_plic, plic_source source){\r
-  \r
-  unsigned long hart_id = read_csr(mhartid);\r
-  volatile plic_source * claim_addr = (volatile plic_source *) (this_plic->base_addr +\r
-                                                                PLIC_CLAIM_OFFSET +\r
-                                                                (hart_id << PLIC_CLAIM_SHIFT_PER_TARGET));\r
-  *claim_addr = source;\r
-  \r
-}\r
-\r
diff --git a/FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/drivers/plic/plic_driver.h b/FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/drivers/plic/plic_driver.h
deleted file mode 100644 (file)
index 8ce8e51..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-// See LICENSE file for licence details\r
-\r
-#ifndef PLIC_DRIVER_H\r
-#define PLIC_DRIVER_H\r
-\r
-\r
-__BEGIN_DECLS\r
-\r
-#include "platform.h"\r
-\r
-typedef struct __plic_instance_t\r
-{\r
-  uintptr_t base_addr;\r
-\r
-  uint32_t num_sources;\r
-  uint32_t num_priorities;\r
-  \r
-} plic_instance_t;\r
-\r
-typedef uint32_t plic_source;\r
-typedef uint32_t plic_priority;\r
-typedef uint32_t plic_threshold;\r
-\r
-void PLIC_init (\r
-                plic_instance_t * this_plic,\r
-                uintptr_t         base_addr,\r
-                uint32_t num_sources,\r
-                uint32_t num_priorities\r
-                );\r
-\r
-void PLIC_set_threshold (plic_instance_t * this_plic,\r
-                        plic_threshold threshold);\r
-  \r
-void PLIC_enable_interrupt (plic_instance_t * this_plic,\r
-                           plic_source source);\r
-\r
-void PLIC_disable_interrupt (plic_instance_t * this_plic,\r
-                            plic_source source);\r
-  \r
-void PLIC_set_priority (plic_instance_t * this_plic,\r
-                       plic_source source,\r
-                       plic_priority priority);\r
-\r
-plic_source PLIC_claim_interrupt(plic_instance_t * this_plic);\r
-\r
-void PLIC_complete_interrupt(plic_instance_t * this_plic,\r
-                            plic_source source);\r
-\r
-__END_DECLS\r
-\r
-#endif\r
index 0b7e75491c4b4bd6a295c6266169840dbf35fce1..44639ee7141950e7f2ec802659a8399399701da0 100644 (file)
@@ -17,7 +17,7 @@ PHDRS
 \r
 SECTIONS\r
 {\r
-  __stack_size = DEFINED(__stack_size) ? __stack_size : 2K;\r
+  __stack_size = DEFINED(__stack_size) ? __stack_size : 400;\r
 \r
   .init           :\r
   {\r
index a0800e8f39fa0eb2057d49908990610ababf3ba0..64fa6ef10447bf99119ca81b2f01b22675128489 100644 (file)
@@ -222,8 +222,6 @@ void _init()
   use_pll(0, 0, 1, 31, 1);\r
   uart_init(115200);\r
 \r
-  printf("core freq at %d Hz\n", (int)get_cpu_freq());\r
-\r
   write_csr(mtvec, &trap_entry);\r
   if (read_csr(misa) & (1 << ('F' - 'A'))) { // if F extension is present\r
     write_csr(mstatus, MSTATUS_FS); // allow FPU instructions without trapping\r
index bd79bcb02da01b57a021340cd7ae30f46bf44c10..6c053a7ff4d6ebc1e79f4ac99dd0627683bea80e 100644 (file)
@@ -196,12 +196,11 @@ TickType_t xLastExecutionTime;
 static unsigned long ulLastRegTest1Value = 0, ulLastRegTest2Value = 0;\r
 const char * const pcPassMessage = "Pass";\r
 const char * pcStatusMessage = ".";\r
+extern void vSendString( const char * pcString );\r
 \r
        /* Just to stop compiler warnings. */\r
        ( void ) pvParameters;\r
 \r
-       write( STDOUT_FILENO, pcPassMessage, strlen( pcPassMessage ) );\r
-\r
        /* Initialise xLastExecutionTime so the first call to vTaskDelayUntil()\r
        works correctly. */\r
        xLastExecutionTime = xTaskGetTickCount();\r
@@ -269,7 +268,7 @@ const char * pcStatusMessage = ".";
                ulLastRegTest2Value = ulRegTest2LoopCounter;\r
 \r
                /* Write the status message to the UART. */\r
-               write( STDOUT_FILENO, pcStatusMessage, strlen( pcStatusMessage ) );\r
+               vSendString( pcStatusMessage );\r
        }\r
 }\r
 /*-----------------------------------------------------------*/\r
index 5c820394b51c4cc8d1e70a8fc1e0d1efdc5fba15..07912293e2e09061bc8bc1ea630e3d169cc6cc5e 100644 (file)
@@ -73,7 +73,7 @@
 \r
 /* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to one to run the simple blinky demo,\r
 or 0 to run the more comprehensive test and demo application. */\r
-#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY     1\r
+#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY     0\r
 \r
 /*\r
  * main_blinky() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1.\r
@@ -85,17 +85,28 @@ or 0 to run the more comprehensive test and demo application. */
        extern void main_full( void );\r
 #endif /* #if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 */\r
 \r
-/* Prototypes for the standard FreeRTOS callback/hook functions implemented\r
-within this file.  See https://www.freertos.org/a00016.html */\r
+/*\r
+ * Prototypes for the standard FreeRTOS callback/hook functions implemented\r
+ * within this file.  See https://www.freertos.org/a00016.html\r
+ */\r
 void vApplicationMallocFailedHook( void );\r
 void vApplicationIdleHook( void );\r
 void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName );\r
 void vApplicationTickHook( void );\r
 \r
+/*\r
+ * Very simply polling write to the UART.  The full demo only writes single\r
+ * characters at a time so as not to disrupt the timing of the test and demo\r
+ * tasks.\r
+ */\r
+void vSendString( const char * pcString );\r
+\r
 /*-----------------------------------------------------------*/\r
 \r
 int main( void )\r
 {\r
+       vSendString( "Starting" );\r
+\r
        /* The mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting is described at the top\r
        of this file. */\r
        #if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 )\r
@@ -176,3 +187,15 @@ volatile uint32_t ulSetTo1ToExitFunction = 0;
                __asm volatile( "NOP" );\r
        }\r
 }\r
+/*-----------------------------------------------------------*/\r
+\r
+void vSendString( const char * pcString )\r
+{\r
+       while( *pcString != 0x00 )\r
+       {\r
+               while( UART0_REG( UART_REG_TXFIFO ) & 0x80000000 );\r
+               UART0_REG( UART_REG_TXFIFO ) = *pcString;\r
+               *pcString++;\r
+       }\r
+}\r
+\r
diff --git a/FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/sifive-freedom-e300-hifive1.cfg b/FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/sifive-freedom-e300-hifive1.cfg
deleted file mode 100644 (file)
index d0af4dd..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-adapter_khz     10000\r
-\r
-interface ftdi\r
-ftdi_device_desc "Dual RS232-HS"\r
-ftdi_vid_pid 0x0403 0x6010\r
-\r
-ftdi_layout_init 0x0008 0x001b\r
-ftdi_layout_signal nSRST -oe 0x0020 -data 0x0020\r
-\r
-#Reset Stretcher logic on FE310 is ~1 second long\r
-#This doesn't apply if you use\r
-# ftdi_set_signal, but still good to document\r
-#adapter_nsrst_delay 1500\r
-\r
-set _CHIPNAME riscv\r
-jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x10e31913\r
-\r
-set _TARGETNAME $_CHIPNAME.cpu\r
-target create $_TARGETNAME riscv -chain-position $_TARGETNAME\r
-$_TARGETNAME configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1\r
-\r
-flash bank onboard_spi_flash fespi 0x20000000 0 0 0 $_TARGETNAME\r
-init\r
-#reset -- This type of reset is not implemented yet\r
-if {[ info exists pulse_srst]} {\r
-  ftdi_set_signal nSRST 0\r
-  ftdi_set_signal nSRST z\r
-  #Wait for the reset stretcher\r
-  #It will work without this, but\r
-  #will incur lots of delays for later commands.\r
-  sleep 1500\r
-}      \r
-halt\r
-flash protect 0 64 last off\r