mirror of
https://github.com/FreeRTOS/FreeRTOS.git
synced 2025-12-19 01:55:28 +08:00
Add Renesas RX72N Envision Kit RTOS Demo using Renesas RXv3 port layer (#167)
* Add Renesas RX72N Envision Kit RTOS Demo using Renesas RXv3 port layer * Refactor the workaround which makes CC-RX linker optimization working better To be robust for future updates of Renesas RX SmartConfigurator until the cause of the problem is fixed by Renesas. * Fix vApplicationMallocFailedHook()'s argument type generated by e2 studio. No changes are caused in the MOT and SREC files which are built. * Merge update of submodule (submodule's commit id) Changes are caused in the MOT and SREC files which are built for Renesas RX72N Envision Kit RTOS Demo. Theses RTOS Demo programs work after changes. * Fix: Add checking DPFPU register in RegTest inline asm functions in main_full.c * Fix and sync kernel pointer (submodule's commit id) to the same as 'upstream/master' * Revert "Fix and sync kernel pointer (submodule's commit id) to the same as 'upstream/master'" This reverts commitd684f749bc. * Revert "Merge remote-tracking branch 'upstream/master' into rx700v3dpfpu" This reverts commit3a44473b4e, reversing changes made to0f4f024fe2. * Merge remote-tracking branch 'upstream/master' into rx700v3dpfpu * Fix and sync kernel pointer (submodule's commit id) to the same as 'upstream/master' * Test: Fix unnecessary update of SiFive_HiFive1_RTOS_demo.url. * Fix? unnecessary update of SiFive_HiFive1_RTOS_demo.url. * Fix unnecessary update of SiFive_HiFive1_RTOS_demo.url.
This commit is contained in:
committed by
GitHub
parent
5cc6512986
commit
dea347fb9a
152
FreeRTOS/Demo/RX700_RX72N_EnvisionKit_GCC_e2studio/.cproject
Normal file
152
FreeRTOS/Demo/RX700_RX72N_EnvisionKit_GCC_e2studio/.cproject
Normal file
@@ -0,0 +1,152 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.887759396">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.887759396" moduleId="org.eclipse.cdt.core.settings" name="HardwareDebug">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo">
|
||||
<option id="toolchain.id" value="RENESAS_GCC_RX"/>
|
||||
<option id="toolchain.version" value="8.3.0.202002"/>
|
||||
<option id="toolchain.enable" value="true"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<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="rm -rf *.lst *.lis *.lpp *.map" description="" errorParsers="org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GCCErrorParser" id="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.887759396" name="HardwareDebug" parent="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug">
|
||||
<folderInfo id="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.887759396." name="/" resourcePath="">
|
||||
<toolChain id="com.renesas.cdt.managedbuild.gcc.rx.toolchain.debug.512417966" name="GCC for Renesas RX" superClass="com.renesas.cdt.managedbuild.gcc.rx.toolchain.debug">
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.optimization.optimizationLevel.845303127" name="Optimization Level" superClass="com.renesas.cdt.managedbuild.gcc.core.option.optimization.optimizationLevel" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.optimization.optimizationLevel.speed" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.optimization.fdatasections.587546279" name="Data sections (-fdata-sections)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.optimization.fdatasections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.debug.debugFormat.1470065207" name="Debug format" superClass="com.renesas.cdt.managedbuild.gcc.core.option.debug.debugFormat" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.debug.debugFormat.Default" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.cpu.architecture.1552036578" name="Architecture" superClass="com.renesas.cdt.managedbuild.gcc.core.option.cpu.architecture" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.gcc.rx.architecture.v3" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.cpu.architecture.applicability.111520192" name="Architecture Applicability" superClass="com.renesas.cdt.managedbuild.gcc.core.option.cpu.architecture.applicability" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.cpu.cpuType.1694707801" name="CPU Type" superClass="com.renesas.cdt.managedbuild.gcc.core.option.cpu.cpuType" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.gcc.core.option.cpu.cpuType.rx72n" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.deviceShortName.1804875978" name="DeviceName" superClass="com.renesas.cdt.managedbuild.gcc.core.option.deviceShortName" useByScannerDiscovery="false" value="R5F572NNHxFB" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.deviceCommand.1743609999" name="DeviceCommand" superClass="com.renesas.cdt.managedbuild.gcc.core.option.deviceCommand" useByScannerDiscovery="false" value="R5F572NN" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.optimization.functionsections.1847643954" name="Function sections (-ffunction-sections)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.optimization.functionsections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.debug.warnStackSize.1250737843" name="Warn if stack size exceeds the limit, in bytes (-Wstack-usage)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.debug.warnStackSize" useByScannerDiscovery="false" value="100" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.allwarn.809828919" name="Enable all warnings (-Wall)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.allwarn" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.extrawarn.556241989" name="Enable extra warnings (-Wextra)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.extrawarn" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.conversion.788565876" name="Warn for implicit conversions (-Wconversion)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.conversion" useByScannerDiscovery="true" value="false" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.uninitialized.433042010" name="Warn for uninitialized variables (-Wuninitialized)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.uninitialized" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.unused.94378731" name="Warn for various unused elements (-Wunused)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.unused" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.shadow.774244211" name="Warn for shadowed variables (-Wshadow)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.shadow" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.pointerarith.445557127" name="Warn if it depends on the “size of” a function(-Wpointer-arith)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.pointerarith" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.agreggatereturn.207353419" name="Warn if structures are returned (-Waggregate-return)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.agreggatereturn" useByScannerDiscovery="true" value="false" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.missingdeclaration.97219514" name="Warn for undeclared global functions (-Wmissing-declarations)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.missingdeclaration" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.toerrors.1993051522" name="Generate errors instead of warnings (-Werror)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.toerrors" useByScannerDiscovery="true" value="false" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.missingprototypes.1360760062" name="Warn if a global function has no prototype (-Wmissing-prototypes)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.missingprototypes" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.strictprototypes.600624521" name="Warn if a function has no argument type (-Wstrict-prototypes)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.strictprototypes" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.badfunctioncast.950620017" name="Warn if a cast is wrong (-Wbad-function-cast)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.badfunctioncast" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.warnings.otherFlags.1730765873" name="Other Flags" superClass="com.renesas.cdt.managedbuild.gcc.core.option.warnings.otherFlags" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="-Wundef"/>
|
||||
<listOptionValue builtIn="false" value="-Wno-unused-function -Wno-unused-label -Wno-unused-variable -Wno-main"/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.cpu.disableFPUInstructions.330060499" name="Disable generation of RX hardware FPU instructions" superClass="com.renesas.cdt.managedbuild.gcc.core.option.cpu.disableFPUInstructions" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.optimization.flto.2037414293" name="Link-time optimizer (-flto)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.optimization.flto" useByScannerDiscovery="true" value="false" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.optimization.mrelax.1703211957" name="Enable linker relaxation (-mrelax)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.optimization.mrelax" useByScannerDiscovery="true" value="false" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.cpu.64bitdouble.1143920287" name="Make the double data type be 64 bits in size" superClass="com.renesas.cdt.managedbuild.gcc.core.option.cpu.64bitdouble" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.cpu.doubleFPU.1248721932" name="Double FPU instruction" superClass="com.renesas.cdt.managedbuild.gcc.core.option.cpu.doubleFPU" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.addtools.printsize.1758670966" name="Create Print Size" superClass="com.renesas.cdt.managedbuild.gcc.core.option.addtools.printsize" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.mtfu.523411517" name="MTFU" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.mtfu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.gcc.rz.mtfu.none" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.renesas.cdt.managedbuild.gcc.core.targetPlatform.447033150" isAbstract="false" osList="all" superClass="com.renesas.cdt.managedbuild.gcc.core.targetPlatform"/>
|
||||
<builder arguments="-r" buildPath="${workspace_loc:/${ProjName}}/HardwareDebug" command="make" id="com.renesas.cdt.managedbuild.gcc.core.builder.348807577" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="GCC for Renesas Builder" parallelBuildOn="true" parallelizationNumber="optimal" stopOnErr="false" superClass="com.renesas.cdt.managedbuild.gcc.core.builder"/>
|
||||
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen.1999510944" name="Library Generator" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen">
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.libgen.libstd.applicability.1820050119" superClass="com.renesas.cdt.managedbuild.gcc.core.option.libgen.libstd.applicability" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.rx.option.libraryType.1420001111" name="Library type" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.libraryType" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.librarygenerator.settings.libraryType.preBuilt" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary.1111447120" name="Select Library" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.librarygenerator.settings.selectLibrary.newLib" valueType="enumerated"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.compiler.2065772045" name="Compiler" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.compiler">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.includeFileDir.1541317597" name="Include file directories" superClass="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.includeFileDir" useByScannerDiscovery="false" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${TCINSTALL}/rx-elf/optlibinc""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/FreeRTOS_Demo/Full_Demo/FreeRTOS-Plus-CLI}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/FreeRTOS_Demo/Full_Demo}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/FreeRTOS_Demo}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_workaround}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_workaround/r_bsp_patch}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/FreeRTOS/Source/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/FreeRTOS/Source/portable/GCC/RX700v3_DPFPU}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/frtos_startup}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/frtos_config}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/frtos_skeleton}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_bsp}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_config}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_byteq}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_byteq/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_gpio_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_gpio_rx/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_sci_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_sci_rx/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_dtc_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_dtc_rx/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/general}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_pincfg}""/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.compiler.source.std.2019477617" name="Language standard" superClass="com.renesas.cdt.managedbuild.gcc.core.option.compiler.source.std" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.compiler.common.gnu99" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.macroDefines.1113626646" name="Macro Defines" superClass="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.macroDefines" useByScannerDiscovery="false"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.compiler.source.userDefinedCompilerOptions.430530314" name="User defined compiler options" superClass="com.renesas.cdt.managedbuild.gcc.core.option.compiler.source.userDefinedCompilerOptions" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="-fstack-usage -fdump-rtl-pro_and_epilogue"/>
|
||||
</option>
|
||||
<inputType id="com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c.335247410" superClass="com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.assembler.1182690221" name="Assembler" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.assembler">
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.assembler.source.usepreprocessor.769694783" name="Use preprocessor" superClass="com.renesas.cdt.managedbuild.gcc.core.option.assembler.source.usepreprocessor" useByScannerDiscovery="false"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.core.option.assembler.source.userDefinedOptions.159158576" name="User defined options" superClass="com.renesas.cdt.managedbuild.gcc.core.option.assembler.source.userDefinedOptions" useByScannerDiscovery="false" valueType="stringList"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.core.option.assembler.includes.includeFileDirectories.1301711064" name="Include file directories" superClass="com.renesas.cdt.managedbuild.gcc.core.option.assembler.includes.includeFileDirectories" useByScannerDiscovery="false" valueType="includePath"/>
|
||||
<inputType id="com.renesas.cdt.managedbuild.gcc.core.inputType.assembler.985505582" superClass="com.renesas.cdt.managedbuild.gcc.core.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.linker.174948488" name="Linker" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.linker">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.linker.source.linkerScript.687565960" name="Linker script" superClass="com.renesas.cdt.managedbuild.gcc.core.option.linker.source.linkerScript" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/linker_script.ld}""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.rx.option.linker.archives.archiveSearchDirectories.148989277" name="Standard archive search directories" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.linker.archives.archiveSearchDirectories" useByScannerDiscovery="false" valueType="stringList"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.linker.archives.archiveLibraryFiles.1921976852" name="Standard archive (library) files" superClass="com.renesas.cdt.managedbuild.gcc.core.option.linker.archives.archiveLibraryFiles" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="m"/>
|
||||
<listOptionValue builtIn="false" value="c"/>
|
||||
<listOptionValue builtIn="false" value="gcc"/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.linker.source.linkOrderList.1594631832" name="Linkage Order List" superClass="com.renesas.cdt.managedbuild.gcc.core.option.linker.source.linkOrderList" useByScannerDiscovery="false"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.linker.newlibnano.110587920" name="Use newlib-nano (--specs=nano.specs)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.linker.newlibnano" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.rx.option.linker.userDefinedArchives.248919770" name="User defined archives" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.linker.userDefinedArchives" useByScannerDiscovery="false" valueType="stringList"/>
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.linker.misc.inputsections.967483530" name="Enable garbage collection of unused input sections(-gc-sections)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.linker.misc.inputsections" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.core.option.linker.other.userDefinedOptions.970535055" name="User defined options" superClass="com.renesas.cdt.managedbuild.gcc.core.option.linker.other.userDefinedOptions" useByScannerDiscovery="false" valueType="stringList"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.objcopy.1535137026" name="Objcopy" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.objcopy"/>
|
||||
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.archiver.1263598834" name="Archiver" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.archiver"/>
|
||||
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.cpp.compiler.297687971" name="Compiler CPP" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.cpp.compiler"/>
|
||||
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.cpp.linker.1687043618" name="Linker CPP" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.cpp.linker"/>
|
||||
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.printsize.1006072056" name="Print Size" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.printsize">
|
||||
<option id="com.renesas.cdt.managedbuild.gcc.core.option.printsize.format.813391619" name="Size Format" superClass="com.renesas.cdt.managedbuild.gcc.core.option.printsize.format" useByScannerDiscovery="false"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="smc_gen/r_dtc_rx/src/r_dtc_rx.c|smc_gen/r_dtc_rx/src/targets/rx72n/r_dtc_rx_target.c|smc_gen/r_pincfg/Pin.h|smc_gen/r_pincfg/Pin.c|FreeRTOS/Source/portable/MemMang/heap_5.c|FreeRTOS/Source/portable/MemMang/heap_3.c|FreeRTOS/Source/portable/MemMang/heap_2.c|FreeRTOS/Source/portable/MemMang/heap_1.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="RTOSDemo.com.renesas.cdt.managedbuild.gcc.rx.projectType.Id.457688497" name="実行可能" projectType="com.renesas.cdt.managedbuild.gcc.rx.projectType.Id"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="refreshScope"/>
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<scannerConfigBuildInfo instanceId="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.887759396;com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.887759396.;com.renesas.cdt.managedbuild.gcc.rx.tool.compiler.2065772045;com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c.335247410">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
</cproject>
|
||||
242
FreeRTOS/Demo/RX700_RX72N_EnvisionKit_GCC_e2studio/.project
Normal file
242
FreeRTOS/Demo/RX700_RX72N_EnvisionKit_GCC_e2studio/.project
Normal file
@@ -0,0 +1,242 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>RTOSDemo</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
<linkedResources>
|
||||
<link>
|
||||
<name>src/FreeRTOS</name>
|
||||
<type>2</type>
|
||||
<locationURI>virtual:/virtual</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/FreeRTOS/Source</name>
|
||||
<type>2</type>
|
||||
<locationURI>FREERTOS_ROOT/FreeRTOS/Source</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/FreeRTOS-Plus-CLI</name>
|
||||
<type>2</type>
|
||||
<locationURI>FREERTOS_ROOT/FreeRTOS-Plus/Source/FreeRTOS-Plus-CLI</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Sample-CLI-commands.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>FREERTOS_ROOT/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos/Sample-CLI-commands.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>2</type>
|
||||
<locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/Minimal</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/UARTCommandConsole.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>FREERTOS_ROOT/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos/UARTCommandConsole.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks/include</name>
|
||||
<type>2</type>
|
||||
<locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/include</locationURI>
|
||||
</link>
|
||||
</linkedResources>
|
||||
<filteredResources>
|
||||
<filter>
|
||||
<id>0</id>
|
||||
<name>src/FreeRTOS/Source</name>
|
||||
<type>6</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-croutine.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>0</id>
|
||||
<name>src/FreeRTOS/Source/portable</name>
|
||||
<type>9</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-MemMang</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>0</id>
|
||||
<name>src/FreeRTOS/Source/portable</name>
|
||||
<type>9</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-GCC</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470090</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-BlockQ.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470090</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-blocktim.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470100</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-countsem.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470100</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-death.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470110</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-dynamic.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470110</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-EventGroupsDemo.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470120</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-flop.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470120</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-GenQTest.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470130</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-IntSemTest.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470130</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-QueueOverwrite.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470140</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-recmutex.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470140</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-semtest.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470150</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-TaskNotify.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470150</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-TimerDemo.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1442773470160</id>
|
||||
<name>src/FreeRTOS_Demo/Full_Demo/Standard_Demo_Tasks</name>
|
||||
<type>5</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-IntQueue.c</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>0</id>
|
||||
<name>src/FreeRTOS/Source/portable/GCC</name>
|
||||
<type>9</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-RX700v3_DPFPU</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
</filteredResources>
|
||||
<variableList>
|
||||
<variable>
|
||||
<name>FREERTOS_ROOT</name>
|
||||
<value>$%7BPARENT-3-PROJECT_LOC%7D</value>
|
||||
</variable>
|
||||
</variableList>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,85 @@
|
||||
<#--
|
||||
Copyright(C) 2015 Renesas Electronics Corporation
|
||||
RENESAS ELECTRONICS CONFIDENTIAL AND PROPRIETARY
|
||||
This program must be used solely for the purpose for which it was furnished
|
||||
by Renesas Electronics Corporation. No part of this program may be reproduced
|
||||
or disclosed to others, in any form, without the prior written permission of
|
||||
Renesas Electronics Corporation.
|
||||
-->
|
||||
<#-- = DECLARE FUNCTION INFORMATION HERE =================== -->
|
||||
<#--
|
||||
(Step 1) Explanation: These variables are necessary information for the function header.
|
||||
Please fill up or leave blank, but do not delete
|
||||
-->
|
||||
<#assign Function_Base_Name = "R_SCI_PinSet">
|
||||
<#assign Function_Description = "This function initializes pins for r_sci_rx module">
|
||||
<#assign Function_Arg = "none">
|
||||
<#assign Function_Ret = "none">
|
||||
<#assign Version = 1.00>
|
||||
|
||||
<#-- = DECLARE FUNCTION CONTENT HERE ======================= -->
|
||||
<#--
|
||||
(Step 2) Explanation: Function content.
|
||||
- Macro [initialsection] :
|
||||
Any text that goes into this section will be printed out 1 time per function
|
||||
input [postfix] :Use this variable to add the channel number to the function base name.
|
||||
-->
|
||||
<#macro initialsection postfix>
|
||||
<#assign Function_Name = "${Function_Base_Name}${postfix}">
|
||||
<#include "lib/functionheader.ftl">
|
||||
void ${Function_Name}()
|
||||
{
|
||||
R_BSP_RegisterProtectDisable(BSP_REG_PROTECT_MPC);
|
||||
</#macro>
|
||||
|
||||
<#--
|
||||
(Step 3) Explanation: Function content.
|
||||
- Macro [peripheralpincode] : Any text that goes into this section will be printed out 1 time per peripheral
|
||||
- input [pin] : Available info includes:
|
||||
pin.pinName :The name of pin, eg “SSLA0”
|
||||
pin.assignedPinName :The pin assigned to, eg “P32”
|
||||
pin.pinMPC :The port number of assigned pin, eg “P32” has portNume = “3”
|
||||
pin.portNum :The bit number of the assigned pin, eg “P32” has pinBitNum = “2”
|
||||
pin.pinBitNum :The value of MPC
|
||||
-->
|
||||
<#macro peripheralpincode pin>
|
||||
</#macro>
|
||||
|
||||
<#--
|
||||
(Step 4) Explanation: Function content.
|
||||
- Macro [channelpincode] : Any text that goes into this section will be printed out 1 time per channel
|
||||
- input [pin] : Same as above
|
||||
-->
|
||||
<#macro channelpincode pin>
|
||||
|
||||
/* Set ${pin.pinName} pin */
|
||||
MPC.${pin.assignedPinName}PFS.BYTE = 0x${pin.pinMPC}U;
|
||||
PORT${pin.portNum}.PMR.BIT.B${pin.pinBitNum} = 1U;
|
||||
</#macro>
|
||||
|
||||
<#macro channelpincodeextra pin postfix>
|
||||
</#macro>
|
||||
|
||||
<#--
|
||||
(Step 5) Explanation: Function content.
|
||||
- Macro [endsection] : Any text that goes into this section will be printed out 1 time last
|
||||
-->
|
||||
<#macro endsection>
|
||||
|
||||
R_BSP_RegisterProtectEnable(BSP_REG_PROTECT_MPC);
|
||||
}
|
||||
</#macro>
|
||||
|
||||
<#--
|
||||
(Step 6) Explanation: Header file content
|
||||
- Macro [headerfilesection] : Any text that goes into this section will be printed out 1 time in the header file
|
||||
- input [postfix] :Use this variable to add the channel number to the function base name.
|
||||
-->
|
||||
<#macro headerfilesection postfix>
|
||||
void ${Function_Base_Name}${postfix}();
|
||||
</#macro>
|
||||
|
||||
<#macro headerfilesectionExtra postfix>
|
||||
</#macro>
|
||||
|
||||
<#-- = END OF FILE ========================================= -->
|
||||
@@ -0,0 +1,14 @@
|
||||
eclipse.preferences.version=1
|
||||
indexer/indexAllFiles=false
|
||||
indexer/indexAllHeaderVersions=true
|
||||
indexer/indexAllVersionsSpecificHeaders=
|
||||
indexer/indexOnOpen=false
|
||||
indexer/indexUnusedHeadersWithDefaultLang=false
|
||||
indexer/indexerId=org.eclipse.cdt.core.fastIndexer
|
||||
indexer/skipFilesLargerThanMB=8
|
||||
indexer/skipImplicitReferences=false
|
||||
indexer/skipIncludedFilesLargerThanMB=16
|
||||
indexer/skipMacroReferences=false
|
||||
indexer/skipReferences=false
|
||||
indexer/skipTypeReferences=false
|
||||
indexer/useHeuristicIncludeResolution=false
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<frtos_skeleton>
|
||||
<generateSettings/>
|
||||
</frtos_skeleton>
|
||||
@@ -0,0 +1,151 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.renesas.cdt.launch.dsf.gdbremote.launchConfigurationType">
|
||||
<stringAttribute key="com.renesas.cdt.core.additionalServerArgs" value=""/>
|
||||
<intAttribute key="com.renesas.cdt.core.admPortNumber" value="61236"/>
|
||||
<stringAttribute key="com.renesas.cdt.core.initCommands" value=""/>
|
||||
<stringAttribute key="com.renesas.cdt.core.ipAddress" value="localhost"/>
|
||||
<stringAttribute key="com.renesas.cdt.core.jtagDevice" value="E2 Lite (RX)"/>
|
||||
<stringAttribute key="com.renesas.cdt.core.jtagDeviceId" value="com.renesas.hardwaredebug.rx.e2"/>
|
||||
<listAttribute key="com.renesas.cdt.core.listGDBExe">
|
||||
<listEntry value="rx-elf-gdb -rx-force-isa=v3 -rx-force-double-fpu"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="com.renesas.cdt.core.listGDBLaunchName">
|
||||
<listEntry value="main"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="com.renesas.cdt.core.listGDBPort">
|
||||
<listEntry value="61234"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="com.renesas.cdt.core.loadImage" value="true"/>
|
||||
<stringAttribute key="com.renesas.cdt.core.optionInitCommands" value="monitor set_internal_mem_overwrite 0-645 "/>
|
||||
<intAttribute key="com.renesas.cdt.core.portNumber" value="61234"/>
|
||||
<stringAttribute key="com.renesas.cdt.core.runCommands" value=""/>
|
||||
<booleanAttribute key="com.renesas.cdt.core.secondGDBSupport" value="false"/>
|
||||
<stringAttribute key="com.renesas.cdt.core.serverParam" value="-g E2LITE -t R5F572NN -uClockSrcHoco= 1 -uPTimerClock= 240000000 -uAllowClockSourceInternal= 1 -uUseFine= 1 -uFineBaudRate= 1.50 -w 0 -z 0 -uRegisterSetting= 0 -uModePin= 0 -uChangeStartupBank= 0 -uStartupBank= 0 -uDebugMode= 0 -uExecuteProgram= 0 -uIdCode= FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -uresetOnReload= 1 -n 0 -uWorkRamAddress= 1000 -uProgReWriteIRom= 0 -uProgReWriteDFlash= 0 -uhookWorkRamAddr= 0x7fb40 -uhookWorkRamSize= 0x4c0"/>
|
||||
<booleanAttribute key="com.renesas.cdt.core.setResume" value="true"/>
|
||||
<booleanAttribute key="com.renesas.cdt.core.setStopAt" value="true"/>
|
||||
<booleanAttribute key="com.renesas.cdt.core.startServer" value="true"/>
|
||||
<stringAttribute key="com.renesas.cdt.core.stopAt" value="main"/>
|
||||
<stringAttribute key="com.renesas.cdt.core.targetDevice" value="R5F572NN"/>
|
||||
<booleanAttribute key="com.renesas.cdt.core.useRemoteTarget" value="true"/>
|
||||
<booleanAttribute key="com.renesas.cdt.core.verboseMode" value="false"/>
|
||||
<stringAttribute key="com.renesas.cdt.debug.ioview.dsf.registerSelection" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <selectedRegisterList ioFilePath="C:\DevTools\Renesas\e2_studio_4\internal\IoFiles\RX\RX71M.sfrx"/> "/>
|
||||
<stringAttribute key="com.renesas.cdt.launch.dsf.IO_MAP" value="${support_area_loc}"/>
|
||||
<booleanAttribute key="com.renesas.cdt.launch.dsf.USE_DEFAULT_IO_MAP" value="true"/>
|
||||
<listAttribute key="com.renesas.cdt.launch.dsf.downloadImages">
|
||||
<listEntry value="|true|true|true||true|No core"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="com.renesas.cdt.launch.dsf.downloadImagesUpgradedV30" value="true"/>
|
||||
<stringAttribute key="com.renesas.cdt.launch.dsf.launchSeqType" value="com.renesas.cdt.launch.dsf.launchSequence.e2GdbServer"/>
|
||||
<stringAttribute key="com.renesas.cdt.launch.dsf.serverPath" value="${renesas.support.targetLoc:rx-debug}\e2-server-gdb"/>
|
||||
<listAttribute key="com.renesas.cdt.launch.ui.address.mruList.memoryMonitorExpression">
|
||||
<listEntry value="0xcd68"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.e1.allow.change.startup_bank" value="false"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.e1.allow.clock.source.internal" value="true"/>
|
||||
<intAttribute key="com.renesas.hardwaredebug.e1.clock_source" value="0"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.connection.mode" value="0"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.e1.e1_pwr" value="true"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.e1.enable.hot.plug" value="false"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.e1.enable_external_flash" value="false"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.e1.execute.program" value="false"/>
|
||||
<listAttribute key="com.renesas.hardwaredebug.e1.ext_flash_definitions"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.ext_flash_registers" value="2.1,0,"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.external_memory" value=""/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.fine.baud.rate" value="2.00"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.flash_overwrite_blocks" value=""/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.hook_Stop_func" value="0x0"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.e1.hook_enable_Stop" value="false"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.e1.hook_enable_start" value="false"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.hook_start_func" value="0x0"/>
|
||||
<intAttribute key="com.renesas.hardwaredebug.e1.hook_work_ram_Addr" value="4096"/>
|
||||
<intAttribute key="com.renesas.hardwaredebug.e1.hook_work_ram_Size" value="560"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.e1.hw_break" value="true"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.id_code" value="FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.inputclock" value="27.0000"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.jtag.clock.freq" value="16.5"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.jtag.or.fine" value="0"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.e1.le" value="true"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.mode" value="0"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.mode_pin" value="0"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.e1.prog_rewrite_dflash" value="false"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.e1.prog_rewrite_irom" value="false"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.serial_number" value=""/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.startup_bank" value="0"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.e1.supply.voltage" value="3.3V"/>
|
||||
<intAttribute key="com.renesas.hardwaredebug.e1.timer_clock" value="120000000"/>
|
||||
<intAttribute key="com.renesas.hardwaredebug.e1.work_ram_start" value="4096"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.e20.le" value="true"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.rx.e1.E1DebugToolSettingsTree.resetAfterReload" value="true"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2.E2LiteDebugToolSettingsTree.resetAfterReload" value="true"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.allow.change.startup_bank" value="false"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.allow.clock.source.internal" value="true"/>
|
||||
<intAttribute key="com.renesas.hardwaredebug.rx.e2lite.clock_source" value="1"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.connection.mode" value="0"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.e2lite_pwr" value="false"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.enable.hot.plug" value="false"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.execute.program" value="false"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.external_memory" value=""/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.fine.baud.rate" value="1.50"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.flash_overwrite_blocks" value="0-645"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.hook_Stop_func" value="0x0"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.hook_enable_Stop" value="false"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.hook_enable_start" value="false"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.hook_start_func" value="0x0"/>
|
||||
<intAttribute key="com.renesas.hardwaredebug.rx.e2lite.hook_work_ram_Addr" value="523072"/>
|
||||
<intAttribute key="com.renesas.hardwaredebug.rx.e2lite.hook_work_ram_Size" value="1216"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.id_code" value="FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.inputclock" value="16.0000"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.jtag.clock.freq" value="6.00"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.jtag.or.fine" value="1"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.le" value="true"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.mode" value="0"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.mode_pin" value="0"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.prog_rewrite_dflash" value="false"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.prog_rewrite_irom" value="false"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.serial_number" value=""/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.startup_bank" value="0"/>
|
||||
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.supply.voltage" value="3.3"/>
|
||||
<intAttribute key="com.renesas.hardwaredebug.rx.e2lite.timer_clock" value="240000000"/>
|
||||
<intAttribute key="com.renesas.hardwaredebug.rx.e2lite.work_ram_start" value="4096"/>
|
||||
<booleanAttribute key="com.renesas.hardwaredebug.timemeasurement" value="true"/>
|
||||
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="3"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="false"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value="C:\Renesas\GitHubDesktop\work\FreeRTOS\FreeRTOS\Demo\RX700_RX72N_EnvisionKit_GCC_e2studio\HardwareDebug\RTOSDemo.elf"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="Processing_Before_Start_Kernel"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value="C:\Renesas\GitHubDesktop\work\FreeRTOS\FreeRTOS\Demo\RX700_RX72N_EnvisionKit_GCC_e2studio\HardwareDebug\RTOSDemo.elf"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="rx-elf-gdb -rx-force-isa=v3 -rx-force-double-fpu"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="true"/>
|
||||
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="Processing_Before_Start_Kernel"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="HardwareDebug/RTOSDemo.elf"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="RTOSDemo"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/RTOSDemo"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
|
||||
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList context="reserved-for-future-use"> <gdbmemoryBlockExpression address="52584" core_thread_id="1_i1" label="0xcd68"/> </memoryBlockExpressionList> "/>
|
||||
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||
<stringAttribute key="saved_expressions<seperator>Unknown" value="0xcd68,0x108c"/>
|
||||
</launchConfiguration>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,182 @@
|
||||
/*
|
||||
* FreeRTOS Kernel V10.3.0
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/******************************************************************************
|
||||
* NOTE 1: This project provides two demo applications. A simple blinky style
|
||||
* project, and a more comprehensive test and demo application. The
|
||||
* mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select
|
||||
* between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY
|
||||
* in main.c. This file implements the simply blinky style version.
|
||||
*
|
||||
* NOTE 2: This file only contains the source code that is specific to the
|
||||
* basic demo. Generic functions, such FreeRTOS hook functions, and functions
|
||||
* required to configure the hardware are defined in main.c.
|
||||
******************************************************************************
|
||||
*
|
||||
* main_blinky() creates one queue, and two tasks. It then starts the
|
||||
* scheduler.
|
||||
*
|
||||
* The Queue Send Task:
|
||||
* The queue send task is implemented by the prvQueueSendTask() function in
|
||||
* this file. It sends the value 100 to the queue every 200 milliseconds.
|
||||
*
|
||||
* The Queue Receive Task:
|
||||
* The queue receive task is implemented by the prvQueueReceiveTask() function
|
||||
* in this file. It blocks on the queue to wait for data to arrive from the
|
||||
* queue send task - toggling the LED each time it receives the value 100. The
|
||||
* queue send task writes to the queue every 200ms, so the LED should toggle
|
||||
* every 200ms.
|
||||
*/
|
||||
|
||||
/* Kernel includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "semphr.h"
|
||||
|
||||
/* Renesas includes. */
|
||||
#include "platform.h"
|
||||
|
||||
/* Eval board specific definitions. */
|
||||
#include "demo_specific_io.h"
|
||||
|
||||
/* Priorities at which the tasks are created. */
|
||||
#define mainQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )
|
||||
#define mainQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||
|
||||
/* The rate at which data is sent to the queue. The 200ms value is converted
|
||||
to ticks using the portTICK_PERIOD_MS constant. */
|
||||
#define mainQUEUE_SEND_FREQUENCY_MS ( pdMS_TO_TICKS( 200UL ) )
|
||||
|
||||
/* The number of items the queue can hold. This is 1 as the receive task
|
||||
will remove items as they are added, meaning the send task should always find
|
||||
the queue empty. */
|
||||
#define mainQUEUE_LENGTH ( 1 )
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
* Called by main when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1 in
|
||||
* main.c.
|
||||
*/
|
||||
void main_blinky( void );
|
||||
|
||||
/*
|
||||
* The tasks as described in the comments at the top of this file.
|
||||
*/
|
||||
static void prvQueueReceiveTask( void *pvParameters );
|
||||
static void prvQueueSendTask( void *pvParameters );
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* The queue used by both tasks. */
|
||||
static QueueHandle_t xQueue = NULL;
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void main_blinky( void )
|
||||
{
|
||||
/* Create the queue. */
|
||||
xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( uint32_t ) );
|
||||
|
||||
if( xQueue != NULL )
|
||||
{
|
||||
/* Start the two tasks as described in the comments at the top of this
|
||||
file. */
|
||||
xTaskCreate( prvQueueReceiveTask, /* The function that implements the task. */
|
||||
"Rx", /* The text name assigned to the task - for debug only as it is not used by the kernel. */
|
||||
configMINIMAL_STACK_SIZE, /* The size of the stack to allocate to the task. */
|
||||
NULL, /* The parameter passed to the task - not used in this case. */
|
||||
mainQUEUE_RECEIVE_TASK_PRIORITY, /* The priority assigned to the task. */
|
||||
NULL ); /* The task handle is not required, so NULL is passed. */
|
||||
|
||||
xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, NULL, mainQUEUE_SEND_TASK_PRIORITY, NULL );
|
||||
|
||||
/* Start the tasks and timer running. */
|
||||
vTaskStartScheduler();
|
||||
}
|
||||
|
||||
/* If all is well, the scheduler will now be running, and the following
|
||||
line will never be reached. If the following line does execute, then
|
||||
there was insufficient FreeRTOS heap memory available for the Idle and/or
|
||||
timer tasks to be created. See the memory management section on the
|
||||
FreeRTOS web site for more details on the FreeRTOS heap
|
||||
http://www.freertos.org/a00111.html. */
|
||||
for( ;; );
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static void prvQueueSendTask( void *pvParameters )
|
||||
{
|
||||
TickType_t xNextWakeTime;
|
||||
const unsigned long ulValueToSend = 100UL;
|
||||
|
||||
/* Remove compiler warning about unused parameter. */
|
||||
( void ) pvParameters;
|
||||
|
||||
/* Initialise xNextWakeTime - this only needs to be done once. */
|
||||
xNextWakeTime = xTaskGetTickCount();
|
||||
|
||||
for( ;; )
|
||||
{
|
||||
/* Place this task in the blocked state until it is time to run again. */
|
||||
vTaskDelayUntil( &xNextWakeTime, mainQUEUE_SEND_FREQUENCY_MS );
|
||||
|
||||
/* Send to the queue - causing the queue receive task to unblock and
|
||||
toggle the LED. 0 is used as the block time so the sending operation
|
||||
will not block - it shouldn't need to block as the queue should always
|
||||
be empty at this point in the code. */
|
||||
xQueueSend( xQueue, &ulValueToSend, 0U );
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static void prvQueueReceiveTask( void *pvParameters )
|
||||
{
|
||||
unsigned long ulReceivedValue;
|
||||
const unsigned long ulExpectedValue = 100UL;
|
||||
|
||||
/* Remove compiler warning about unused parameter. */
|
||||
( void ) pvParameters;
|
||||
|
||||
for( ;; )
|
||||
{
|
||||
/* Wait until something arrives in the queue - this task will block
|
||||
indefinitely provided INCLUDE_vTaskSuspend is set to 1 in
|
||||
FreeRTOSConfig.h. */
|
||||
xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY );
|
||||
|
||||
/* To get here something must have been received from the queue, but
|
||||
is it the expected value? If it is, toggle the LED. */
|
||||
if( ulReceivedValue == ulExpectedValue )
|
||||
{
|
||||
LED0 = !LED0;
|
||||
ulReceivedValue = 0U;
|
||||
}
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
/*
|
||||
* FreeRTOS Kernel V10.3.0
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file contains the non-portable and therefore RX specific parts of the
|
||||
* IntQueue standard demo task - namely the configuration of the timers that
|
||||
* generate the interrupts and the interrupt entry points.
|
||||
*/
|
||||
|
||||
/* Scheduler includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
|
||||
/* Demo includes. */
|
||||
#include "IntQueueTimer.h"
|
||||
#include "IntQueue.h"
|
||||
|
||||
/* Renesas includes. */
|
||||
#include "platform.h"
|
||||
|
||||
#define tmrTIMER_0_1_FREQUENCY ( 2000UL )
|
||||
#define tmrTIMER_2_3_FREQUENCY ( 2000UL )
|
||||
|
||||
void vInitialiseTimerForIntQueueTest( void )
|
||||
{
|
||||
/* Ensure interrupts do not start until full configuration is complete. */
|
||||
portENTER_CRITICAL();
|
||||
{
|
||||
/* Give write access. */
|
||||
SYSTEM.PRCR.WORD = 0xa502;
|
||||
|
||||
/* Cascade two 8bit timer channels to generate the interrupts.
|
||||
8bit timer unit 1 (TMR0 and TMR1) and 8bit timer unit 2 (TMR2 and TMR3 are
|
||||
utilised for this test. */
|
||||
|
||||
/* Enable the timers. */
|
||||
SYSTEM.MSTPCRA.BIT.MSTPA5 = 0;
|
||||
SYSTEM.MSTPCRA.BIT.MSTPA4 = 0;
|
||||
|
||||
/* Enable compare match A interrupt request. */
|
||||
TMR0.TCR.BIT.CMIEA = 1;
|
||||
TMR2.TCR.BIT.CMIEA = 1;
|
||||
|
||||
/* Clear the timer on compare match A. */
|
||||
TMR0.TCR.BIT.CCLR = 1;
|
||||
TMR2.TCR.BIT.CCLR = 1;
|
||||
|
||||
/* Set the compare match value. */
|
||||
TMR01.TCORA = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / tmrTIMER_0_1_FREQUENCY ) -1 ) / 8 );
|
||||
TMR23.TCORA = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / tmrTIMER_2_3_FREQUENCY ) -1 ) / 8 );
|
||||
|
||||
/* 16 bit operation ( count from timer 1,2 ). */
|
||||
TMR0.TCCR.BIT.CSS = 3;
|
||||
TMR2.TCCR.BIT.CSS = 3;
|
||||
|
||||
/* Use PCLK as the input. */
|
||||
TMR1.TCCR.BIT.CSS = 1;
|
||||
TMR3.TCCR.BIT.CSS = 1;
|
||||
|
||||
/* Divide PCLK by 8. */
|
||||
TMR1.TCCR.BIT.CKS = 2;
|
||||
TMR3.TCCR.BIT.CKS = 2;
|
||||
|
||||
/* Enable TMR 0, 2 interrupts. */
|
||||
TMR0.TCR.BIT.CMIEA = 1;
|
||||
TMR2.TCR.BIT.CMIEA = 1;
|
||||
|
||||
/* Set priority and enable interrupt. */
|
||||
ICU.SLIBXR128.BYTE = 3; /* Three is TMR0 compare match A. */
|
||||
IPR( PERIB, INTB128 ) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
|
||||
IEN( PERIB, INTB128 ) = 1;
|
||||
|
||||
/* Ensure that the flag is set to 0, otherwise the interrupt will not be
|
||||
accepted. */
|
||||
IR( PERIB, INTB128 ) = 0;
|
||||
|
||||
/* Do the same for TMR2, but to vector 129. */
|
||||
ICU.SLIBXR129.BYTE = 9; /* Nine is TMR2 compare match A. */
|
||||
IPR( PERIB, INTB129 ) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 2;
|
||||
IEN( PERIB, INTB129 ) = 1;
|
||||
IR( PERIB, INTB129 ) = 0;
|
||||
}
|
||||
portEXIT_CRITICAL();
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
R_BSP_PRAGMA_STATIC_INTERRUPT( prvIntQTimer_0_1_ISR, VECT( PERIB, INTB128) )
|
||||
R_BSP_ATTRIB_STATIC_INTERRUPT void prvIntQTimer_0_1_ISR( void )
|
||||
{
|
||||
/* Enable interrupts to allow interrupt nesting. */
|
||||
setpsw_i();
|
||||
|
||||
portYIELD_FROM_ISR( xFirstTimerHandler() );
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
R_BSP_PRAGMA_STATIC_INTERRUPT( prvIntQTimer_2_3_ISR, VECT( PERIB, INTB129) )
|
||||
R_BSP_ATTRIB_STATIC_INTERRUPT void prvIntQTimer_2_3_ISR( void )
|
||||
{
|
||||
/* Enable interrupts to allow interrupt nesting. */
|
||||
setpsw_i();
|
||||
|
||||
portYIELD_FROM_ISR( xSecondTimerHandler() );
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* FreeRTOS Kernel V10.3.0
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#ifndef INT_QUEUE_TIMER_H
|
||||
#define INT_QUEUE_TIMER_H
|
||||
|
||||
void vInitialiseTimerForIntQueueTest( void );
|
||||
|
||||
#endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,208 @@
|
||||
/*
|
||||
* FreeRTOS Kernel V10.3.0
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/* Kernel includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "semphr.h"
|
||||
|
||||
/* Demo program includes. */
|
||||
#include "serial.h"
|
||||
|
||||
/* Renesas includes. */
|
||||
#include "platform.h"
|
||||
#include "r_dtc_rx_if.h"
|
||||
#include "r_sci_rx_if.h"
|
||||
#include "r_byteq_if.h"
|
||||
|
||||
/* Eval board specific definitions. */
|
||||
#include "demo_specific_io.h"
|
||||
|
||||
/* Characters received from the UART are stored in this queue, ready to be
|
||||
received by the application. ***NOTE*** Using a queue in this way is very
|
||||
convenient, but also very inefficient. It can be used here because characters
|
||||
will only arrive slowly. In a higher bandwidth system a circular RAM buffer or
|
||||
DMA should be used in place of this queue. */
|
||||
static QueueHandle_t xRxQueue = NULL;
|
||||
|
||||
/* When a task calls vSerialPutString() its handle is stored in xSendingTask,
|
||||
before being placed into the Blocked state (so does not use any CPU time) to
|
||||
wait for the transmission to end. The task handle is then used from the UART
|
||||
transmit end interrupt to remove the task from the Blocked state. */
|
||||
static TaskHandle_t xSendingTask = NULL;
|
||||
|
||||
/* Callback function which is called from Renesas API's interrupt service routine. */
|
||||
void vSerialSciCallback( void *pvArgs )
|
||||
{
|
||||
sci_cb_args_t *pxArgs = (sci_cb_args_t *)pvArgs;
|
||||
|
||||
/* Renesas API has a built-in queue but we will ignore it. If the queue is not
|
||||
full, a received character is passed with SCI_EVT_RX_CHAR event. If the queue
|
||||
is full, a received character is passed with SCI_EVT_RXBUF_OVFL event. */
|
||||
if( SCI_EVT_RX_CHAR == pxArgs->event || SCI_EVT_RXBUF_OVFL == pxArgs->event )
|
||||
{
|
||||
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
|
||||
|
||||
configASSERT( xRxQueue );
|
||||
|
||||
/* Characters received from the UART are stored in this queue, ready to be
|
||||
received by the application. ***NOTE*** Using a queue in this way is very
|
||||
convenient, but also very inefficient. It can be used here because
|
||||
characters will only arrive slowly. In a higher bandwidth system a circular
|
||||
RAM buffer or DMA should be used in place of this queue. */
|
||||
xQueueSendFromISR( xRxQueue, &pxArgs->byte, &xHigherPriorityTaskWoken );
|
||||
|
||||
/* See http://www.freertos.org/xQueueOverwriteFromISR.html for information
|
||||
on the semantics of this ISR. */
|
||||
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
|
||||
}
|
||||
/* Renesas API notifies the completion of transmission by SCI_EVT_TEI event. */
|
||||
else if( SCI_EVT_TEI == pxArgs->event )
|
||||
{
|
||||
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
|
||||
|
||||
if( xSendingTask != NULL )
|
||||
{
|
||||
/* A task is waiting for the end of the Tx, unblock it now.
|
||||
http://www.freertos.org/vTaskNotifyGiveFromISR.html */
|
||||
vTaskNotifyGiveFromISR( xSendingTask, &xHigherPriorityTaskWoken );
|
||||
xSendingTask = NULL;
|
||||
|
||||
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Function required in order to link UARTCommandConsole.c - which is used by
|
||||
multiple different demo application. */
|
||||
xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
|
||||
{
|
||||
( void ) ulWantedBaud;
|
||||
( void ) uxQueueLength;
|
||||
|
||||
/* Characters received from the UART are stored in this queue, ready to be
|
||||
received by the application. ***NOTE*** Using a queue in this way is very
|
||||
convenient, but also very inefficient. It can be used here because
|
||||
characters will only arrive slowly. In a higher bandwidth system a circular
|
||||
RAM buffer or DMA should be used in place of this queue. */
|
||||
xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
|
||||
configASSERT( xRxQueue );
|
||||
|
||||
/* Set interrupt priority. (Other UART settings had been initialized in the
|
||||
src/smc_gen/general/r_cg_hardware_setup.c.) */
|
||||
uint8_t ucInterruptPriority = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
|
||||
R_SCI_Control( xSerialSciHandle, SCI_CMD_SET_RXI_PRIORITY, ( void * ) &ucInterruptPriority );
|
||||
R_SCI_Control( xSerialSciHandle, SCI_CMD_SET_TXI_PRIORITY, ( void * ) &ucInterruptPriority );
|
||||
|
||||
/* Only one UART is supported, so it doesn't matter what is returned
|
||||
here. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Function required in order to link UARTCommandConsole.c - which is used by
|
||||
multiple different demo application. */
|
||||
void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
|
||||
{
|
||||
const TickType_t xMaxBlockTime = pdMS_TO_TICKS( 5000 );
|
||||
|
||||
/* Only one port is supported. */
|
||||
( void ) pxPort;
|
||||
|
||||
/* Don't send the string unless the previous string has been sent. */
|
||||
if( ( xSendingTask == NULL ) && ( usStringLength > 0 ) )
|
||||
{
|
||||
/* Ensure the calling task's notification state is not already
|
||||
pending. */
|
||||
xTaskNotifyStateClear( NULL );
|
||||
|
||||
/* Store the handle of the transmitting task. This is used to unblock
|
||||
the task when the transmission has completed. */
|
||||
xSendingTask = xTaskGetCurrentTaskHandle();
|
||||
|
||||
/* Send the string using the Renesas API with a workaround. */
|
||||
if( usStringLength > 1 )
|
||||
{
|
||||
/* Set up Data Transfer Control. */
|
||||
dtc_cmd_arg_t xSerialTxDtcArg;
|
||||
dtc_transfer_data_cfg_t xSerialTxDtcConfig;
|
||||
|
||||
xSerialTxDtcArg.act_src = U_DTC_UART_CLI_TX_ACT;
|
||||
xSerialTxDtcConfig.transfer_mode = DTC_TRANSFER_MODE_NORMAL;
|
||||
xSerialTxDtcConfig.data_size = DTC_DATA_SIZE_BYTE;
|
||||
xSerialTxDtcConfig.src_addr_mode = DTC_SRC_ADDR_INCR;
|
||||
xSerialTxDtcConfig.dest_addr_mode = DTC_DES_ADDR_FIXED;
|
||||
xSerialTxDtcConfig.response_interrupt = DTC_INTERRUPT_AFTER_ALL_COMPLETE;
|
||||
xSerialTxDtcConfig.repeat_block_side = DTC_REPEAT_BLOCK_SOURCE;
|
||||
xSerialTxDtcConfig.chain_transfer_enable = DTC_CHAIN_TRANSFER_DISABLE;
|
||||
xSerialTxDtcConfig.chain_transfer_mode = (dtc_chain_transfer_mode_t)0;
|
||||
xSerialTxDtcConfig.source_addr = ( uint32_t ) pcString;
|
||||
xSerialTxDtcConfig.dest_addr = ( uint32_t ) &U_DTC_UART_CLI_TX_DR;
|
||||
xSerialTxDtcConfig.transfer_count = ( uint32_t ) usStringLength - 1;
|
||||
xSerialTxDtcArg.chain_transfer_nr = 0;
|
||||
xSerialTxDtcArg.p_transfer_data = &xSerialTxDtcInfo;
|
||||
xSerialTxDtcArg.p_data_cfg = &xSerialTxDtcConfig;
|
||||
|
||||
R_DTC_Create( xSerialTxDtcArg.act_src, &xSerialTxDtcInfo, &xSerialTxDtcConfig, 0 );
|
||||
R_DTC_Control( DTC_CMD_ACT_SRC_ENABLE, NULL, &xSerialTxDtcArg );
|
||||
R_SCI_Send( xSerialSciHandle, ( uint8_t * ) (pcString + usStringLength - 1), 1 );
|
||||
}
|
||||
else
|
||||
{
|
||||
R_SCI_Send( xSerialSciHandle, ( uint8_t * ) pcString, 1 );
|
||||
}
|
||||
|
||||
/* Wait in the Blocked state (so not using any CPU time) until the
|
||||
transmission has completed. */
|
||||
ulTaskNotifyTake( pdTRUE, xMaxBlockTime );
|
||||
|
||||
/* A breakpoint can be set here for debugging. */
|
||||
nop();
|
||||
}
|
||||
}
|
||||
|
||||
/* Function required in order to link UARTCommandConsole.c - which is used by
|
||||
multiple different demo application. */
|
||||
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, TickType_t xBlockTime )
|
||||
{
|
||||
/* Only one UART is supported. */
|
||||
( void ) pxPort;
|
||||
|
||||
/* Return a received character, if any are available. Otherwise block to
|
||||
wait for a character. */
|
||||
return xQueueReceive( xRxQueue, pcRxedChar, xBlockTime );
|
||||
}
|
||||
|
||||
/* Function required in order to link UARTCommandConsole.c - which is used by
|
||||
multiple different demo application. */
|
||||
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, TickType_t xBlockTime )
|
||||
{
|
||||
/* Just mapped to vSerialPutString() so the block time is not used. */
|
||||
( void ) xBlockTime;
|
||||
|
||||
vSerialPutString( pxPort, &cOutChar, sizeof( cOutChar ) );
|
||||
return pdPASS;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
#ifndef DEMO_MAIN_H
|
||||
#define DEMO_MAIN_H
|
||||
|
||||
/* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to one to run the simple blinky demo,
|
||||
or 0 to run the more comprehensive test and demo application. */
|
||||
#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 0
|
||||
|
||||
/* demo_main() is placed in the src/frtos_startup/freertos_start.c and it calls
|
||||
main_blinky() or main_full() according to the mainCREATE_SIMPLE_BLINKY_DEMO_ONLY
|
||||
setting. */
|
||||
extern void demo_main( void );
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* FreeRTOS Kernel V10.3.0
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#ifndef LED_IO_H
|
||||
#define LED_IO_H
|
||||
|
||||
#define EnvisionRX72N
|
||||
|
||||
/* Board support settings. */
|
||||
|
||||
#ifdef EnvisionRX72N
|
||||
|
||||
/* R5F572NDHDFB 144pin LQFP */
|
||||
|
||||
/* General Values */
|
||||
#define LED_ON (0)
|
||||
#define LED_OFF (1)
|
||||
#define SW_PUSH (0)
|
||||
#define SW_RELEASE (1)
|
||||
|
||||
/* Switches (and its notation in the User's Manual) */
|
||||
#define SW1/*(SW2)*/ (PORT0.PIDR.BIT.B7)
|
||||
#define U_GPIO_PIN_SW1/*(SW2)*/ (GPIO_PORT_0_PIN_7)
|
||||
|
||||
/* LED port settings (and its notation in the User's Manual) */
|
||||
#define LED0/*(LED2)*/ (PORT4.PODR.BIT.B0)
|
||||
#define U_GPIO_PIN_LED0/*(LED2)*/ (GPIO_PORT_4_PIN_0)
|
||||
|
||||
/* FreeRTOS CLI Command Console */
|
||||
#define U_SCI_UART_CLI_PINSET() R_SCI_PinSet_SCI2()
|
||||
#define U_SCI_UART_CLI_SCI_CH (SCI_CH2)
|
||||
#define U_DTC_UART_CLI_TX_ACT ((dtc_activation_source_t)VECT(SCI2,TXI2))
|
||||
#define U_DTC_UART_CLI_TX_DR (SCI2.TDR)
|
||||
|
||||
#endif /* EnvisionRX72N */
|
||||
|
||||
#ifndef LED0
|
||||
#error The hardware platform is not defined
|
||||
#endif
|
||||
|
||||
/* Board Support Data Structures. */
|
||||
|
||||
#include "r_sci_rx_if.h"
|
||||
#include "r_dtc_rx_if.h"
|
||||
|
||||
extern sci_hdl_t xSerialSciHandle;
|
||||
extern dtc_transfer_data_t xSerialTxDtcInfo;
|
||||
|
||||
/* Board Support Callback Functions. */
|
||||
|
||||
extern void vSerialSciCallback( void *pvArgs );
|
||||
|
||||
#endif /* LED_IO_H */
|
||||
|
||||
@@ -0,0 +1,150 @@
|
||||
/*
|
||||
* FreeRTOS Kernel V10.3.0
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#ifndef FREERTOS_CONFIG_H
|
||||
#define FREERTOS_CONFIG_H
|
||||
|
||||
/*-----------------------------------------------------------
|
||||
* Application specific definitions.
|
||||
*
|
||||
* These definitions should be adjusted for your particular hardware and
|
||||
* application requirements.
|
||||
*
|
||||
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
|
||||
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
|
||||
*
|
||||
* See http://www.freertos.org/a00110.html
|
||||
*----------------------------------------------------------*/
|
||||
|
||||
#define configUSE_PREEMPTION 1
|
||||
#define configUSE_IDLE_HOOK 1
|
||||
#define configUSE_TICK_HOOK 1
|
||||
#define configCPU_CLOCK_HZ (BSP_ICLK_HZ)
|
||||
#define configPERIPHERAL_CLOCK_HZ (BSP_PCLKB_HZ)
|
||||
#define configTICK_RATE_HZ (( TickType_t ) 1000)
|
||||
#define configMINIMAL_STACK_SIZE (( unsigned short ) 170)
|
||||
#define configTOTAL_HEAP_SIZE_N (60)
|
||||
#define configTOTAL_HEAP_SIZE (( size_t ) ( configTOTAL_HEAP_SIZE_N * 1024 ))
|
||||
#define configMAX_TASK_NAME_LEN (12)
|
||||
#define configUSE_TRACE_FACILITY 1
|
||||
#define configUSE_16_BIT_TICKS 0
|
||||
#define configIDLE_SHOULD_YIELD 1
|
||||
#define configUSE_CO_ROUTINES 0
|
||||
#define configUSE_MUTEXES 1
|
||||
#define configGENERATE_RUN_TIME_STATS 0
|
||||
#define configCHECK_FOR_STACK_OVERFLOW 2
|
||||
#define configUSE_RECURSIVE_MUTEXES 1
|
||||
#define configQUEUE_REGISTRY_SIZE 0
|
||||
#define configUSE_MALLOC_FAILED_HOOK 1
|
||||
#define configUSE_APPLICATION_TASK_TAG 0
|
||||
#define configUSE_QUEUE_SETS 1
|
||||
#define configUSE_COUNTING_SEMAPHORES 1
|
||||
#define configMAX_PRIORITIES (7)
|
||||
#define configMAX_CO_ROUTINE_PRIORITIES (2)
|
||||
#define configUSE_TASK_NOTIFICATIONS 1
|
||||
#define configRECORD_STACK_HIGH_ADDRESS 0
|
||||
#define configNUM_THREAD_LOCAL_STORAGE_POINTERS 0
|
||||
|
||||
/* Dynamic allocation and static allocation. */
|
||||
#define configSUPPORT_DYNAMIC_ALLOCATION 1
|
||||
#define configSUPPORT_STATIC_ALLOCATION 0
|
||||
|
||||
/* Run time stats gathering definitions. */
|
||||
unsigned long ulGetRunTimeCounterValue( void );
|
||||
void vConfigureTimerForRunTimeStats( void );
|
||||
#define configGENERATE_RUN_TIME_STATS 0
|
||||
//#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() vConfigureTimerForRunTimeStats()
|
||||
//#define portGET_RUN_TIME_COUNTER_VALUE() ulGetRunTimeCounterValue()
|
||||
|
||||
/* This demo makes use of one or more example stats formatting functions. These
|
||||
format the raw data provided by the uxTaskGetSystemState() function in to human
|
||||
readable ASCII form. See the notes in the implementation of vTaskList() within
|
||||
FreeRTOS/Source/tasks.c for limitations. */
|
||||
#define configUSE_STATS_FORMATTING_FUNCTIONS 1
|
||||
|
||||
/* Software timer definitions. */
|
||||
#define configUSE_TIMERS 1
|
||||
#define configTIMER_TASK_PRIORITY (6)
|
||||
#define configTIMER_QUEUE_LENGTH 5
|
||||
#define configTIMER_TASK_STACK_DEPTH (configMINIMAL_STACK_SIZE)
|
||||
|
||||
/* If configUSE_TASK_DPFPU_SUPPORT is set to 1 (or undefined) then each task will
|
||||
be created without a DPFPU context, and a task must call vTaskUsesDPFPU() before
|
||||
making use of any DPFPU registers. If configUSE_TASK_DPFPU_SUPPORT is set to 2 then
|
||||
tasks are created with a DPFPU context by default, and calling vTaskUsesDPFPU() has
|
||||
no effect. If configUSE_TASK_DPFPU_SUPPORT is set to 0 then tasks never take care
|
||||
of any DPFPU context (even if DPFPU registers are used). */
|
||||
#define configUSE_TASK_DPFPU_SUPPORT 1
|
||||
|
||||
/* The interrupt priority used by the kernel itself for the tick interrupt and
|
||||
the pended interrupt. This would normally be the lowest priority. */
|
||||
#define configKERNEL_INTERRUPT_PRIORITY 1
|
||||
|
||||
/* The maximum interrupt priority from which FreeRTOS API calls can be made.
|
||||
Interrupts that use a priority above this will not be effected by anything the
|
||||
kernel is doing. */
|
||||
#define configMAX_SYSCALL_INTERRUPT_PRIORITY 4
|
||||
|
||||
/* The peripheral used to generate the tick interrupt is configured as part of
|
||||
the application code. This constant should be set to the vector number of the
|
||||
peripheral chosen. As supplied this is CMT0. */
|
||||
#define configTICK_VECTOR _CMT0_CMI0
|
||||
|
||||
/* Set the following definitions to 1 to include the API function, or zero
|
||||
to exclude the API function. */
|
||||
|
||||
#define INCLUDE_vTaskPrioritySet 1
|
||||
#define INCLUDE_uxTaskPriorityGet 1
|
||||
#define INCLUDE_vTaskDelete 1
|
||||
#define INCLUDE_vTaskCleanUpResources 0
|
||||
#define INCLUDE_vTaskSuspend 1
|
||||
#define INCLUDE_vTaskDelayUntil 1
|
||||
#define INCLUDE_vTaskDelay 1
|
||||
#define INCLUDE_uxTaskGetStackHighWaterMark 1
|
||||
#define INCLUDE_xTaskGetSchedulerState 1
|
||||
#define INCLUDE_eTaskGetState 1
|
||||
#define INCLUDE_xTimerPendFunctionCall 1
|
||||
|
||||
void vAssertCalled( void );
|
||||
#define configASSERT( x ) if( ( x ) == 0 ) vAssertCalled()
|
||||
|
||||
/* The buffer into which output generated by FreeRTOS+CLI is placed. This must
|
||||
be at least big enough to contain the output of the task-stats command, as the
|
||||
example implementation does not include buffer overlow checking. */
|
||||
#define configCOMMAND_INT_MAX_OUTPUT_SIZE 3500
|
||||
#define configINCLUDE_QUERY_HEAP_COMMAND 1
|
||||
|
||||
/* Override some of the priorities set in the common demo tasks. This is
|
||||
required to ensure flase positive timing errors are not reported. */
|
||||
#define bktPRIMARY_PRIORITY (( configMAX_PRIORITIES - 3 ))
|
||||
#define bktSECONDARY_PRIORITY (( configMAX_PRIORITIES - 4 ))
|
||||
#define intqHIGHER_PRIORITY (( configMAX_PRIORITIES - 3 ))
|
||||
|
||||
/* When the FIT configurator or the Smart Configurator is used, platform.h has to be used. */
|
||||
#define configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H 1
|
||||
|
||||
#endif /* FREERTOS_CONFIG_H */
|
||||
@@ -0,0 +1,23 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#ifndef TASK_FUNCTION_H_
|
||||
#define TASK_FUNCTION_H_
|
||||
|
||||
#endif /* TASK_FUNCTION_H_ */
|
||||
@@ -0,0 +1,80 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
**********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : freertos_object_init.c
|
||||
* Version : 1.0
|
||||
* Description :
|
||||
**********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 07.12.2018 1.00 First Release
|
||||
**********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Includes <System Includes> , "Project Includes"
|
||||
**********************************************************************************************************************/
|
||||
#include "FreeRTOS.h"
|
||||
#include "freertos_start.h"
|
||||
/***********************************************************************************************************************
|
||||
* Macro definitions
|
||||
**********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Typedef definitions
|
||||
**********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Private global variables and functions
|
||||
**********************************************************************************************************************/
|
||||
void Kernel_Object_init (void);
|
||||
void Object_init_manual (void);
|
||||
/***********************************************************************************************************************
|
||||
* Function Name: Kernel_Object_init
|
||||
* Description : This function initializes FreeRTOS objects.
|
||||
* Arguments : None.
|
||||
* Return Value : None.
|
||||
**********************************************************************************************************************/
|
||||
void Kernel_Object_init (void)
|
||||
{
|
||||
/************** task creation ****************************/
|
||||
|
||||
/************** semaphore creation ***********************/
|
||||
|
||||
/************** queue creation ***************************/
|
||||
|
||||
/************** software time creation **************************/
|
||||
|
||||
/************** event groups creation ********************/
|
||||
|
||||
/************** stream buffer creation *************************/
|
||||
|
||||
/************** message buffer creation *********************/
|
||||
|
||||
} /* End of function Kernel_Object_init()*/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function Name : Object_init_manual
|
||||
* Description : This function re-initializes FreeRTOS objects and should be called at runtime.
|
||||
* Arguments : None.
|
||||
* Return value : None.
|
||||
**********************************************************************************************************************/
|
||||
void Object_init_manual (void)
|
||||
{
|
||||
/************** task creation ****************************/
|
||||
} /* End of function Object_init_manual()*/
|
||||
@@ -0,0 +1,483 @@
|
||||
/*******************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only
|
||||
* intended for use with Renesas products. No other uses are authorized. This
|
||||
* software is owned by Renesas Electronics Corporation and is protected under
|
||||
* all applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
|
||||
* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
|
||||
* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
|
||||
* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
|
||||
* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
|
||||
* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
|
||||
* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software
|
||||
* and to discontinue the availability of this software. By using this software,
|
||||
* you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
* Copyright (C) 2018 Renesas Electronics Corporation. All rights reserved.
|
||||
*******************************************************************************/
|
||||
/*******************************************************************************
|
||||
* File Name : freertos_start.c
|
||||
* Version : 1.0
|
||||
* Description : Contains FreeRTOS user-defined functions.
|
||||
******************************************************************************/
|
||||
/*****************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 30.06.2016 1.00 First Release
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
Includes <System Includes> , "Project Includes"
|
||||
******************************************************************************/
|
||||
#include "platform.h"
|
||||
#include "freertos_start.h"
|
||||
#include "demo_main.h"
|
||||
#include "demo_specific_io.h"
|
||||
|
||||
#if (BSP_CFG_RTOS_USED == 1)
|
||||
|
||||
#if (RTOS_USB_SUPPORT == 1)
|
||||
#include "r_usb_basic_if.h"
|
||||
#include "r_usb_cstd_rtos.h"
|
||||
#endif
|
||||
|
||||
/******************************************************************************
|
||||
Macro definitions
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
Typedef definitions
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
Private global variables and functions
|
||||
******************************************************************************/
|
||||
|
||||
/************* semaphore initialization *****************/
|
||||
|
||||
/******************************************************************************
|
||||
Exported global variables (to be accessed by other files)
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
Exported global functions (to be accessed by other files)
|
||||
******************************************************************************/
|
||||
|
||||
/* FreeRTOS's system timer. */
|
||||
void vApplicationSetupTimerInterrupt(void);
|
||||
|
||||
/* Hook functions used by FreeRTOS. */
|
||||
void vAssertCalled(void);
|
||||
void vApplicationIdleHook(void);
|
||||
void vApplicationTickHook(void);
|
||||
void vApplicationMallocFailedHook(void);
|
||||
void vApplicationStackOverflowHook(TaskHandle_t xTask, char *pcTaskName);
|
||||
|
||||
/* FreeRTOS's processing before start the kernel. */
|
||||
void Processing_Before_Start_Kernel(void);
|
||||
|
||||
/* Main task. */
|
||||
extern void main_task(void *pvParameters);
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* Function Name: vApplicationSetupTimerInterrupt
|
||||
* Description : Initialize system timer for FreeRTOS with tick interrupt 1ms.
|
||||
* Arguments : None.
|
||||
* Return Value : None.
|
||||
******************************************************************************/
|
||||
void vApplicationSetupTimerInterrupt(void)
|
||||
{
|
||||
/* CMT channel 0 is configured as RTOS's system timer. */
|
||||
#if (BSP_CFG_RTOS_SYSTEM_TIMER == 0)
|
||||
/* Protect off. */
|
||||
SYSTEM.PRCR.WORD = 0xA502;
|
||||
|
||||
/* Enable compare match timer 0. */
|
||||
MSTP( CMT0 ) = 0;
|
||||
|
||||
/* Stop counter. */
|
||||
CMT.CMSTR0.BIT.STR0 = 0;
|
||||
|
||||
/* Protect on. */
|
||||
SYSTEM.PRCR.WORD = 0xA500;
|
||||
|
||||
/* Enable interrupt on compare match.
|
||||
* Divide the PCLK by 8. */
|
||||
CMT0.CMCR.WORD = 0x00C0; // CKS=00b,CMIE=1; PCLK/8,Compare match interrupt (CMIn) enabled @60MHz
|
||||
|
||||
/* Set the compare match value. */
|
||||
CMT0.CMCOR = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / configTICK_RATE_HZ )) / 8 - 1);
|
||||
|
||||
/* Clear counter. */
|
||||
CMT0.CMCNT = 0;
|
||||
|
||||
/* Clear any previously pending interrupts. */
|
||||
IR(CMT0, CMI0) = 0;
|
||||
|
||||
/* Enable the interrupt. */
|
||||
IEN(CMT0, CMI0) = 1;
|
||||
|
||||
/* Set its priority to the application defined kernel priority. */
|
||||
IPR(CMT0, CMI0) = configKERNEL_INTERRUPT_PRIORITY;
|
||||
|
||||
/* Start the timer 0. */
|
||||
CMT.CMSTR0.BIT.STR0 = 1;
|
||||
#endif /* (BSP_CFG_RTOS_SYSTEM_TIMER == 0) */
|
||||
|
||||
/* CMT channel 1 is configured as RTOS's system timer. */
|
||||
#if (BSP_CFG_RTOS_SYSTEM_TIMER == 1)
|
||||
/* Protect off. */
|
||||
SYSTEM.PRCR.WORD = 0xA502;
|
||||
|
||||
/* Enable compare match timer 1. */
|
||||
MSTP( CMT1 ) = 0;
|
||||
|
||||
/* Stop counter. */
|
||||
CMT.CMSTR0.BIT.STR1 = 0;
|
||||
|
||||
/* Protect on. */
|
||||
SYSTEM.PRCR.WORD = 0xA500;
|
||||
|
||||
/* Enable interrupt on compare match.
|
||||
* Divide the PCLK by 8. */
|
||||
CMT1.CMCR.WORD = 0x00C0; // CKS=00b,CMIE=1; PCLK/8,Compare match interrupt (CMIn) enabled @60MHz
|
||||
|
||||
/* Set the compare match value. */
|
||||
CMT1.CMCOR = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / configTICK_RATE_HZ )) / 8 - 1);
|
||||
|
||||
/* Clear counter. */
|
||||
CMT1.CMCNT = 0;
|
||||
|
||||
/* Clear any previously pending interrupts. */
|
||||
IR(CMT1, CMI1) = 0;
|
||||
|
||||
/* Enable the interrupt. */
|
||||
IEN(CMT1, CMI1) = 1;
|
||||
|
||||
/* Set its priority to the application defined kernel priority. */
|
||||
IPR(CMT1, CMI1) = configKERNEL_INTERRUPT_PRIORITY;
|
||||
|
||||
/* Start the timer 1. */
|
||||
CMT.CMSTR0.BIT.STR1 = 1;
|
||||
#endif /* (BSP_CFG_RTOS_SYSTEM_TIMER == 1) */
|
||||
|
||||
/* CMT channel 2 is configured as RTOS's system timer. */
|
||||
#if (BSP_CFG_RTOS_SYSTEM_TIMER == 2)
|
||||
/* Protect off. */
|
||||
SYSTEM.PRCR.WORD = 0xA502;
|
||||
|
||||
/* Enable compare match timer 2. */
|
||||
MSTP( CMT2 ) = 0;
|
||||
|
||||
/* Stop counter. */
|
||||
CMT.CMSTR1.BIT.STR2 = 0;
|
||||
|
||||
/* Protect on. */
|
||||
SYSTEM.PRCR.WORD = 0xA500;
|
||||
|
||||
/* Enable interrupt on compare match.
|
||||
* Divide the PCLK by 8. */
|
||||
CMT2.CMCR.WORD = 0x00C0; // CKS=00b,CMIE=1; PCLK/8,Compare match interrupt (CMIn) enabled @60MHz
|
||||
|
||||
/* Set the compare match value. */
|
||||
CMT2.CMCOR = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / configTICK_RATE_HZ )) / 8 - 1);
|
||||
|
||||
/* Clear counter. */
|
||||
CMT2.CMCNT = 0;
|
||||
|
||||
/* Clear any previously pending interrupts. */
|
||||
IR(CMT2, CMI2) = 0;
|
||||
|
||||
/* Enable the interrupt. */
|
||||
IEN(CMT2, CMI2) = 1;
|
||||
|
||||
/* Set its priority to the application defined kernel priority. */
|
||||
IPR(CMT2, CMI2) = configKERNEL_INTERRUPT_PRIORITY;
|
||||
|
||||
/* Start the timer 2. */
|
||||
CMT.CMSTR1.BIT.STR2 = 1;
|
||||
#endif /* (BSP_CFG_RTOS_SYSTEM_TIMER == 2) */
|
||||
|
||||
/* CMT channel 3 is configured as RTOS's system timer. */
|
||||
#if (BSP_CFG_RTOS_SYSTEM_TIMER == 3)
|
||||
/* Protect off. */
|
||||
SYSTEM.PRCR.WORD = 0xA502;
|
||||
|
||||
/* Enable compare match timer 3. */
|
||||
MSTP( CMT3 ) = 0;
|
||||
|
||||
/* Stop counter. */
|
||||
CMT.CMSTR1.BIT.STR3 = 0;
|
||||
|
||||
/* Protect on. */
|
||||
SYSTEM.PRCR.WORD = 0xA500;
|
||||
|
||||
/* Enable interrupt on compare match.
|
||||
* Divide the PCLK by 8. */
|
||||
CMT3.CMCR.WORD = 0x00C0; // CKS=00b,CMIE=1; PCLK/8,Compare match interrupt (CMIn) enabled @60MHz
|
||||
|
||||
/* Set the compare match value. */
|
||||
CMT3.CMCOR = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / configTICK_RATE_HZ )) / 8 - 1);
|
||||
|
||||
/* Clear counter. */
|
||||
CMT3.CMCNT = 0;
|
||||
|
||||
/* Clear any previously pending interrupts. */
|
||||
IR(CMT3, CMI3) = 0;
|
||||
|
||||
/* Enable the interrupt. */
|
||||
IEN(CMT3, CMI3) = 1;
|
||||
|
||||
/* Set its priority to the application defined kernel priority. */
|
||||
IPR(CMT3, CMI3) = configKERNEL_INTERRUPT_PRIORITY;
|
||||
|
||||
/* Start the timer 3. */
|
||||
CMT.CMSTR1.BIT.STR3 = 1;
|
||||
#endif /* (BSP_CFG_RTOS_SYSTEM_TIMER == 3) */
|
||||
|
||||
} /* End of function vApplicationSetupTimerInterrupt() */
|
||||
|
||||
/******************************************************************************
|
||||
* Function Name: vAssertCalled
|
||||
* Description : This function is used to validate the input parameters.
|
||||
* Arguments : None.
|
||||
* Return Value : None.
|
||||
******************************************************************************/
|
||||
void vAssertCalled(void)
|
||||
{
|
||||
volatile unsigned long ul = 0;
|
||||
|
||||
taskENTER_CRITICAL();
|
||||
{
|
||||
/* Use the debugger to set ul to a non-zero value in order to step out
|
||||
of this function to determine why it was called. */
|
||||
while( 0 == ul )
|
||||
{
|
||||
portNOP();
|
||||
}
|
||||
}
|
||||
taskEXIT_CRITICAL();
|
||||
|
||||
} /* End of function vAssertCalled() */
|
||||
|
||||
/******************************************************************************
|
||||
* Function Name: vApplicationIdleHook
|
||||
* Description : This function will be called on each cycle of the idle task.
|
||||
* NOTE: vApplicationIdleHook() MUST NOT CALL A FUNCTION
|
||||
* THAT MIGHT BLOCK UNDER ANY CIRCUMSTANCES.
|
||||
* Arguments : None.
|
||||
* Return Value : None.
|
||||
******************************************************************************/
|
||||
void vApplicationIdleHook(void)
|
||||
{
|
||||
volatile size_t xFreeHeapSpace;
|
||||
|
||||
/* This is just a trivial example of an idle hook. It is called on each
|
||||
cycle of the idle task. It must *NOT* attempt to block. In this case the
|
||||
idle task just queries the amount of FreeRTOS heap that remains. See the
|
||||
memory management section on the http://www.FreeRTOS.org web site for memory
|
||||
management options. If there is a lot of heap memory free then the
|
||||
configTOTAL_HEAP_SIZE value in FreeRTOSConfig.h can be reduced to free up
|
||||
RAM. */
|
||||
xFreeHeapSpace = xPortGetFreeHeapSize();
|
||||
|
||||
/* Remove compiler warning about xFreeHeapSpace being set but never used. */
|
||||
( void ) xFreeHeapSpace;
|
||||
|
||||
} /* End of function vApplicationIdleHook() */
|
||||
|
||||
/******************************************************************************
|
||||
* Function Name: vApplicationTickHook
|
||||
* Description : This function will be called every tick interrupt.
|
||||
* NOTE: vApplicationTickHook() EXECUTES FROM WITHIN AN ISR,
|
||||
* SO MUST BE VERY SHORT AND NOT USE MUCH STACK.
|
||||
* IN ADDITION, NOT CALL ANY APIs WITHOUT "FromISR" OR
|
||||
* "FROM_ISR" AT THE END.
|
||||
* Arguments : None.
|
||||
* Return Value : None.
|
||||
******************************************************************************/
|
||||
void vApplicationTickHook(void)
|
||||
{
|
||||
/* The tick hook is not used by the blinky demo, but is by the full demo. */
|
||||
#if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 0
|
||||
{
|
||||
extern void vFullDemoTickHook( void );
|
||||
|
||||
vFullDemoTickHook();
|
||||
}
|
||||
#endif
|
||||
|
||||
} /* End of function vApplicationTickHook() */
|
||||
|
||||
/******************************************************************************
|
||||
* Function Name: vApplicationMallocFailedHook
|
||||
* Description : This function is to capture the failure while
|
||||
* memory allocation.
|
||||
* Arguments : None.
|
||||
* Return Value : None.
|
||||
******************************************************************************/
|
||||
void vApplicationMallocFailedHook(void)
|
||||
{
|
||||
/* Called if a call to pvPortMalloc() fails because there is insufficient
|
||||
free memory available in the FreeRTOS heap. pvPortMalloc() is called
|
||||
internally by FreeRTOS API functions that create tasks, queues, software
|
||||
timers, and semaphores. The size of the FreeRTOS heap is set by the
|
||||
configTOTAL_HEAP_SIZE configuration constant in FreeRTOSConfig.h. */
|
||||
|
||||
/* Force an assert. */
|
||||
configASSERT( ( volatile void * ) NULL );
|
||||
|
||||
taskDISABLE_INTERRUPTS();
|
||||
for( ; ; )
|
||||
{
|
||||
/* Loop here */
|
||||
};
|
||||
|
||||
} /* End of function vApplicationMallocFailedHook() */
|
||||
|
||||
/******************************************************************************
|
||||
* Function Name: vApplicationStackOverflowHook
|
||||
* Description : Hook function is to capture the failure when the stack size
|
||||
* is insufficient for processing.
|
||||
* Arguments : pxTask -
|
||||
* Task handler
|
||||
* pcTaskName -
|
||||
* Pointer of where to store the task's name
|
||||
* Return Value : None.
|
||||
******************************************************************************/
|
||||
void vApplicationStackOverflowHook(TaskHandle_t pxTask, char *pcTaskName)
|
||||
{
|
||||
( void ) pcTaskName;
|
||||
( void ) pxTask;
|
||||
|
||||
/* Run time stack overflow checking is performed if
|
||||
configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook
|
||||
function is called if a stack overflow is detected. */
|
||||
|
||||
/* Force an assert. */
|
||||
configASSERT( ( volatile void * ) NULL );
|
||||
|
||||
taskDISABLE_INTERRUPTS();
|
||||
for( ; ; )
|
||||
{
|
||||
/* Loop here */
|
||||
};
|
||||
|
||||
} /* End of function vApplicationStackOverflowHook() */
|
||||
|
||||
/******************************************************************************
|
||||
* Function Name : Processing_Before_Start_Kernel
|
||||
* Description : Create a main task, FreeRTOS's objects (e.g. mailbox, task,
|
||||
* semaphore, mutex...) if required.
|
||||
* Arguments : None.
|
||||
* Return value : None.
|
||||
******************************************************************************/
|
||||
void Processing_Before_Start_Kernel(void)
|
||||
{
|
||||
#if 0 /* Generated Renesas Code */
|
||||
|
||||
BaseType_t ret;
|
||||
|
||||
/************** semaphore creation ***********************/
|
||||
|
||||
|
||||
|
||||
/************** mutex creation ***************************/
|
||||
|
||||
|
||||
/************** queues creation **************************/
|
||||
|
||||
|
||||
/************** event groups creation ********************/
|
||||
|
||||
|
||||
/************** mailbox creation *************************/
|
||||
|
||||
|
||||
/************** memory pool creation *********************/
|
||||
|
||||
/** USB RTOS Configuration **/
|
||||
#if (RTOS_USB_SUPPORT == 1)
|
||||
usb_rtos_err_t err = usb_rtos_configuration();
|
||||
if (UsbRtos_Success != err)
|
||||
{
|
||||
while(1)
|
||||
{
|
||||
/** Failure of UsbRtos Configuration **/
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
Kernel_Object_init();
|
||||
|
||||
/************** task creation ****************************/
|
||||
/* Main task. */
|
||||
ret = xTaskCreate(main_task, "MAIN_TASK", 512, NULL, 3, NULL);
|
||||
if (pdPASS != ret)
|
||||
{
|
||||
while(1)
|
||||
{
|
||||
/* Failed! Task can not be created. */
|
||||
}
|
||||
}
|
||||
|
||||
#else /* Run FreeRTOS Demo */
|
||||
|
||||
demo_main();
|
||||
|
||||
#endif
|
||||
|
||||
} /* End of function Processing_Before_Start_Kernel() */
|
||||
|
||||
/*
|
||||
* Configure the hardware as necessary to run this demo.
|
||||
*/
|
||||
static void prvSetupHardware( void );
|
||||
|
||||
/*
|
||||
* main_blinky() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1.
|
||||
* main_full() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0.
|
||||
*/
|
||||
#if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 )
|
||||
extern void main_blinky( void );
|
||||
#else
|
||||
extern void main_full( void );
|
||||
#endif /* #if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 */
|
||||
|
||||
void demo_main( void )
|
||||
{
|
||||
/* Configure the hardware ready to run the demo. */
|
||||
prvSetupHardware();
|
||||
|
||||
/* The mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting is described at the top
|
||||
of this file. */
|
||||
#if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 )
|
||||
{
|
||||
main_blinky();
|
||||
}
|
||||
#else
|
||||
{
|
||||
main_full();
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Should never get reached. */
|
||||
return;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static void prvSetupHardware( void )
|
||||
{
|
||||
/* Turn on LED0 at start. (The system initialization had been done in the
|
||||
src/smc_gen/general/r_cg_hardware_setup.c.) */
|
||||
LED0 = LED_ON;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#endif /* (BSP_CFG_RTOS_USED == 1) */
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
/*******************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only
|
||||
* intended for use with Renesas products. No other uses are authorized. This
|
||||
* software is owned by Renesas Electronics Corporation and is protected under
|
||||
* all applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
|
||||
* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
|
||||
* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
|
||||
* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
|
||||
* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
|
||||
* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
|
||||
* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software
|
||||
* and to discontinue the availability of this software. By using this software,
|
||||
* you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
* Copyright (C) 2018 Renesas Electronics Corporation. All rights reserved.
|
||||
*******************************************************************************/
|
||||
/*******************************************************************************
|
||||
* File Name : freertos_start.h
|
||||
* Version : 1.0
|
||||
* Description : FreeRTOS's user-defined functions header file.
|
||||
******************************************************************************/
|
||||
/*****************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 30.06.2016 1.00 First Release
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef FREERTOS_START_H_
|
||||
#define FREERTOS_START_H_
|
||||
|
||||
/******************************************************************************
|
||||
Macro definitions
|
||||
******************************************************************************/
|
||||
/* USB FIT module support macro */
|
||||
#define RTOS_USB_SUPPORT 0
|
||||
|
||||
/******************************************************************************
|
||||
Typedef definitions
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
Exported global variables
|
||||
******************************************************************************/
|
||||
/************* semaphore handler *****************/
|
||||
|
||||
|
||||
|
||||
/************* mutex handler *********************/
|
||||
|
||||
|
||||
/************** queues handler *******************/
|
||||
|
||||
|
||||
/************** event groups handler *************/
|
||||
|
||||
|
||||
/************** mailbox handler ******************/
|
||||
|
||||
|
||||
/************** memory pool handler **************/
|
||||
|
||||
|
||||
/************** task handler *********************/
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Exported global functions (to be accessed by other files)
|
||||
******************************************************************************/
|
||||
extern void Processing_Before_Start_Kernel(void);
|
||||
extern void Kernel_Object_init(void);
|
||||
|
||||
#endif /* FREERTOS_START_H_ */
|
||||
@@ -0,0 +1,176 @@
|
||||
MEMORY
|
||||
{
|
||||
RAM : ORIGIN = 0x4, LENGTH = 0x7fffc
|
||||
RAM2 : ORIGIN = 0x00800000, LENGTH = 524288
|
||||
ROM : ORIGIN = 0xFFC00000, LENGTH = 4194304
|
||||
OFS : ORIGIN = 0xFE7F5D00, LENGTH = 128
|
||||
}
|
||||
SECTIONS
|
||||
{
|
||||
.exvectors 0xFFFFFF80: AT(0xFFFFFF80)
|
||||
{
|
||||
_exvectors_start = .;
|
||||
KEEP(*(.exvectors))
|
||||
_exvectors_end = .;
|
||||
} >ROM
|
||||
.fvectors 0xFFFFFFFC: AT(0xFFFFFFFC)
|
||||
{
|
||||
KEEP(*(.fvectors))
|
||||
} > ROM
|
||||
.text 0xFFC00000: AT(0xFFC00000)
|
||||
{
|
||||
*(.text)
|
||||
KEEP(*(.text.*ISR))
|
||||
KEEP(*(.text.*_isr))
|
||||
KEEP(*(.text.*_interrupt))
|
||||
*(.text.*)
|
||||
*(P)
|
||||
etext = .;
|
||||
} > ROM
|
||||
.rvectors ALIGN(4):
|
||||
{
|
||||
_rvectors_start = .;
|
||||
INCLUDE ../src/smc_gen/r_bsp/mcu/all/linker_script_rvectors.inc
|
||||
_rvectors_end = .;
|
||||
} > ROM
|
||||
.init :
|
||||
{
|
||||
KEEP(*(.init))
|
||||
__preinit_array_start = .;
|
||||
KEEP(*(.preinit_array))
|
||||
__preinit_array_end = .;
|
||||
__init_array_start = (. + 3) & ~ 3;
|
||||
KEEP(*(.init_array))
|
||||
KEEP(*(SORT(.init_array.*)))
|
||||
__init_array_end = .;
|
||||
__fini_array_start = .;
|
||||
KEEP(*(.fini_array))
|
||||
KEEP(*(SORT(.fini_array.*)))
|
||||
__fini_array_end = .;
|
||||
} > ROM
|
||||
.fini :
|
||||
{
|
||||
KEEP(*(.fini))
|
||||
} > ROM
|
||||
.got :
|
||||
{
|
||||
*(.got)
|
||||
*(.got.plt)
|
||||
} > ROM
|
||||
.rodata :
|
||||
{
|
||||
*(.rodata)
|
||||
*(.rodata.*)
|
||||
*(C_1)
|
||||
*(C_2)
|
||||
*(C)
|
||||
_erodata = .;
|
||||
} > ROM
|
||||
.eh_frame_hdr :
|
||||
{
|
||||
*(.eh_frame_hdr)
|
||||
} > ROM
|
||||
.eh_frame :
|
||||
{
|
||||
*(.eh_frame)
|
||||
} > ROM
|
||||
.jcr :
|
||||
{
|
||||
*(.jcr)
|
||||
} > ROM
|
||||
.tors :
|
||||
{
|
||||
__CTOR_LIST__ = .;
|
||||
. = ALIGN(2);
|
||||
___ctors = .;
|
||||
*(.ctors)
|
||||
___ctors_end = .;
|
||||
__CTOR_END__ = .;
|
||||
__DTOR_LIST__ = .;
|
||||
___dtors = .;
|
||||
*(.dtors)
|
||||
___dtors_end = .;
|
||||
__DTOR_END__ = .;
|
||||
. = ALIGN(2);
|
||||
_mdata = .;
|
||||
} > ROM
|
||||
.data : AT(_mdata)
|
||||
{
|
||||
_data = .;
|
||||
*(.data)
|
||||
*(.data.*)
|
||||
*(D)
|
||||
*(D_1)
|
||||
*(D_2)
|
||||
_edata = .;
|
||||
} > RAM
|
||||
.gcc_exc :
|
||||
{
|
||||
*(.gcc_exc)
|
||||
} > RAM
|
||||
.bss :
|
||||
{
|
||||
_bss = .;
|
||||
*(.bss)
|
||||
*(.bss.**)
|
||||
*(COMMON)
|
||||
*(B)
|
||||
*(B_1)
|
||||
*(B_2)
|
||||
_ebss = .;
|
||||
_end = .;
|
||||
} > RAM
|
||||
.ofs1 0xFE7F5D00: AT(0xFE7F5D00)
|
||||
{
|
||||
KEEP(*(.ofs1))
|
||||
} > OFS
|
||||
.ofs2 0xFE7F5D10: AT(0xFE7F5D10)
|
||||
{
|
||||
KEEP(*(.ofs2))
|
||||
} > OFS
|
||||
.ofs3 0xFE7F5D20: AT(0xFE7F5D20)
|
||||
{
|
||||
KEEP(*(.ofs3))
|
||||
} > OFS
|
||||
.ofs4 0xFE7F5D40: AT(0xFE7F5D40)
|
||||
{
|
||||
KEEP(*(.ofs4))
|
||||
} > OFS
|
||||
.ofs5 0xFE7F5D48: AT(0xFE7F5D48)
|
||||
{
|
||||
KEEP(*(.ofs5))
|
||||
} > OFS
|
||||
.ofs6 0xFE7F5D50: AT(0xFE7F5D50)
|
||||
{
|
||||
KEEP(*(.ofs6))
|
||||
} > OFS
|
||||
.ofs7 0xFE7F5D64: AT(0xFE7F5D64)
|
||||
{
|
||||
KEEP(*(.ofs7))
|
||||
} > OFS
|
||||
.ofs8 0xFE7F5D70: AT(0xFE7F5D70)
|
||||
{
|
||||
KEEP(*(.ofs8))
|
||||
} > OFS
|
||||
.r_bsp_NULL :
|
||||
{
|
||||
. += 0x100;
|
||||
"_r_bsp_NULL_end" = .;
|
||||
} >RAM
|
||||
.r_bsp_istack BLOCK(0x4) (NOLOAD) :
|
||||
{
|
||||
KEEP(*(.r_bsp_istack))
|
||||
} >RAM
|
||||
.istack :
|
||||
{
|
||||
"_istack" = .;
|
||||
} >RAM
|
||||
.r_bsp_ustack BLOCK(0x4) (NOLOAD) :
|
||||
{
|
||||
KEEP(*(.r_bsp_ustack))
|
||||
} >RAM
|
||||
.ustack :
|
||||
{
|
||||
"_ustack" = .;
|
||||
} >RAM
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
|
||||
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
|
||||
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
|
||||
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
|
||||
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
|
||||
* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_cg_hardware_setup.c
|
||||
* Version : 1.0.101
|
||||
* Device(s) : R5F572NNHxFB
|
||||
* Description : Initialization file for code generation configurations.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Pragma directive
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for pragma. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes
|
||||
***********************************************************************************************************************/
|
||||
#include "r_cg_macrodriver.h"
|
||||
#include "r_smc_cgc.h"
|
||||
#include "r_smc_interrupt.h"
|
||||
/* Start user code for include. Do not edit comment generated here */
|
||||
#include "r_gpio_rx_if.h"
|
||||
#include "r_sci_rx_pinset.h"
|
||||
#include "r_sci_rx_if.h"
|
||||
#include "r_dtc_rx_if.h"
|
||||
#include "demo_specific_io.h"
|
||||
/* End user code. Do not edit comment generated here */
|
||||
#include "r_cg_userdefine.h"
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Global variables and functions
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for global. Do not edit comment generated here */
|
||||
|
||||
/* Board Support Data Structures. */
|
||||
sci_hdl_t xSerialSciHandle;
|
||||
dtc_transfer_data_t xSerialTxDtcInfo;
|
||||
|
||||
/* Workaround to execute FIT Board Support Settings */
|
||||
void R_CG_Config_Create(void);
|
||||
void R_FIT_Board_Support_Settings(void);
|
||||
void R_Systeminit(void)
|
||||
{
|
||||
R_CG_Config_Create();
|
||||
R_FIT_Board_Support_Settings();
|
||||
}
|
||||
#define R_Systeminit R_CG_Config_Create
|
||||
|
||||
/* End user code. Do not edit comment generated here */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function Name: r_undefined_exception
|
||||
* Description : This function is undefined interrupt service routine
|
||||
* Arguments : None
|
||||
* Return Value : None
|
||||
***********************************************************************************************************************/
|
||||
|
||||
void r_undefined_exception(void)
|
||||
{
|
||||
/* Start user code for r_undefined_exception. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
}
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function Name: R_Systeminit
|
||||
* Description : This function initializes every configuration
|
||||
* Arguments : None
|
||||
* Return Value : None
|
||||
***********************************************************************************************************************/
|
||||
|
||||
void R_Systeminit(void)
|
||||
{
|
||||
/* Enable writing to registers related to operating modes, LPC, CGC and software reset */
|
||||
SYSTEM.PRCR.WORD = 0xA50BU;
|
||||
|
||||
/* Enable writing to MPC pin function control registers */
|
||||
MPC.PWPR.BIT.B0WI = 0U;
|
||||
MPC.PWPR.BIT.PFSWE = 1U;
|
||||
|
||||
/* Write 0 to the target bits in the POECR2 registers */
|
||||
POE3.POECR2.WORD = 0x0000U;
|
||||
|
||||
/* Initialize clocks settings */
|
||||
R_CGC_Create();
|
||||
|
||||
/* Register undefined interrupt */
|
||||
R_BSP_InterruptWrite(BSP_INT_SRC_UNDEFINED_INTERRUPT,(bsp_int_cb_t)r_undefined_exception);
|
||||
|
||||
/* Disable writing to MPC pin function control registers */
|
||||
MPC.PWPR.BIT.PFSWE = 0U;
|
||||
MPC.PWPR.BIT.B0WI = 1U;
|
||||
|
||||
/* Enable protection */
|
||||
SYSTEM.PRCR.WORD = 0xA500U;
|
||||
}
|
||||
|
||||
/* Start user code for adding. Do not edit comment generated here */
|
||||
|
||||
void R_FIT_Board_Support_Settings(void)
|
||||
{
|
||||
/* Do not call any functions which enables generating any interrupt requests. */
|
||||
|
||||
/* GPIO for LED */
|
||||
R_GPIO_PinWrite(U_GPIO_PIN_LED0, (gpio_level_t)LED_OFF); // for the initial level after input --> output
|
||||
R_GPIO_PinDirectionSet(U_GPIO_PIN_LED0, GPIO_DIRECTION_OUTPUT);
|
||||
|
||||
/* GPIO for SW */
|
||||
R_GPIO_PinDirectionSet(U_GPIO_PIN_SW1, GPIO_DIRECTION_INPUT );
|
||||
|
||||
/* FreeRTOS CLI Command Console */
|
||||
U_SCI_UART_CLI_PINSET();
|
||||
sci_cfg_t xSerialSciConfig;
|
||||
xSerialSciConfig.async.baud_rate = 115200;
|
||||
xSerialSciConfig.async.clk_src = SCI_CLK_INT;
|
||||
xSerialSciConfig.async.data_size = SCI_DATA_8BIT;
|
||||
xSerialSciConfig.async.parity_en = SCI_PARITY_OFF;
|
||||
xSerialSciConfig.async.parity_type = SCI_EVEN_PARITY;
|
||||
xSerialSciConfig.async.stop_bits = SCI_STOPBITS_1;
|
||||
xSerialSciConfig.async.int_priority = 1; /* lowest at first. */
|
||||
R_SCI_Open(U_SCI_UART_CLI_SCI_CH, SCI_MODE_ASYNC, &xSerialSciConfig, vSerialSciCallback, &xSerialSciHandle);
|
||||
R_DTC_Open();
|
||||
R_DTC_Control(DTC_CMD_DTC_START, NULL, NULL);
|
||||
}
|
||||
|
||||
/* End user code. Do not edit comment generated here */
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
|
||||
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
|
||||
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
|
||||
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
|
||||
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
|
||||
* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_cg_interrupt_handlers.h
|
||||
* Version : 1.0.101
|
||||
* Device(s) : R5F572NNHxFB
|
||||
* Description : This file declares interrupt handlers.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#ifndef INTERRUPT_HANDLERS_H
|
||||
#define INTERRUPT_HANDLERS_H
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions (Register bit)
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Global functions
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for function. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
#endif
|
||||
@@ -0,0 +1,83 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
|
||||
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
|
||||
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
|
||||
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
|
||||
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
|
||||
* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_cg_macrodriver.h
|
||||
* Version : 1.0.101
|
||||
* Device(s) : R5F572NNHxFB
|
||||
* Description : Macro header file for code generation.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#ifndef MACRODRIVER_H
|
||||
#define MACRODRIVER_H
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes
|
||||
***********************************************************************************************************************/
|
||||
#include "platform.h"
|
||||
#include "r_smc_interrupt.h"
|
||||
#include "r_cg_interrupt_handlers.h"
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions (Register bit)
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
#ifndef __TYPEDEF__
|
||||
|
||||
/* Status list definition */
|
||||
#define MD_STATUSBASE (0x00U)
|
||||
#define MD_OK (MD_STATUSBASE + 0x00U) /* register setting OK */
|
||||
#define MD_SPT (MD_STATUSBASE + 0x01U) /* IIC stop */
|
||||
#define MD_NACK (MD_STATUSBASE + 0x02U) /* IIC no ACK */
|
||||
#define MD_BUSY1 (MD_STATUSBASE + 0x03U) /* busy 1 */
|
||||
#define MD_BUSY2 (MD_STATUSBASE + 0x04U) /* busy 2 */
|
||||
|
||||
/* Error list definition */
|
||||
#define MD_ERRORBASE (0x80U)
|
||||
#define MD_ERROR (MD_ERRORBASE + 0x00U) /* error */
|
||||
#define MD_ARGERROR (MD_ERRORBASE + 0x01U) /* error argument input error */
|
||||
#define MD_ERROR1 (MD_ERRORBASE + 0x02U) /* error 1 */
|
||||
#define MD_ERROR2 (MD_ERRORBASE + 0x03U) /* error 2 */
|
||||
#define MD_ERROR3 (MD_ERRORBASE + 0x04U) /* error 3 */
|
||||
#define MD_ERROR4 (MD_ERRORBASE + 0x05U) /* error 4 */
|
||||
#define MD_ERROR5 (MD_ERRORBASE + 0x06U) /* error 5 */
|
||||
#define nop() R_BSP_NOP()
|
||||
#define wait() R_BSP_WAIT()
|
||||
|
||||
#endif
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
#ifndef __TYPEDEF__
|
||||
typedef unsigned short MD_STATUS;
|
||||
#define __TYPEDEF__
|
||||
#endif
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Global functions
|
||||
***********************************************************************************************************************/
|
||||
void R_Systeminit(void);
|
||||
/* Start user code for function. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
|
||||
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
|
||||
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
|
||||
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
|
||||
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
|
||||
* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_cg_userdefine.h
|
||||
* Version : 1.0.101
|
||||
* Device(s) : R5F572NNHxFB
|
||||
* Description : User header file for code generation.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#ifndef CG_USER_DEF_H
|
||||
#define CG_USER_DEF_H
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for include. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions (Register bit)
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for register. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for macro define. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for type define. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Global functions
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for function. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
|
||||
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
|
||||
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
|
||||
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
|
||||
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
|
||||
* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_smc_cgc.c
|
||||
* Version : 1.6.101
|
||||
* Device(s) : R5F572NNHxFB
|
||||
* Description : This file implements CGC setting.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Pragma directive
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for pragma. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes
|
||||
***********************************************************************************************************************/
|
||||
#include "r_cg_macrodriver.h"
|
||||
#include "r_smc_cgc.h"
|
||||
/* Start user code for include. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
#include "r_cg_userdefine.h"
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Global variables and functions
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for global. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function Name: R_CGC_Create
|
||||
* Description : This function initializes the clock generator
|
||||
* Arguments : None
|
||||
* Return Value : None
|
||||
***********************************************************************************************************************/
|
||||
|
||||
void R_CGC_Create(void)
|
||||
{
|
||||
/* Set CLKOUT25M pin */
|
||||
MPC.P56PFS.BYTE = 0x2AU;
|
||||
PORT5.DSCR2.BYTE |= 0x40U;
|
||||
PORT5.PMR.BYTE |= 0x40U;
|
||||
|
||||
R_CGC_Create_UserInit();
|
||||
}
|
||||
|
||||
/* Start user code for adding. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
@@ -0,0 +1,174 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
|
||||
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
|
||||
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
|
||||
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
|
||||
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
|
||||
* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_smc_cgc.h
|
||||
* Version : 1.6.101
|
||||
* Device(s) : R5F572NNHxFB
|
||||
* Description : CGC setting header file.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#ifndef SMC_CGC_H
|
||||
#define SMC_CGC_H
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions (Register bit)
|
||||
***********************************************************************************************************************/
|
||||
/*
|
||||
PLL Control Register (PLLCR)
|
||||
*/
|
||||
/* PLL Input Frequency Division Ratio Select (PLIDIV[1:0]) */
|
||||
#define _0000_CGC_PLL_FREQ_DIV_1 (0x0000U) /* x1 */
|
||||
#define _0001_CGC_PLL_FREQ_DIV_2 (0x0001U) /* x1/2 */
|
||||
#define _0002_CGC_PLL_FREQ_DIV_3 (0x0002U) /* x1/3 */
|
||||
/* PLL Clock Source Select (PLLSRCSEL) */
|
||||
#define _0000_CGC_PLL_SOURCE_MAIN (0x0000U) /* Main clock oscillator */
|
||||
#define _0010_CGC_PLL_SOURCE_HOCO (0x0010U) /* HOCO */
|
||||
/* Frequency Multiplication Factor Select (STC[5:0]) */
|
||||
#define _1300_CGC_PLL_FREQ_MUL_10_0 (0x1300U) /* x10.0 */
|
||||
#define _1400_CGC_PLL_FREQ_MUL_10_5 (0x1400U) /* x10.5 */
|
||||
#define _1500_CGC_PLL_FREQ_MUL_11_0 (0x1500U) /* x11.0 */
|
||||
#define _1600_CGC_PLL_FREQ_MUL_11_5 (0x1600U) /* x11.5 */
|
||||
#define _1700_CGC_PLL_FREQ_MUL_12_0 (0x1700U) /* x12.0 */
|
||||
#define _1800_CGC_PLL_FREQ_MUL_12_5 (0x1800U) /* x12.5 */
|
||||
#define _1900_CGC_PLL_FREQ_MUL_13_0 (0x1900U) /* x13.0 */
|
||||
#define _1A00_CGC_PLL_FREQ_MUL_13_5 (0x1A00U) /* x13.5 */
|
||||
#define _1B00_CGC_PLL_FREQ_MUL_14_0 (0x1B00U) /* x14.0 */
|
||||
#define _1C00_CGC_PLL_FREQ_MUL_14_5 (0x1C00U) /* x14.5 */
|
||||
#define _1D00_CGC_PLL_FREQ_MUL_15_0 (0x1D00U) /* x15.0 */
|
||||
#define _1E00_CGC_PLL_FREQ_MUL_15_5 (0x1E00U) /* x15.5 */
|
||||
#define _1F00_CGC_PLL_FREQ_MUL_16_0 (0x1F00U) /* x16.0 */
|
||||
#define _2000_CGC_PLL_FREQ_MUL_16_5 (0x2000U) /* x16.5 */
|
||||
#define _2100_CGC_PLL_FREQ_MUL_17_0 (0x2100U) /* x17.0 */
|
||||
#define _2200_CGC_PLL_FREQ_MUL_17_5 (0x2200U) /* x17.5 */
|
||||
#define _2300_CGC_PLL_FREQ_MUL_18_0 (0x2300U) /* x18.0 */
|
||||
#define _2400_CGC_PLL_FREQ_MUL_18_5 (0x2400U) /* x18.5 */
|
||||
#define _2500_CGC_PLL_FREQ_MUL_19_0 (0x2500U) /* x19.0 */
|
||||
#define _2600_CGC_PLL_FREQ_MUL_19_5 (0x2600U) /* x19.5 */
|
||||
#define _2700_CGC_PLL_FREQ_MUL_20_0 (0x2700U) /* x20.0 */
|
||||
#define _2800_CGC_PLL_FREQ_MUL_20_5 (0x2800U) /* x20.5 */
|
||||
#define _2900_CGC_PLL_FREQ_MUL_21_0 (0x2900U) /* x21.0 */
|
||||
#define _2A00_CGC_PLL_FREQ_MUL_21_5 (0x2A00U) /* x21.5 */
|
||||
#define _2B00_CGC_PLL_FREQ_MUL_22_0 (0x2B00U) /* x22.0 */
|
||||
#define _2C00_CGC_PLL_FREQ_MUL_22_5 (0x2C00U) /* x22.5 */
|
||||
#define _2D00_CGC_PLL_FREQ_MUL_23_0 (0x2D00U) /* x23.0 */
|
||||
#define _2E00_CGC_PLL_FREQ_MUL_23_5 (0x2E00U) /* x23.5 */
|
||||
#define _2F00_CGC_PLL_FREQ_MUL_24_0 (0x2F00U) /* x24.0 */
|
||||
#define _3000_CGC_PLL_FREQ_MUL_24_5 (0x3000U) /* x24.5 */
|
||||
#define _3100_CGC_PLL_FREQ_MUL_25_0 (0x3100U) /* x25.0 */
|
||||
#define _3200_CGC_PLL_FREQ_MUL_25_5 (0x3200U) /* x25.5 */
|
||||
#define _3300_CGC_PLL_FREQ_MUL_26_0 (0x3300U) /* x26.0 */
|
||||
#define _3400_CGC_PLL_FREQ_MUL_26_5 (0x3400U) /* x26.5 */
|
||||
#define _3500_CGC_PLL_FREQ_MUL_27_0 (0x3500U) /* x27.0 */
|
||||
#define _3600_CGC_PLL_FREQ_MUL_27_5 (0x3600U) /* x27.5 */
|
||||
#define _3700_CGC_PLL_FREQ_MUL_28_0 (0x3700U) /* x28.0 */
|
||||
#define _3800_CGC_PLL_FREQ_MUL_28_5 (0x3800U) /* x28.5 */
|
||||
#define _3900_CGC_PLL_FREQ_MUL_29_0 (0x3900U) /* x29.0 */
|
||||
#define _3A00_CGC_PLL_FREQ_MUL_29_5 (0x3A00U) /* x29.5 */
|
||||
#define _3B00_CGC_PLL_FREQ_MUL_30_0 (0x3B00U) /* x30.0 */
|
||||
|
||||
/*
|
||||
High-Speed On-Chip Oscillator Control Register 2 (HOCOCR2)
|
||||
*/
|
||||
/* HOCO Frequency Setting (HCFRQ[1:0]) */
|
||||
#define _00_CGC_HOCO_CLK_16 (0x00U) /* 16 MHz */
|
||||
#define _01_CGC_HOCO_CLK_18 (0x01U) /* 18 MHz */
|
||||
#define _02_CGC_HOCO_CLK_20 (0x02U) /* 20 MHz */
|
||||
|
||||
/*
|
||||
Main Clock Oscillator Forced Oscillation Control Register (MOFCR)
|
||||
*/
|
||||
/* Main Clock Oscillator Forced Oscillation (MOFXIN) */
|
||||
#define _00_CGC_MAINOSC_NOT_CONTROLLED (0x00U) /* Oscillator is not controlled by this bit */
|
||||
#define _01_CGC_MAINOSC_FORCE_OSCILLATED (0x01U) /* The main clock oscillator is forcedly oscillated */
|
||||
/* Main Oscillator Drive Capability 2 Switching (MODRV2[1:0]) */
|
||||
#define _00_CGC_MAINOSC_UNDER24M (0x00U) /* 20.1 to 24 MHz */
|
||||
#define _10_CGC_MAINOSC_UNDER20M (0x10U) /* 16.1 to 20 MHz */
|
||||
#define _20_CGC_MAINOSC_UNDER16M (0x20U) /* 8.1 to 16 MHz */
|
||||
#define _30_CGC_MAINOSC_EQUATE8M (0x30U) /* 8 MHz */
|
||||
/* Main Clock Oscillator Switch (MOSEL) */
|
||||
#define _00_CGC_MAINOSC_RESONATOR (0x00U) /* Resonator */
|
||||
#define _40_CGC_MAINOSC_EXTERNAL (0x40U) /* External oscillator input */
|
||||
|
||||
/*
|
||||
PPLL Control Register (PPLLCR)
|
||||
*/
|
||||
/* PPLL Input Pulse Frequency Division Ratio Select (PPLIDIV[1:0]) */
|
||||
#define _0000_CGC_PPLL_FREQ_DIV_1 (0x0000U) /* x1 */
|
||||
#define _0001_CGC_PPLL_FREQ_DIV_2 (0x0001U) /* x1/2 */
|
||||
#define _0002_CGC_PPLL_FREQ_DIV_3 (0x0002U) /* x1/3 */
|
||||
/* PPLL Frequency Multiplier Setting (PPLSTC[5:0]) */
|
||||
#define _1300_CGC_PPLL_FREQ_MUL_10_0 (0x1300U) /* x10.0 */
|
||||
#define _1400_CGC_PPLL_FREQ_MUL_10_5 (0x1400U) /* x10.5 */
|
||||
#define _1500_CGC_PPLL_FREQ_MUL_11_0 (0x1500U) /* x11.0 */
|
||||
#define _1600_CGC_PPLL_FREQ_MUL_11_5 (0x1600U) /* x11.5 */
|
||||
#define _1700_CGC_PPLL_FREQ_MUL_12_0 (0x1700U) /* x12.0 */
|
||||
#define _1800_CGC_PPLL_FREQ_MUL_12_5 (0x1800U) /* x12.5 */
|
||||
#define _1900_CGC_PPLL_FREQ_MUL_13_0 (0x1900U) /* x13.0 */
|
||||
#define _1A00_CGC_PPLL_FREQ_MUL_13_5 (0x1A00U) /* x13.5 */
|
||||
#define _1B00_CGC_PPLL_FREQ_MUL_14_0 (0x1B00U) /* x14.0 */
|
||||
#define _1C00_CGC_PPLL_FREQ_MUL_14_5 (0x1C00U) /* x14.5 */
|
||||
#define _1D00_CGC_PPLL_FREQ_MUL_15_0 (0x1D00U) /* x15.0 */
|
||||
#define _1E00_CGC_PPLL_FREQ_MUL_15_5 (0x1E00U) /* x15.5 */
|
||||
#define _1F00_CGC_PPLL_FREQ_MUL_16_0 (0x1F00U) /* x16.0 */
|
||||
#define _2000_CGC_PPLL_FREQ_MUL_16_5 (0x2000U) /* x16.5 */
|
||||
#define _2100_CGC_PPLL_FREQ_MUL_17_0 (0x2100U) /* x17.0 */
|
||||
#define _2200_CGC_PPLL_FREQ_MUL_17_5 (0x2200U) /* x17.5 */
|
||||
#define _2300_CGC_PPLL_FREQ_MUL_18_0 (0x2300U) /* x18.0 */
|
||||
#define _2400_CGC_PPLL_FREQ_MUL_18_5 (0x2400U) /* x18.5 */
|
||||
#define _2500_CGC_PPLL_FREQ_MUL_19_0 (0x2500U) /* x19.0 */
|
||||
#define _2600_CGC_PPLL_FREQ_MUL_19_5 (0x2600U) /* x19.5 */
|
||||
#define _2700_CGC_PPLL_FREQ_MUL_20_0 (0x2700U) /* x20.0 */
|
||||
#define _2800_CGC_PPLL_FREQ_MUL_20_5 (0x2800U) /* x20.5 */
|
||||
#define _2900_CGC_PPLL_FREQ_MUL_21_0 (0x2900U) /* x21.0 */
|
||||
#define _2A00_CGC_PPLL_FREQ_MUL_21_5 (0x2A00U) /* x21.5 */
|
||||
#define _2B00_CGC_PPLL_FREQ_MUL_22_0 (0x2B00U) /* x22.0 */
|
||||
#define _2C00_CGC_PPLL_FREQ_MUL_22_5 (0x2C00U) /* x22.5 */
|
||||
#define _2D00_CGC_PPLL_FREQ_MUL_23_0 (0x2D00U) /* x23.0 */
|
||||
#define _2E00_CGC_PPLL_FREQ_MUL_23_5 (0x2E00U) /* x23.5 */
|
||||
#define _2F00_CGC_PPLL_FREQ_MUL_24_0 (0x2F00U) /* x24.0 */
|
||||
#define _3000_CGC_PPLL_FREQ_MUL_24_5 (0x3000U) /* x24.5 */
|
||||
#define _3100_CGC_PPLL_FREQ_MUL_25_0 (0x3100U) /* x25.0 */
|
||||
#define _3200_CGC_PPLL_FREQ_MUL_25_5 (0x3200U) /* x25.5 */
|
||||
#define _3300_CGC_PPLL_FREQ_MUL_26_0 (0x3300U) /* x26.0 */
|
||||
#define _3400_CGC_PPLL_FREQ_MUL_26_5 (0x3400U) /* x26.5 */
|
||||
#define _3500_CGC_PPLL_FREQ_MUL_27_0 (0x3500U) /* x27.0 */
|
||||
#define _3600_CGC_PPLL_FREQ_MUL_27_5 (0x3600U) /* x27.5 */
|
||||
#define _3700_CGC_PPLL_FREQ_MUL_28_0 (0x3700U) /* x28.0 */
|
||||
#define _3800_CGC_PPLL_FREQ_MUL_28_5 (0x3800U) /* x28.5 */
|
||||
#define _3900_CGC_PPLL_FREQ_MUL_29_0 (0x3900U) /* x29.0 */
|
||||
#define _3A00_CGC_PPLL_FREQ_MUL_29_5 (0x3A00U) /* x29.5 */
|
||||
#define _3B00_CGC_PPLL_FREQ_MUL_30_0 (0x3B00U) /* x30.0 */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Global functions
|
||||
***********************************************************************************************************************/
|
||||
void R_CGC_Create(void);
|
||||
void R_CGC_Create_UserInit(void);
|
||||
/* Start user code for function. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
#endif
|
||||
@@ -0,0 +1,61 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
|
||||
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
|
||||
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
|
||||
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
|
||||
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
|
||||
* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_smc_cgc_user.c
|
||||
* Version : 1.6.101
|
||||
* Device(s) : R5F572NNHxFB
|
||||
* Description : This file implements CGC setting.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Pragma directive
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for pragma. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes
|
||||
***********************************************************************************************************************/
|
||||
#include "r_cg_macrodriver.h"
|
||||
/* Start user code for include. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
#include "r_cg_userdefine.h"
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Global variables and functions
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for global. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function Name: R_CGC_Create_UserInit
|
||||
* Description : This function adds user code after initializing CGC
|
||||
* Arguments : None
|
||||
* Return Value : None
|
||||
***********************************************************************************************************************/
|
||||
|
||||
void R_CGC_Create_UserInit(void)
|
||||
{
|
||||
/* Start user code for user init. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
}
|
||||
|
||||
/* Start user code for adding. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
@@ -0,0 +1,53 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
|
||||
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
|
||||
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
|
||||
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
|
||||
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
|
||||
* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_smc_entry.h
|
||||
* Version : 1.0.101
|
||||
* Device(s) : R5F572NNHxFB
|
||||
* Description : SMC platform header file.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#ifndef SMC_ENTRY_H
|
||||
#define SMC_ENTRY_H
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes
|
||||
***********************************************************************************************************************/
|
||||
#include "r_cg_macrodriver.h"
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions (Register bit)
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Global functions
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for function. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
|
||||
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
|
||||
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
|
||||
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
|
||||
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
|
||||
* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_smc_interrupt.c
|
||||
* Version : 1.1.0
|
||||
* Device(s) : R5F572NNHxFB
|
||||
* Description : This file implements interrupt setting.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Pragma directive
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for pragma. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes
|
||||
***********************************************************************************************************************/
|
||||
#include "r_cg_macrodriver.h"
|
||||
#include "r_smc_interrupt.h"
|
||||
/* Start user code for include. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
#include "r_cg_userdefine.h"
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Global variables and functions
|
||||
***********************************************************************************************************************/
|
||||
/* Start user code for global. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function Name: R_Interrupt_Create
|
||||
* Description : This function Used to set the fast interrupt or group interrupt
|
||||
* Arguments : None
|
||||
* Return Value : None
|
||||
***********************************************************************************************************************/
|
||||
|
||||
void R_Interrupt_Create(void)
|
||||
{
|
||||
/* No fast interrupt and group settings have been configured in the Interrupts tab. */
|
||||
}
|
||||
|
||||
/* Start user code for adding. Do not edit comment generated here */
|
||||
/* End user code. Do not edit comment generated here */
|
||||
@@ -0,0 +1,293 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
|
||||
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
|
||||
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
|
||||
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
|
||||
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
|
||||
* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_smc_interrupt.h
|
||||
* Version : 1.1.0
|
||||
* Device(s) : R5F572NNHxFB
|
||||
* Description : This file implements interrupt setting.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#ifndef SMC_INTERRUPT_H
|
||||
#define SMC_INTERRUPT_H
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions (Register bit)
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/* Priority level of interrupt source.
|
||||
* These macro definitions are used to set the IPR register directly
|
||||
*/
|
||||
#define _00_ICU_PRIORITY_LEVEL0 (0x00U) /* Level 0 (disabled) */
|
||||
#define _01_ICU_PRIORITY_LEVEL1 (0x01U) /* Level 1 */
|
||||
#define _02_ICU_PRIORITY_LEVEL2 (0x02U) /* Level 2 */
|
||||
#define _03_ICU_PRIORITY_LEVEL3 (0x03U) /* Level 3 */
|
||||
#define _04_ICU_PRIORITY_LEVEL4 (0x04U) /* Level 4 */
|
||||
#define _05_ICU_PRIORITY_LEVEL5 (0x05U) /* Level 5 */
|
||||
#define _06_ICU_PRIORITY_LEVEL6 (0x06U) /* Level 6 */
|
||||
#define _07_ICU_PRIORITY_LEVEL7 (0x07U) /* Level 7 */
|
||||
#define _08_ICU_PRIORITY_LEVEL8 (0x08U) /* Level 8 */
|
||||
#define _09_ICU_PRIORITY_LEVEL9 (0x09U) /* Level 9 */
|
||||
#define _0A_ICU_PRIORITY_LEVEL10 (0x0AU) /* Level 10 */
|
||||
#define _0B_ICU_PRIORITY_LEVEL11 (0x0BU) /* Level 11 */
|
||||
#define _0C_ICU_PRIORITY_LEVEL12 (0x0CU) /* Level 12 */
|
||||
#define _0D_ICU_PRIORITY_LEVEL13 (0x0DU) /* Level 13 */
|
||||
#define _0E_ICU_PRIORITY_LEVEL14 (0x0EU) /* Level 14 */
|
||||
#define _0F_ICU_PRIORITY_LEVEL15 (0x0FU) /* Level 15 */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
/* The macro definitions below list the full set of priority levels as selected in the Interrupts tab
|
||||
* Please do not modify this file manually
|
||||
*/
|
||||
#define ICU_BSC_BUSERR_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_GROUPIE0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RAM_RAMERR_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_FCU_FIFERR_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_FCU_FRDYI_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_SWINT2_PRIORITY (_01_ICU_PRIORITY_LEVEL1)
|
||||
#define ICU_ICU_SWINT_PRIORITY (_01_ICU_PRIORITY_LEVEL1)
|
||||
#define ICU_CMT0_CMI0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CMT1_CMI1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CMTW0_CMWI0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CMTW1_CMWI1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_USB0_D0FIFO0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_USB0_D1FIFO0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RSPI0_SPRI0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RSPI0_SPTI0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RSPI1_SPRI1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RSPI1_SPTI1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_QSPI_SPRI_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_QSPI_SPTI_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SDHI_SBFAI_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MMCIF_MBFAI_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SSIE0_SSITXI0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SSIE0_SSIRXI0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SSIE1_SSIRTI1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RIIC1_RXI1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RIIC1_TXI1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RIIC0_RXI0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RIIC0_TXI0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RIIC2_RXI2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RIIC2_TXI2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI0_RXI0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI0_TXI0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI1_RXI1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI1_TXI1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI2_RXI2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI2_TXI2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ3_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ4_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ5_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ6_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ7_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ8_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ9_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ10_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ11_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ12_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ13_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ14_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_IRQ15_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI3_RXI3_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI3_TXI3_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI4_RXI4_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI4_TXI4_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI5_RXI5_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI5_TXI5_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI6_RXI6_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI6_TXI6_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_LVD1_LVD1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_LVD2_LVD2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_USB0_USBR0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RTC_ALM_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RTC_PRD_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_IWDT_IWUNI_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_WDT_WUNI_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_PDC_PCDFI_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI7_RXI7_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI7_TXI7_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI8_RXI8_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI8_TXI8_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI9_RXI9_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI9_TXI9_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI10_RXI10_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI10_TXI10_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_GROUPBE0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_GROUPBL2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RSPI2_SPRI2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RSPI2_SPTI2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_GROUPBL0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_GROUPBL1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_GROUPAL0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ICU_GROUPAL1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI11_RXI11_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI11_TXI11_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI12_RXI12_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_SCI12_TXI12_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_DMAC_DMAC0I_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_DMAC_DMAC1I_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_DMAC_DMAC2I_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_DMAC_DMAC3I_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_DMAC_DMAC74I_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_OST_OSTDI_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_EXDMAC_EXDMAC0I_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_EXDMAC_EXDMAC1I_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CMT2_CMI2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CMT3_CMI3_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU0_TGI0A_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU0_TGI0B_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU0_TGI0C_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU0_TGI0D_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU0_TCI0V_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU1_TGI1B_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU1_TCI1V_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU1_TCI1U_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU2_TGI2A_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU2_TGI2B_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU2_TCI2V_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU2_TCI2U_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU3_TGI3A_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU3_TGI3B_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU1_TGI1A_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU3_TGI3C_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TMR0_CMIA0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TMR0_CMIB0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TMR0_OVI0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TMR1_CMIA1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TMR1_CMIB1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TMR1_OVI1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TMR2_CMIA2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TMR2_CMIB2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TMR2_OVI2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TMR3_CMIA3_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TMR3_CMIB3_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TMR3_OVI3_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU3_TGI3D_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU3_TCI3V_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU4_TGI4A_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU4_TGI4B_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU4_TCI4V_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU4_TCI4U_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU5_TGI5A_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU5_TGI5B_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU5_TCI5V_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TPU5_TCI5U_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CMTW0_IC0I0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CMTW0_IC1I0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CMTW0_OC0I0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CMTW0_OC1I0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CMTW1_IC0I1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CMTW1_IC1I1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CMTW1_OC0I1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CMTW1_OC1I1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_RTC_CUP_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CAN0_RXF0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CAN0_TXF0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CAN0_RXM0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CAN0_TXM0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CAN1_RXF1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CAN1_TXF1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CAN1_RXM1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_CAN1_TXM1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_USB0_USBI0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_S12AD_S12ADI_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_S12AD_S12GBADI_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_S12AD_S12GCADI_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_S12AD1_S12ADI1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_S12AD1_S12GBADI1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_S12AD1_S12GCADI1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ELC_ELSR18I_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_ELC_ELSR19I_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TSIP_PROC_BUSY_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TSIP_ROMOK_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TSIP_LONG_PLG_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TSIP_TEST_BUSY_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TSIP_WRRDY0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TSIP_WRRDY1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TSIP_WRRDY4_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TSIP_RDRDY0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TSIP_RDRDY1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TSIP_INTEGRATE_WRRDY_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_TSIP_INTEGRATE_RDRDY_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_PERIB_INTB205_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_PERIB_INTB206_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_PERIB_INTB207_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU1_TGIA1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU0_TGIA0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU0_TGIB0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU0_TGIC0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU0_TGID0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU0_TCIV0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU0_TGIE0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU0_TGIF0_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU1_TGIB1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU1_TCIV1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU1_TCIU1_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU2_TGIA2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU2_TGIB2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU2_TCIV2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU2_TCIU2_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU3_TGIA3_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU3_TGIB3_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU3_TGIC3_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU3_TGID3_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU3_TCIV3_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU4_TGIA4_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU4_TGIB4_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU4_TGIC4_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU4_TGID4_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU4_TCIV4_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU5_TGIU5_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU5_TGIV5_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU5_TGIW5_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU6_TGIA6_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU6_TGIB6_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU6_TGIC6_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU6_TGID6_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU6_TCIV6_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU7_TGIA7_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU7_TGIB7_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU7_TGIC7_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU7_TGID7_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU7_TCIV7_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU8_TGIA8_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU8_TGIB8_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU8_TGIC8_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU8_TGID8_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_MTU8_TCIV8_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_EPTPC_IPLS_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_PMGI0_PMGI0I_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_PMGI1_PMGI1I_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_PERIA_INTA254_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
#define ICU_PERIA_INTA255_PRIORITY (_0F_ICU_PRIORITY_LEVEL15)
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Global functions
|
||||
***********************************************************************************************************************/
|
||||
void R_Interrupt_Create(void);
|
||||
#endif
|
||||
@@ -0,0 +1,414 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : hwsetup.c
|
||||
* Device(s) : RX
|
||||
* H/W Platform : GENERIC_RX72N
|
||||
* Description : Defines the initialization routines used each time the MCU is restarted.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 08.10.2019 1.00 First Release
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes <System Includes> , "Project Includes"
|
||||
***********************************************************************************************************************/
|
||||
/* I/O Register and board definitions */
|
||||
#include "platform.h"
|
||||
#if BSP_CFG_CONFIGURATOR_SELECT == 1
|
||||
#include "r_cg_macrodriver.h"
|
||||
#endif
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
R_BSP_PRAGMA_UNPACK
|
||||
typedef struct bsp_bsc {
|
||||
union {
|
||||
uint32_t u_long;
|
||||
R_BSP_ATTRIB_STRUCT_BIT_ORDER_LEFT_13(
|
||||
uint32_t prerr:1,
|
||||
uint32_t :1,
|
||||
uint32_t rpstop:1,
|
||||
uint32_t :10,
|
||||
uint32_t pr5sel:3,
|
||||
uint32_t :1,
|
||||
uint32_t pr4sel:3,
|
||||
uint32_t :1,
|
||||
uint32_t pr3sel:3,
|
||||
uint32_t :1,
|
||||
uint32_t pr2sel:3,
|
||||
uint32_t :1,
|
||||
uint32_t pr1sel:3
|
||||
) bit;
|
||||
} ebmapcr;
|
||||
} st_bsp_bsc_t;
|
||||
R_BSP_PRAGMA_PACKOPTION
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Private global variables and functions
|
||||
***********************************************************************************************************************/
|
||||
/* When using the user startup program, disable the following code. */
|
||||
#if BSP_CFG_STARTUP_DISABLE == 0
|
||||
/* ROM cache configuration function declaration */
|
||||
#if BSP_CFG_ROM_CACHE_ENABLE == 1
|
||||
static void rom_cache_function_set(void);
|
||||
#if BSP_CFG_NONCACHEABLE_AREA0_ENABLE == 1
|
||||
static void rom_cache_noncacheable_area0_set(void);
|
||||
#endif /* BSP_CFG_NONCACHEABLE_AREA0_ENABLE == 1 */
|
||||
#if BSP_CFG_NONCACHEABLE_AREA1_ENABLE == 1
|
||||
static void rom_cache_noncacheable_area1_set(void);
|
||||
#endif /* BSP_CFG_NONCACHEABLE_AREA1_ENABLE == 1 */
|
||||
#endif /* BSP_CFG_ROM_CACHE_ENABLE == 1 */
|
||||
#endif /* BSP_CFG_STARTUP_DISABLE == 0 */
|
||||
|
||||
/* MCU I/O port configuration function declaration */
|
||||
static void output_ports_configure(void);
|
||||
|
||||
/* Interrupt configuration function declaration */
|
||||
static void interrupts_configure(void);
|
||||
|
||||
/* MCU peripheral module configuration function declaration */
|
||||
static void peripheral_modules_enable(void);
|
||||
|
||||
/* ADC initial configuration function declaration */
|
||||
static void bsp_adc_initial_configure(void);
|
||||
|
||||
/* BUS initial configuration function declaration */
|
||||
static void bsp_bsc_initial_configure(void);
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function name: hardware_setup
|
||||
* Description : Contains setup functions called at device restart
|
||||
* Arguments : none
|
||||
* Return value : none
|
||||
***********************************************************************************************************************/
|
||||
void hardware_setup(void)
|
||||
{
|
||||
/* When using the user startup program, disable the following code. */
|
||||
#if BSP_CFG_STARTUP_DISABLE == 0
|
||||
#if BSP_CFG_ROM_CACHE_ENABLE == 1
|
||||
/* Initialize ROM cache function */
|
||||
rom_cache_function_set();
|
||||
#endif /* BSP_CFG_ROM_CACHE_ENABLE == 1 */
|
||||
#endif /* BSP_CFG_STARTUP_DISABLE == 0 */
|
||||
|
||||
output_ports_configure();
|
||||
interrupts_configure();
|
||||
peripheral_modules_enable();
|
||||
bsp_non_existent_port_init();
|
||||
bsp_adc_initial_configure();
|
||||
bsp_bsc_initial_configure();
|
||||
} /* End of function hardware_setup() */
|
||||
|
||||
/* When using the user startup program, disable the following code. */
|
||||
#if BSP_CFG_STARTUP_DISABLE == 0
|
||||
#if BSP_CFG_ROM_CACHE_ENABLE == 1
|
||||
/***********************************************************************************************************************
|
||||
* Function name: rom_cache_function_set
|
||||
* Description : Configures the rom cache function.
|
||||
* Arguments : none
|
||||
* Return value : none
|
||||
***********************************************************************************************************************/
|
||||
static void rom_cache_function_set (void)
|
||||
{
|
||||
#if BSP_CFG_NONCACHEABLE_AREA0_ENABLE == 1
|
||||
rom_cache_noncacheable_area0_set();
|
||||
#endif /* BSP_CFG_NONCACHEABLE_AREA0_ENABLE == 1 */
|
||||
|
||||
#if BSP_CFG_NONCACHEABLE_AREA1_ENABLE == 1
|
||||
rom_cache_noncacheable_area1_set();
|
||||
#endif /* BSP_CFG_NONCACHEABLE_AREA1_ENABLE == 1 */
|
||||
|
||||
/* Invalidates the contents of the ROM cache. */
|
||||
FLASH.ROMCIV.WORD = 0x0001;
|
||||
|
||||
/* Enables the ROM cache. */
|
||||
FLASH.ROMCE.WORD = 0x0001;
|
||||
} /* End of function rom_cache_function_set() */
|
||||
|
||||
#if BSP_CFG_NONCACHEABLE_AREA0_ENABLE == 1
|
||||
/***********************************************************************************************************************
|
||||
* Function name: rom_cache_noncacheable_area0_set
|
||||
* Description : Configures non-cacheable area 0 of the ROM cache function.
|
||||
* Arguments : none
|
||||
* Return value : none
|
||||
***********************************************************************************************************************/
|
||||
static void rom_cache_noncacheable_area0_set (void)
|
||||
{
|
||||
/* Used to specify the value written to the NCRC0 register. */
|
||||
uint32_t tmp_ncrc = 0;
|
||||
|
||||
/* Disables the ROM cache. */
|
||||
FLASH.ROMCE.WORD = 0x0000;
|
||||
|
||||
/* Makes settings to the NCRG0 register. */
|
||||
#if (BSP_CFG_NONCACHEABLE_AREA0_ADDR >= 0xFFC00000) \
|
||||
&& ((BSP_CFG_NONCACHEABLE_AREA0_ADDR & 0x0000000F) == 0x00000000)
|
||||
FLASH.NCRG0 = BSP_CFG_NONCACHEABLE_AREA0_ADDR;
|
||||
#else
|
||||
#error "Error! Invalid setting for BSP_CFG_NONCACHEABLE_AREA0_ADDR in r_bsp_config.h"
|
||||
#endif
|
||||
|
||||
/* Sets the value of the NCSZ bits. */
|
||||
#if BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0x0
|
||||
/* Do nothing since NCRC0 bits should be 0. */
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0x1
|
||||
tmp_ncrc |= 0x00000010;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0x2
|
||||
tmp_ncrc |= 0x00000030;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0x3
|
||||
tmp_ncrc |= 0x00000070;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0x4
|
||||
tmp_ncrc |= 0x000000F0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0x5
|
||||
tmp_ncrc |= 0x000001F0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0x6
|
||||
tmp_ncrc |= 0x000003F0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0x7
|
||||
tmp_ncrc |= 0x000007F0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0x8
|
||||
tmp_ncrc |= 0x00000FF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0x9
|
||||
tmp_ncrc |= 0x00001FF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0xA
|
||||
tmp_ncrc |= 0x00003FF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0xB
|
||||
tmp_ncrc |= 0x00007FF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0xC
|
||||
tmp_ncrc |= 0x0000FFF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0xD
|
||||
tmp_ncrc |= 0x0001FFF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0xE
|
||||
tmp_ncrc |= 0x0003FFF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0xF
|
||||
tmp_ncrc |= 0x0007FFF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0x10
|
||||
tmp_ncrc |= 0x000FFFF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA0_SIZE == 0x11
|
||||
tmp_ncrc |= 0x001FFFF0;
|
||||
#else
|
||||
#error "Error! Invalid setting for BSP_CFG_NONCACHEABLE_AREA0_SIZE in r_bsp_config.h"
|
||||
#endif
|
||||
|
||||
/* Sets the value of the NC1E bits. */
|
||||
#if BSP_CFG_NONCACHEABLE_AREA0_IF_ENABLE == 1
|
||||
tmp_ncrc |= 0x00000002;
|
||||
#endif
|
||||
|
||||
/* Sets the value of the NC2E bits. */
|
||||
#if BSP_CFG_NONCACHEABLE_AREA0_OA_ENABLE == 1
|
||||
tmp_ncrc |= 0x00000004;
|
||||
#endif
|
||||
|
||||
/* Sets the value of the NC3E bits. */
|
||||
#if BSP_CFG_NONCACHEABLE_AREA0_DM_ENABLE == 1
|
||||
tmp_ncrc |= 0x00000008;
|
||||
#endif
|
||||
|
||||
/* Makes settings to the NCRC0 register. */
|
||||
FLASH.NCRC0.LONG = tmp_ncrc;
|
||||
} /* End of function rom_cache_noncacheable_area0_set() */
|
||||
#endif /* BSP_CFG_NONCACHEABLE_AREA0_ENABLE == 1 */
|
||||
|
||||
#if BSP_CFG_NONCACHEABLE_AREA1_ENABLE == 1
|
||||
/***********************************************************************************************************************
|
||||
* Function name: rom_cache_noncacheable_area1_set
|
||||
* Description : Configures non-cacheable area 1 of the ROM cache function.
|
||||
* Arguments : none
|
||||
* Return value : none
|
||||
***********************************************************************************************************************/
|
||||
static void rom_cache_noncacheable_area1_set (void)
|
||||
{
|
||||
/* Used to specify the value written to the NCRC1 register. */
|
||||
uint32_t tmp_ncrc = 0;
|
||||
|
||||
/* Disables the ROM cache. */
|
||||
FLASH.ROMCE.WORD = 0x0000;
|
||||
|
||||
/* Makes settings to the NCRG1 register. */
|
||||
#if (BSP_CFG_NONCACHEABLE_AREA1_ADDR >= 0xFFC00000) \
|
||||
&& ((BSP_CFG_NONCACHEABLE_AREA1_ADDR & 0x0000000F) == 0x00000000)
|
||||
FLASH.NCRG1 = BSP_CFG_NONCACHEABLE_AREA1_ADDR;
|
||||
#else
|
||||
#error "Error! Invalid setting for BSP_CFG_NONCACHEABLE_AREA1_ADDR in r_bsp_config.h"
|
||||
#endif
|
||||
|
||||
/* Sets the value of the NCSZ bits. */
|
||||
#if BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0x0
|
||||
/* Do nothing since NCRC1 bits should be 0. */
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0x1
|
||||
tmp_ncrc |= 0x00000010;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0x2
|
||||
tmp_ncrc |= 0x00000030;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0x3
|
||||
tmp_ncrc |= 0x00000070;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0x4
|
||||
tmp_ncrc |= 0x000000F0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0x5
|
||||
tmp_ncrc |= 0x000001F0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0x6
|
||||
tmp_ncrc |= 0x000003F0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0x7
|
||||
tmp_ncrc |= 0x000007F0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0x8
|
||||
tmp_ncrc |= 0x00000FF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0x9
|
||||
tmp_ncrc |= 0x00001FF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0xA
|
||||
tmp_ncrc |= 0x00003FF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0xB
|
||||
tmp_ncrc |= 0x00007FF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0xC
|
||||
tmp_ncrc |= 0x0000FFF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0xD
|
||||
tmp_ncrc |= 0x0001FFF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0xE
|
||||
tmp_ncrc |= 0x0003FFF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0xF
|
||||
tmp_ncrc |= 0x0007FFF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0x10
|
||||
tmp_ncrc |= 0x000FFFF0;
|
||||
#elif BSP_CFG_NONCACHEABLE_AREA1_SIZE == 0x11
|
||||
tmp_ncrc |= 0x001FFFF0;
|
||||
#else
|
||||
#error "Error! Invalid setting for BSP_CFG_NONCACHEABLE_AREA1_SIZE in r_bsp_config.h"
|
||||
#endif
|
||||
|
||||
/* Sets the value of the NC1E bits. */
|
||||
#if BSP_CFG_NONCACHEABLE_AREA1_IF_ENABLE == 1
|
||||
tmp_ncrc |= 0x00000002;
|
||||
#endif
|
||||
|
||||
/* Sets the value of the NC2E bits. */
|
||||
#if BSP_CFG_NONCACHEABLE_AREA1_OA_ENABLE == 1
|
||||
tmp_ncrc |= 0x00000004;
|
||||
#endif
|
||||
|
||||
/* Sets the value of the NC3E bits. */
|
||||
#if BSP_CFG_NONCACHEABLE_AREA1_DM_ENABLE == 1
|
||||
tmp_ncrc |= 0x00000008;
|
||||
#endif
|
||||
|
||||
/* Makes settings to the NCRC1 register. */
|
||||
FLASH.NCRC1.LONG = tmp_ncrc;
|
||||
} /* End of function rom_cache_noncacheable_area1_set() */
|
||||
#endif /* BSP_CFG_NONCACHEABLE_AREA1_ENABLE == 1 */
|
||||
#endif /* BSP_CFG_ROM_CACHE_ENABLE == 1 */
|
||||
#endif /* BSP_CFG_STARTUP_DISABLE == 0 */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function name: output_ports_configure
|
||||
* Description : Configures the port and pin direction settings, and sets the pin outputs to a safe level.
|
||||
* Arguments : none
|
||||
* Return value : none
|
||||
***********************************************************************************************************************/
|
||||
static void output_ports_configure(void)
|
||||
{
|
||||
/* Add code here to setup additional output ports */
|
||||
R_BSP_NOP();
|
||||
} /* End of function output_ports_configure() */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function name: interrupts_configure
|
||||
* Description : Configures interrupts used
|
||||
* Arguments : none
|
||||
* Return value : none
|
||||
***********************************************************************************************************************/
|
||||
static void interrupts_configure(void)
|
||||
{
|
||||
/* Add code here to setup additional interrupts */
|
||||
R_BSP_NOP();
|
||||
} /* End of function interrupts_configure() */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function name: peripheral_modules_enable
|
||||
* Description : Enables and configures peripheral devices on the MCU
|
||||
* Arguments : none
|
||||
* Return value : none
|
||||
***********************************************************************************************************************/
|
||||
static void peripheral_modules_enable(void)
|
||||
{
|
||||
/* Add code here to enable peripherals used by the application */
|
||||
#if BSP_CFG_CONFIGURATOR_SELECT == 1
|
||||
/* Smart Configurator initialization function */
|
||||
R_Systeminit();
|
||||
#endif
|
||||
} /* End of function peripheral_modules_enable() */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function name: bsp_adc_initial_configure
|
||||
* Description : Configures the ADC initial settings
|
||||
* Arguments : none
|
||||
* Return value : none
|
||||
* Note : This function should be called when the PSW.I bit is 0 (interrupt disabled).
|
||||
* This function should be called when the ADCSR.ADST bit is 0.
|
||||
***********************************************************************************************************************/
|
||||
static void bsp_adc_initial_configure(void)
|
||||
{
|
||||
uint32_t tmp_mstp;
|
||||
|
||||
/* Protect off. */
|
||||
SYSTEM.PRCR.WORD = 0xA502;
|
||||
|
||||
/* Store the value of the MSTPCR. */
|
||||
tmp_mstp = MSTP(S12AD1);
|
||||
|
||||
/* Release from the module-stop state */
|
||||
MSTP(S12AD1) = 0;
|
||||
|
||||
/* Writing to the A/D conversion time setting register is enabled. */
|
||||
S12AD1.ADSAMPR.BYTE = 0x03;
|
||||
|
||||
/* Sets conversion time for middle-speed for S12AD unit 1. */
|
||||
S12AD1.ADSAM.WORD = 0x0020;
|
||||
|
||||
/* Writing to the A/D conversion time setting register is disabled. */
|
||||
S12AD1.ADSAMPR.BYTE = 0x02;
|
||||
|
||||
/* Restore the value of the MSTPCR. */
|
||||
MSTP(S12AD1) = tmp_mstp;
|
||||
|
||||
/* Protect on. */
|
||||
SYSTEM.PRCR.WORD = 0xA500;
|
||||
} /* End of function bsp_adc_initial_configure() */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function name: bsp_bsc_initial_configure
|
||||
* Description : Configures the BUS initial settings
|
||||
* Arguments : none
|
||||
* Return value : none
|
||||
***********************************************************************************************************************/
|
||||
static void bsp_bsc_initial_configure(void)
|
||||
{
|
||||
st_bsp_bsc_t bsp_bsc;
|
||||
|
||||
/* Setting priority when bus right request contention occurs. */
|
||||
bsp_bsc.ebmapcr.u_long = BSC.EBMAPCR.LONG;
|
||||
bsp_bsc.ebmapcr.bit.pr1sel = BSP_CFG_EBMAPCR_1ST_PRIORITY;
|
||||
bsp_bsc.ebmapcr.bit.pr2sel = BSP_CFG_EBMAPCR_2ND_PRIORITY;
|
||||
bsp_bsc.ebmapcr.bit.pr3sel = BSP_CFG_EBMAPCR_3RD_PRIORITY;
|
||||
bsp_bsc.ebmapcr.bit.pr4sel = BSP_CFG_EBMAPCR_4TH_PRIORITY;
|
||||
bsp_bsc.ebmapcr.bit.pr5sel = BSP_CFG_EBMAPCR_5TH_PRIORITY;
|
||||
|
||||
/* Set to EBMAPCR register */
|
||||
BSC.EBMAPCR.LONG = bsp_bsc.ebmapcr.u_long;
|
||||
} /* End of function bsp_bsc_initial_configure() */
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : hwsetup.h
|
||||
* Description : Hardware setup header file.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 08.10.2019 1.00 First Release
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
/* Multiple inclusion prevention macro */
|
||||
#ifndef HWSETUP_H
|
||||
#define HWSETUP_H
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Exported global functions (to be accessed by other files)
|
||||
***********************************************************************************************************************/
|
||||
void hardware_setup(void); //r_bsp internal function. DO NOT CALL.
|
||||
|
||||
/* End of multiple inclusion prevention macro */
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_bsp.h
|
||||
* H/W Platform : GENERIC_RX72N
|
||||
* Description : Has the header files that should be included for this platform.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 08.10.2019 1.00 First Release
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/* Make sure that no other platforms have already been defined. Do not touch this! */
|
||||
#ifdef PLATFORM_DEFINED
|
||||
#error "Error - Multiple platforms defined in platform.h!"
|
||||
#else
|
||||
#define PLATFORM_DEFINED
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/***********************************************************************************************************************
|
||||
INCLUDE APPROPRIATE MCU AND BOARD FILES
|
||||
***********************************************************************************************************************/
|
||||
#include "mcu/all/r_bsp_common.h"
|
||||
#include "r_bsp_config.h"
|
||||
#include "mcu/all/r_rx_compiler.h"
|
||||
|
||||
#include "r_bsp_interrupt_config.h"
|
||||
|
||||
#include "mcu/all/lowlvl.h"
|
||||
#include "mcu/all/lowsrc.h"
|
||||
#include "mcu/all/r_bsp_mcu_startup.h"
|
||||
|
||||
#if defined(__CCRX__)
|
||||
#include "mcu/rx72n/register_access/ccrx/iodefine.h"
|
||||
#elif defined(__GNUC__)
|
||||
#include "mcu/rx72n/register_access/gnuc/iodefine.h"
|
||||
#elif defined(__ICCRX__)
|
||||
#include "mcu/rx72n/register_access/iccrx/iodefine.h"
|
||||
#endif /* defined(__CCRX__), defined(__GNUC__), defined(__ICCRX__) */
|
||||
#include "mcu/rx72n/r_bsp_cpu.h"
|
||||
#include "mcu/rx72n/r_bsp_locking.h"
|
||||
#include "mcu/rx72n/mcu_clocks.h"
|
||||
#include "mcu/rx72n/mcu_info.h"
|
||||
#include "mcu/rx72n/mcu_init.h"
|
||||
#include "mcu/rx72n/mcu_interrupts.h"
|
||||
#include "mcu/rx72n/mcu_locks.h"
|
||||
#include "mcu/rx72n/mcu_mapped_interrupts_private.h"
|
||||
#include "mcu/rx72n/mcu_mapped_interrupts.h"
|
||||
#include "mcu/rx72n/vecttbl.h"
|
||||
|
||||
#include "board/generic_rx72n/hwsetup.h"
|
||||
|
||||
#include "mcu/all/r_bsp_interrupts.h"
|
||||
#include "mcu/all/r_bsp_software_interrupt.h"
|
||||
#include "mcu/all/r_rx_intrinsic_functions.h"
|
||||
#include "mcu/all/r_rtos.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef BSP_BOARD_GENERIC_RX72N
|
||||
#define BSP_BOARD_GENERIC_RX72N
|
||||
|
||||
#endif /* BSP_BOARD_GENERIC_RX72N */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,222 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_bsp_interrupt_config.h
|
||||
* Description : This module maps Interrupt A & B interrupts. More information on how this is done is given below.
|
||||
***********************************************************************************************************************/
|
||||
/**********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 08.10.2019 1.00 First Release
|
||||
***********************************************************************************************************************/
|
||||
#ifndef R_BSP_INTERRUPT_CONFIG_REF_HEADER_FILE
|
||||
#define R_BSP_INTERRUPT_CONFIG_REF_HEADER_FILE
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/* If you wish to use one of the interrupt below then set the appropriate configuration macro to the vector number you
|
||||
* wish to use for that interrupt. For example, if you want to use the RTC carry interrupt (CUP) at vector 176 then you
|
||||
* would do the following:
|
||||
*
|
||||
* #define BSP_MAPPED_INT_CFG_B_VECT_RTC_CUP 176
|
||||
*/
|
||||
|
||||
/* Interrupt B Sources.
|
||||
* -Valid vector numbers are 128-207.
|
||||
* -There are more vector slots for B sources than actual B sources. By default none of the CAN2 interrupts are
|
||||
* mapped.
|
||||
* -If using the 'TPU1, TGI1A' interrupt it must be vector 144 or 145. It is set to 144 by default.
|
||||
* -If a peripheral interrupt is going to be used to wake up the MCU from All-Module Clock Stop Mode then it must be
|
||||
* in a vector between 146 to 157. Peripheral interrupts that can do this are TMR interrupts and the 'USB0, USBI0'
|
||||
* interrupt. By default the TMR interrupts are chosen since there are 12 of them and there are 12 slots.
|
||||
*/
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CMT2_CMI2 128
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CMT3_CMI3 129
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TMR0_CMIA0 146
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TMR0_CMIB0 147
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TMR0_OVI0 148
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TMR1_CMIA1 149
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TMR1_CMIB1 150
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TMR1_OVI1 151
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TMR2_CMIA2 152
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TMR2_CMIB2 153
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TMR2_OVI2 154
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TMR3_CMIA3 155
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TMR3_CMIB3 156
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TMR3_OVI3 157
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU0_TGI0A 130
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU0_TGI0B 131
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU0_TGI0C 132
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU0_TGI0D 133
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU0_TCI0V 134
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU1_TGI1A 144
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU1_TGI1B 135
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU1_TCI1V 136
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU1_TCI1U 137
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU2_TGI2A 138
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU2_TGI2B 139
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU2_TCI2V 140
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU2_TCI2U 141
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU3_TGI3A 142
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU3_TGI3B 143
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU3_TGI3C 145
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU3_TGI3D 158
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU3_TCI3V 159
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU4_TGI4A 160
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU4_TGI4B 161
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU4_TCI4V 162
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU4_TCI4U 163
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU5_TGI5A 164
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU5_TGI5B 165
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU5_TCI5V 166
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TPU5_TCI5U 167
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CMTW0_IC0I0 168
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CMTW0_IC1I0 169
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CMTW0_OC0I0 170
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CMTW0_OC1I0 171
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CMTW1_IC0I1 172
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CMTW1_IC1I1 173
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CMTW1_OC0I1 174
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CMTW1_OC1I1 175
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_RTC_CUP 176
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CAN0_RXF0 177
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CAN0_TXF0 178
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CAN0_RXM0 179
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CAN0_TXM0 180
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CAN1_RXF1 181
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CAN1_TXF1 182
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CAN1_RXM1 183
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CAN1_TXM1 184
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CAN2_RXF2
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CAN2_TXF2
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CAN2_RXM2
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_CAN2_TXM2
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_USB0_USBI0 185
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_S12ADC0_S12ADI0 186
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_S12ADC0_S12GBADI0 187
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_S12ADC0_S12GCADI0 188
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_S12ADC1_S12ADI1 189
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_S12ADC1_S12GBADI1 190
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_S12ADC1_S12GCADI1 191
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_ELC_ELSR18I 192
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_ELC_ELSR19I 193
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TSIP_PROC_BUSY 194
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TSIP_ROMOK 195
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TSIP_LONG_PLG 196
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TSIP_TEST_BUSY 197
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TSIP_WRRDY0 198
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TSIP_WRRDY1 199
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TSIP_WRRDY4 200
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TSIP_RDRDY0 201
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TSIP_RDRDY1 202
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TSIP_INTEGRATE_WRRDY 203
|
||||
#define BSP_MAPPED_INT_CFG_B_VECT_TSIP_INTEGRATE_RDRDY 204
|
||||
|
||||
/* Interrupt A Sources.
|
||||
* -Valid vector numbers are 208-255.
|
||||
* -There are more A sources than A vector slots. By default none of the GPTW interrupts and the ESC interrupts are
|
||||
* mapped.
|
||||
* -If using the 'MTU1, TGI1A' interrupt it must be vector 208 or 209. It is set to 208 by default.
|
||||
*/
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU0_TGIA0 209
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU0_TGIB0 210
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU0_TGIC0 211
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU0_TGID0 212
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU0_TCIV0 213
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU0_TGIE0 214
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU0_TGIF0 215
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU1_TGIA1 208
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU1_TGIB1 216
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU1_TCIV1 217
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU1_TCIU1 218
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU2_TGIA2 219
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU2_TGIB2 220
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU2_TCIV2 221
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU2_TCIU2 222
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU3_TGIA3 223
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU3_TGIB3 224
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU3_TGIC3 225
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU3_TGID3 226
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU3_TCIV3 227
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU4_TGIA4 228
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU4_TGIB4 229
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU4_TGIC4 230
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU4_TGID4 231
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU4_TCIV4 232
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU5_TGIU5 233
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU5_TGIV5 234
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU5_TGIW5 235
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU6_TGIA6 236
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU6_TGIB6 237
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU6_TGIC6 238
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU6_TGID6 239
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU6_TCIV6 240
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU7_TGIA7 241
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU7_TGIB7 242
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU7_TGIC7 243
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU7_TGID7 244
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU7_TCIV7 245
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU8_TGIA8 246
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU8_TGIB8 247
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU8_TGIC8 248
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU8_TGID8 249
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_MTU8_TCIV8 250
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW0_GTCIA0
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW0_GTCIB0
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW0_GTCIC0
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW0_GTCID0
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW0_GDTE0
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW0_GTCIE0
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW0_GTCIF0
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW0_GTCIV0
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW0_GTCIU0
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW1_GTCIA1
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW1_GTCIB1
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW1_GTCIC1
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW1_GTCID1
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW1_GDTE1
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW1_GTCIE1
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW1_GTCIF1
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW1_GTCIV1
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW1_GTCIU1
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW2_GTCIA2
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW2_GTCIB2
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW2_GTCIC2
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW2_GTCID2
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW2_GDTE2
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW2_GTCIE2
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW2_GTCIF2
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW2_GTCIV2
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW2_GTCIU2
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW3_GTCIA3
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW3_GTCIB3
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW3_GTCIC3
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW3_GTCID3
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW3_GDTE3
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW3_GTCIE3
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW3_GTCIF3
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW3_GTCIV3
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_GPTW3_GTCIU3
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_EPTPC_IPLS 251
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_PMGI0_PMGI0I 252
|
||||
#define BSP_MAPPED_INT_CFG_A_VECT_PMGI1_PMGI1I 253
|
||||
|
||||
#endif /* R_BSP_INTERRUPT_CONFIG_REF_HEADER_FILE */
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_bsp.h
|
||||
* Description : Has the header files that should be included for this platform.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 13.01.2012 1.00 First Release
|
||||
* : 27.06.2012 1.10 Updated with new information to reflect udpated r_bsp structure.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#ifndef BSP_BOARD_USER
|
||||
#define BSP_BOARD_USER
|
||||
|
||||
/* Make sure that no other platforms have already been defined. Do not touch this! */
|
||||
#ifdef PLATFORM_DEFINED
|
||||
#error "Error - Multiple platforms defined in platform.h!"
|
||||
#else
|
||||
#define PLATFORM_DEFINED
|
||||
#endif
|
||||
|
||||
/***********************************************************************************************************************
|
||||
INCLUDE APPROPRIATE MCU AND BOARD FILES
|
||||
***********************************************************************************************************************/
|
||||
/* This is a user defined board. Start off by:
|
||||
1)Copy and rename one of the 'board' folders that most closely matches your system (same MCU Series and Group).
|
||||
2)Substitute in your MCU Group for the *MCU Group* option in the #include below for mcu_info.h.
|
||||
3)Copy the other #includes from the r_bsp.h in the 'board' folder that you copied earlier.
|
||||
4)Configure the BSP for your board by modifying the r_bsp_config_reference.h.
|
||||
5)Copy r_bsp_config_reference.h to your project directory and rename it r_bsp_config.h.
|
||||
You can also add your own include files here as well. */
|
||||
#include "r_bsp_config.h"
|
||||
#include "mcu/*MCU Group*/mcu_info.h"
|
||||
|
||||
#endif /* BSP_BOARD_USER */
|
||||
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : dbsct.c
|
||||
* Description : Defines the structure of the ROM and RAM areas.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 28.02.2019 3.00 Merged processing of all devices.
|
||||
* Added support for GNUC and ICCRX.
|
||||
* Fixed coding style.
|
||||
* Added definition for section of D_8, B_8, and C_8.
|
||||
* : 08.10.2019 3.01 Added section for Renesas RTOS (RI600V4 or RI600PX).
|
||||
* : 14.02.2020 3.02 Corrected pragma declaration of unpack.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#if defined(__CCRX__)
|
||||
/***********************************************************************************************************************
|
||||
Includes <System Includes> , "Project Includes"
|
||||
***********************************************************************************************************************/
|
||||
#include "platform.h"
|
||||
|
||||
/* When using the user startup program, disable the following code. */
|
||||
#if BSP_CFG_STARTUP_DISABLE == 0
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/* Preprocessor directive */
|
||||
#pragma unpack
|
||||
|
||||
/* MCU ROM and RAM structure definition */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t *rom_s; /* Start address of the initialized data section in ROM */
|
||||
uint8_t *rom_e; /* End address of the initialized data section in ROM */
|
||||
uint8_t *ram_s; /* Start address of the initialized data section in RAM */
|
||||
} st_dtbl_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t *b_s; /* Start address of non-initialized data section */
|
||||
uint8_t *b_e; /* End address of non-initialized data section */
|
||||
} st_btbl_t;
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Exported global variables (to be accessed by other files)
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/* Section start */
|
||||
#pragma section C C$DSEC
|
||||
|
||||
extern st_dtbl_t const _DTBL[] = {
|
||||
#ifdef BSP_MCU_DOUBLE_PRECISION_FLOATING_POINT
|
||||
{ __sectop("D_8"), __secend("D_8"), __sectop("R_8") },
|
||||
#endif
|
||||
{ __sectop("D"), __secend("D"), __sectop("R") },
|
||||
{ __sectop("D_2"), __secend("D_2"), __sectop("R_2") },
|
||||
{ __sectop("D_1"), __secend("D_1"), __sectop("R_1") }
|
||||
#if (BSP_CFG_RTOS_USED == 4) && (BSP_CFG_RENESAS_RTOS_USED == RENESAS_RI600PX)
|
||||
,{ __sectop("DRI_ROM"), __secend("DRI_ROM"), __sectop("RRI_RAM") }
|
||||
#endif /* Renesas RI600PX */
|
||||
};
|
||||
|
||||
/* Section start */
|
||||
#pragma section C C$BSEC
|
||||
|
||||
extern st_btbl_t const _BTBL[] = {
|
||||
#ifdef BSP_MCU_DOUBLE_PRECISION_FLOATING_POINT
|
||||
{ __sectop("B_8"), __secend("B_8") },
|
||||
#endif
|
||||
{ __sectop("B"), __secend("B") },
|
||||
{ __sectop("B_2"), __secend("B_2") },
|
||||
{ __sectop("B_1"), __secend("B_1") }
|
||||
#if (BSP_CFG_RTOS_USED == 4) && (BSP_CFG_RENESAS_RTOS_USED == RENESAS_RI600V4)
|
||||
,{ __sectop("BRI_RAM"), __secend("BRI_RAM") }
|
||||
#endif /* Renesas RI600V4 */
|
||||
};
|
||||
|
||||
/* Section start */
|
||||
#pragma section
|
||||
|
||||
#if (BSP_CFG_RTOS_USED == 4) && (BSP_CFG_RENESAS_RTOS_USED == RENESAS_RI600PX)
|
||||
#pragma section C CS
|
||||
#endif /* Renesas RI600PX */
|
||||
|
||||
/* CTBL prevents excessive output of L1100 messages when linking.
|
||||
Even if CTBL is deleted, the operation of the program does not change. */
|
||||
uint8_t * const _CTBL[] = {
|
||||
__sectop("C_1"), __sectop("C_2"), __sectop("C"),
|
||||
#ifdef BSP_MCU_DOUBLE_PRECISION_FLOATING_POINT
|
||||
__sectop("C_8"),
|
||||
#endif
|
||||
__sectop("W_1"), __sectop("W_2"), __sectop("W")
|
||||
};
|
||||
|
||||
/* Preprocessor directive */
|
||||
#pragma packoption
|
||||
|
||||
/* This is to ensure compatibility with new L section in version 1.1 and up of the RXC compiler. Do not remove! */
|
||||
#pragma section C L
|
||||
const uint32_t deadSpace = 0xDEADDEAD;
|
||||
#pragma section
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Private global variables and functions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#endif /* BSP_CFG_STARTUP_DISABLE == 0 */
|
||||
|
||||
#endif /* defined(__CCRX__) */
|
||||
|
||||
@@ -0,0 +1,283 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : linker_script_rvectors.inc
|
||||
* Description : This module is used to set the interrupt table.
|
||||
***********************************************************************************************************************/
|
||||
/**********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 28.02.2019 1.00 First Release
|
||||
***********************************************************************************************************************/
|
||||
|
||||
LONG(DEFINED($tableentry$0$.rvectors) ? $tableentry$0$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$1$.rvectors) ? $tableentry$1$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$2$.rvectors) ? $tableentry$2$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$3$.rvectors) ? $tableentry$3$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$4$.rvectors) ? $tableentry$4$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$5$.rvectors) ? $tableentry$5$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$6$.rvectors) ? $tableentry$6$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$7$.rvectors) ? $tableentry$7$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$8$.rvectors) ? $tableentry$8$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$9$.rvectors) ? $tableentry$9$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$10$.rvectors) ? $tableentry$10$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$11$.rvectors) ? $tableentry$11$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$12$.rvectors) ? $tableentry$12$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$13$.rvectors) ? $tableentry$13$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$14$.rvectors) ? $tableentry$14$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$15$.rvectors) ? $tableentry$15$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$16$.rvectors) ? $tableentry$16$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$17$.rvectors) ? $tableentry$17$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$18$.rvectors) ? $tableentry$18$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$19$.rvectors) ? $tableentry$19$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$20$.rvectors) ? $tableentry$20$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$21$.rvectors) ? $tableentry$21$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$22$.rvectors) ? $tableentry$22$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$23$.rvectors) ? $tableentry$23$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$24$.rvectors) ? $tableentry$24$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$25$.rvectors) ? $tableentry$25$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$26$.rvectors) ? $tableentry$26$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$27$.rvectors) ? $tableentry$27$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$28$.rvectors) ? $tableentry$28$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$29$.rvectors) ? $tableentry$29$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$30$.rvectors) ? $tableentry$30$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$31$.rvectors) ? $tableentry$31$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$32$.rvectors) ? $tableentry$32$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$33$.rvectors) ? $tableentry$33$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$34$.rvectors) ? $tableentry$34$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$35$.rvectors) ? $tableentry$35$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$36$.rvectors) ? $tableentry$36$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$37$.rvectors) ? $tableentry$37$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$38$.rvectors) ? $tableentry$38$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$39$.rvectors) ? $tableentry$39$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$40$.rvectors) ? $tableentry$40$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$41$.rvectors) ? $tableentry$41$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$42$.rvectors) ? $tableentry$42$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$43$.rvectors) ? $tableentry$43$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$44$.rvectors) ? $tableentry$44$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$45$.rvectors) ? $tableentry$45$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$46$.rvectors) ? $tableentry$46$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$47$.rvectors) ? $tableentry$47$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$48$.rvectors) ? $tableentry$48$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$49$.rvectors) ? $tableentry$49$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$50$.rvectors) ? $tableentry$50$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$51$.rvectors) ? $tableentry$51$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$52$.rvectors) ? $tableentry$52$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$53$.rvectors) ? $tableentry$53$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$54$.rvectors) ? $tableentry$54$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$55$.rvectors) ? $tableentry$55$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$56$.rvectors) ? $tableentry$56$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$57$.rvectors) ? $tableentry$57$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$58$.rvectors) ? $tableentry$58$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$59$.rvectors) ? $tableentry$59$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$60$.rvectors) ? $tableentry$60$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$61$.rvectors) ? $tableentry$61$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$62$.rvectors) ? $tableentry$62$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$63$.rvectors) ? $tableentry$63$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$64$.rvectors) ? $tableentry$64$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$65$.rvectors) ? $tableentry$65$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$66$.rvectors) ? $tableentry$66$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$67$.rvectors) ? $tableentry$67$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$68$.rvectors) ? $tableentry$68$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$69$.rvectors) ? $tableentry$69$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$70$.rvectors) ? $tableentry$70$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$71$.rvectors) ? $tableentry$71$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$72$.rvectors) ? $tableentry$72$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$73$.rvectors) ? $tableentry$73$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$74$.rvectors) ? $tableentry$74$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$75$.rvectors) ? $tableentry$75$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$76$.rvectors) ? $tableentry$76$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$77$.rvectors) ? $tableentry$77$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$78$.rvectors) ? $tableentry$78$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$79$.rvectors) ? $tableentry$79$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$80$.rvectors) ? $tableentry$80$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$81$.rvectors) ? $tableentry$81$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$82$.rvectors) ? $tableentry$82$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$83$.rvectors) ? $tableentry$83$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$84$.rvectors) ? $tableentry$84$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$85$.rvectors) ? $tableentry$85$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$86$.rvectors) ? $tableentry$86$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$87$.rvectors) ? $tableentry$87$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$88$.rvectors) ? $tableentry$88$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$89$.rvectors) ? $tableentry$89$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$90$.rvectors) ? $tableentry$90$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$91$.rvectors) ? $tableentry$91$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$92$.rvectors) ? $tableentry$92$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$93$.rvectors) ? $tableentry$93$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$94$.rvectors) ? $tableentry$94$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$95$.rvectors) ? $tableentry$95$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$96$.rvectors) ? $tableentry$96$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$97$.rvectors) ? $tableentry$97$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$98$.rvectors) ? $tableentry$98$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$99$.rvectors) ? $tableentry$99$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$100$.rvectors) ? $tableentry$100$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$101$.rvectors) ? $tableentry$101$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$102$.rvectors) ? $tableentry$102$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$103$.rvectors) ? $tableentry$103$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$104$.rvectors) ? $tableentry$104$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$105$.rvectors) ? $tableentry$105$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$106$.rvectors) ? $tableentry$106$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$107$.rvectors) ? $tableentry$107$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$108$.rvectors) ? $tableentry$108$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$109$.rvectors) ? $tableentry$109$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$110$.rvectors) ? $tableentry$110$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$111$.rvectors) ? $tableentry$111$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$112$.rvectors) ? $tableentry$112$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$113$.rvectors) ? $tableentry$113$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$114$.rvectors) ? $tableentry$114$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$115$.rvectors) ? $tableentry$115$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$116$.rvectors) ? $tableentry$116$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$117$.rvectors) ? $tableentry$117$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$118$.rvectors) ? $tableentry$118$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$119$.rvectors) ? $tableentry$119$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$120$.rvectors) ? $tableentry$120$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$121$.rvectors) ? $tableentry$121$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$122$.rvectors) ? $tableentry$122$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$123$.rvectors) ? $tableentry$123$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$124$.rvectors) ? $tableentry$124$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$125$.rvectors) ? $tableentry$125$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$126$.rvectors) ? $tableentry$126$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$127$.rvectors) ? $tableentry$127$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$128$.rvectors) ? $tableentry$128$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$129$.rvectors) ? $tableentry$129$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$130$.rvectors) ? $tableentry$130$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$131$.rvectors) ? $tableentry$131$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$132$.rvectors) ? $tableentry$132$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$133$.rvectors) ? $tableentry$133$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$134$.rvectors) ? $tableentry$134$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$135$.rvectors) ? $tableentry$135$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$136$.rvectors) ? $tableentry$136$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$137$.rvectors) ? $tableentry$137$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$138$.rvectors) ? $tableentry$138$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$139$.rvectors) ? $tableentry$139$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$140$.rvectors) ? $tableentry$140$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$141$.rvectors) ? $tableentry$141$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$142$.rvectors) ? $tableentry$142$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$143$.rvectors) ? $tableentry$143$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$144$.rvectors) ? $tableentry$144$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$145$.rvectors) ? $tableentry$145$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$146$.rvectors) ? $tableentry$146$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$147$.rvectors) ? $tableentry$147$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$148$.rvectors) ? $tableentry$148$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$149$.rvectors) ? $tableentry$149$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$150$.rvectors) ? $tableentry$150$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$151$.rvectors) ? $tableentry$151$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$152$.rvectors) ? $tableentry$152$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$153$.rvectors) ? $tableentry$153$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$154$.rvectors) ? $tableentry$154$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$155$.rvectors) ? $tableentry$155$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$156$.rvectors) ? $tableentry$156$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$157$.rvectors) ? $tableentry$157$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$158$.rvectors) ? $tableentry$158$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$159$.rvectors) ? $tableentry$159$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$160$.rvectors) ? $tableentry$160$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$161$.rvectors) ? $tableentry$161$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$162$.rvectors) ? $tableentry$162$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$163$.rvectors) ? $tableentry$163$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$164$.rvectors) ? $tableentry$164$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$165$.rvectors) ? $tableentry$165$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$166$.rvectors) ? $tableentry$166$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$167$.rvectors) ? $tableentry$167$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$168$.rvectors) ? $tableentry$168$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$169$.rvectors) ? $tableentry$169$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$170$.rvectors) ? $tableentry$170$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$171$.rvectors) ? $tableentry$171$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$172$.rvectors) ? $tableentry$172$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$173$.rvectors) ? $tableentry$173$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$174$.rvectors) ? $tableentry$174$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$175$.rvectors) ? $tableentry$175$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$176$.rvectors) ? $tableentry$176$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$177$.rvectors) ? $tableentry$177$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$178$.rvectors) ? $tableentry$178$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$179$.rvectors) ? $tableentry$179$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$180$.rvectors) ? $tableentry$180$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$181$.rvectors) ? $tableentry$181$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$182$.rvectors) ? $tableentry$182$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$183$.rvectors) ? $tableentry$183$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$184$.rvectors) ? $tableentry$184$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$185$.rvectors) ? $tableentry$185$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$186$.rvectors) ? $tableentry$186$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$187$.rvectors) ? $tableentry$187$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$188$.rvectors) ? $tableentry$188$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$189$.rvectors) ? $tableentry$189$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$190$.rvectors) ? $tableentry$190$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$191$.rvectors) ? $tableentry$191$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$192$.rvectors) ? $tableentry$192$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$193$.rvectors) ? $tableentry$193$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$194$.rvectors) ? $tableentry$194$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$195$.rvectors) ? $tableentry$195$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$196$.rvectors) ? $tableentry$196$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$197$.rvectors) ? $tableentry$197$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$198$.rvectors) ? $tableentry$198$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$199$.rvectors) ? $tableentry$199$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$200$.rvectors) ? $tableentry$200$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$201$.rvectors) ? $tableentry$201$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$202$.rvectors) ? $tableentry$202$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$203$.rvectors) ? $tableentry$203$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$204$.rvectors) ? $tableentry$204$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$205$.rvectors) ? $tableentry$205$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$206$.rvectors) ? $tableentry$206$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$207$.rvectors) ? $tableentry$207$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$208$.rvectors) ? $tableentry$208$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$209$.rvectors) ? $tableentry$209$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$210$.rvectors) ? $tableentry$210$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$211$.rvectors) ? $tableentry$211$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$212$.rvectors) ? $tableentry$212$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$213$.rvectors) ? $tableentry$213$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$214$.rvectors) ? $tableentry$214$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$215$.rvectors) ? $tableentry$215$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$216$.rvectors) ? $tableentry$216$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$217$.rvectors) ? $tableentry$217$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$218$.rvectors) ? $tableentry$218$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$219$.rvectors) ? $tableentry$219$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$220$.rvectors) ? $tableentry$220$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$221$.rvectors) ? $tableentry$221$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$222$.rvectors) ? $tableentry$222$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$223$.rvectors) ? $tableentry$223$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$224$.rvectors) ? $tableentry$224$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$225$.rvectors) ? $tableentry$225$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$226$.rvectors) ? $tableentry$226$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$227$.rvectors) ? $tableentry$227$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$228$.rvectors) ? $tableentry$228$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$229$.rvectors) ? $tableentry$229$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$230$.rvectors) ? $tableentry$230$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$231$.rvectors) ? $tableentry$231$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$232$.rvectors) ? $tableentry$232$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$233$.rvectors) ? $tableentry$233$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$234$.rvectors) ? $tableentry$234$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$235$.rvectors) ? $tableentry$235$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$236$.rvectors) ? $tableentry$236$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$237$.rvectors) ? $tableentry$237$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$238$.rvectors) ? $tableentry$238$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$239$.rvectors) ? $tableentry$239$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$240$.rvectors) ? $tableentry$240$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$241$.rvectors) ? $tableentry$241$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$242$.rvectors) ? $tableentry$242$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$243$.rvectors) ? $tableentry$243$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$244$.rvectors) ? $tableentry$244$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$245$.rvectors) ? $tableentry$245$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$246$.rvectors) ? $tableentry$246$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$247$.rvectors) ? $tableentry$247$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$248$.rvectors) ? $tableentry$248$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$249$.rvectors) ? $tableentry$249$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$250$.rvectors) ? $tableentry$250$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$251$.rvectors) ? $tableentry$251$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$252$.rvectors) ? $tableentry$252$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$253$.rvectors) ? $tableentry$253$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$254$.rvectors) ? $tableentry$254$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
LONG(DEFINED($tableentry$255$.rvectors) ? $tableentry$255$.rvectors : DEFINED($tableentry$default$.rvectors) ? $tableentry$default$.rvectors : 0xFFFFFFFF);
|
||||
@@ -0,0 +1,126 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : lowlvl.c
|
||||
* Description : Functions to support stream I/O to the E1 virtual Console
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 28.02.2019 3.00 Merged processing of all devices.
|
||||
* Fixed coding style.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes <System Includes> , "Project Includes"
|
||||
***********************************************************************************************************************/
|
||||
#include "platform.h"
|
||||
|
||||
/* When using the user startup program, disable the following code. */
|
||||
#if BSP_CFG_STARTUP_DISABLE == 0
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
#define BSP_PRV_E1_DBG_PORT (*(volatile st_dbg_t R_BSP_EVENACCESS_SFR *)0x84080)
|
||||
#define BSP_PRV_TXFL0EN (0x00000100) /* debug tx flow control bit */
|
||||
#define BSP_PRV_RXFL0EN (0x00001000) /* debug RX flow control bit */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
typedef struct
|
||||
{
|
||||
uint32_t tx_data; /* Debug Virtual Console TX data */
|
||||
char wk1[12]; /* spacer */
|
||||
uint32_t rx_data; /* Debug Virtual Console RX data */
|
||||
char wk2[44]; /* spacer */
|
||||
uint32_t dbgstat; /* Debug Virtual Console Status */
|
||||
} st_dbg_t;
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Exported global variables (to be accessed by other files)
|
||||
***********************************************************************************************************************/
|
||||
#if BSP_CFG_USER_CHARPUT_ENABLED != 0
|
||||
/* If user has indicated they want to provide their own charput function then this is the prototype. */
|
||||
void BSP_CFG_USER_CHARPUT_FUNCTION(char output_char);
|
||||
#endif
|
||||
|
||||
#if BSP_CFG_USER_CHARGET_ENABLED != 0
|
||||
/* If user has indicated they want to provide their own charget function then this is the prototype. */
|
||||
char BSP_CFG_USER_CHARGET_FUNCTION(void);
|
||||
#endif
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Private global variables and functions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function Name: charput
|
||||
* Description : Outputs a character on a serial port
|
||||
* Arguments : character to output
|
||||
* Return Value : none
|
||||
***********************************************************************************************************************/
|
||||
void charput (char output_char)
|
||||
{
|
||||
/* If user has provided their own charput() function, then call it. */
|
||||
#if BSP_CFG_USER_CHARPUT_ENABLED == 1
|
||||
BSP_CFG_USER_CHARPUT_FUNCTION(output_char);
|
||||
#else
|
||||
/* Wait for transmit buffer to be empty */
|
||||
/* WAIT_LOOP */
|
||||
while(0 != (BSP_PRV_E1_DBG_PORT.dbgstat & BSP_PRV_TXFL0EN))
|
||||
{
|
||||
/* do nothing */
|
||||
R_BSP_NOP();
|
||||
}
|
||||
|
||||
/* Write the character out */
|
||||
/* Casting is valid because it matches the type to the right side or argument. */
|
||||
BSP_PRV_E1_DBG_PORT.tx_data = (int32_t)output_char;
|
||||
#endif
|
||||
} /* End of function charput() */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function Name: charget
|
||||
* Description : Gets a character on a serial port
|
||||
* Arguments : none
|
||||
* Return Value : received character
|
||||
***********************************************************************************************************************/
|
||||
char charget (void)
|
||||
{
|
||||
/* If user has provided their own charget() function, then call it. */
|
||||
#if BSP_CFG_USER_CHARGET_ENABLED == 1
|
||||
return BSP_CFG_USER_CHARGET_FUNCTION();
|
||||
#else
|
||||
/* Wait for rx buffer buffer to be ready */
|
||||
/* WAIT_LOOP */
|
||||
while(0 == (BSP_PRV_E1_DBG_PORT.dbgstat & BSP_PRV_RXFL0EN))
|
||||
{
|
||||
/* do nothing */
|
||||
R_BSP_NOP();
|
||||
}
|
||||
|
||||
/* Read data, send back up */
|
||||
/* Casting is valid because it matches the type to the retern value. */
|
||||
return (char)BSP_PRV_E1_DBG_PORT.rx_data;
|
||||
#endif
|
||||
} /* End of function charget() */
|
||||
|
||||
#endif /* BSP_CFG_STARTUP_DISABLE == 0 */
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : lowlvl.h
|
||||
* Description : Functions to support stream I/O
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 28.02.2019 1.00 First Release
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/* Multiple inclusion prevention macro */
|
||||
#ifndef LOWLVL_H
|
||||
#define LOWLVL_H
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes <System Includes> , "Project Includes"
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Exported global variables
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Exported global functions (to be accessed by other files)
|
||||
***********************************************************************************************************************/
|
||||
/* Output one character to standard output (the E1 Virtual Console or a serial port via user own charput function) */
|
||||
void charput (char output_char);
|
||||
|
||||
/* Input one character from standard input (the E1 Virtual Console or a serial port via user own charget function) */
|
||||
char charget (void);
|
||||
|
||||
#endif /* End of multiple inclusion prevention macro */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,79 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : lowsrc.h
|
||||
* Description : Functions to support stream I/O
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 28.02.2019 2.00 Merged processing of all devices.
|
||||
* Added support for GNUC and ICCRX.
|
||||
* Fixed coding style.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes <System Includes> , "Project Includes"
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
/* Multiple inclusion prevention macro */
|
||||
#ifndef LOWSRC_H
|
||||
#define LOWSRC_H
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Exported global variables
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Exported global functions (to be accessed by other files)
|
||||
***********************************************************************************************************************/
|
||||
#if defined(__CCRX__)
|
||||
void init_iolib(void);
|
||||
void close_all(void);
|
||||
long open(const char *name, long mode, long flg);
|
||||
long close(long fileno);
|
||||
long write(long fileno, const unsigned char *buf, long count);
|
||||
long read(long fileno, unsigned char *buf, long count);
|
||||
long lseek(long fileno, long offset, long base);
|
||||
#ifdef _REENTRANT
|
||||
long *errno_addr(void)
|
||||
long wait_sem(long semnum)
|
||||
long signal_sem(long semnum)
|
||||
#endif
|
||||
#endif /* defined(__CCRX__) */
|
||||
|
||||
#if defined(__GNUC__)
|
||||
int write(int fileno, char *buf, int count);
|
||||
int read(int fileno, char *buf, int count);
|
||||
int _write(int fileno, char *buf, int count);
|
||||
int _read(int fileno, char *buf, int count);
|
||||
void close(void);
|
||||
void fstat(void);
|
||||
void isatty(void);
|
||||
void lseek(void);
|
||||
#endif /* defined(__GNUC__) */
|
||||
|
||||
#endif /* End of multiple inclusion prevention macro */
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : mcu_locks.c
|
||||
* Description : This source file has 1 lock per MCU resource.
|
||||
***********************************************************************************************************************/
|
||||
/**********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 28.02.2019 2.00 Merged processing of all devices.
|
||||
* Fixed coding style.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes <System Includes> , "Project Includes"
|
||||
***********************************************************************************************************************/
|
||||
/* Used for getting MCU information to accurately reflect available MCU resources. */
|
||||
#include "platform.h"
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Exported global variables (to be accessed by other files)
|
||||
***********************************************************************************************************************/
|
||||
/* Below are locks for controlling access to MCU resources. */
|
||||
BSP_CFG_USER_LOCKING_TYPE g_bsp_Locks[BSP_NUM_LOCKS];
|
||||
|
||||
@@ -0,0 +1,225 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_bsp_common.c
|
||||
* Description : Implements functions that apply to all r_bsp boards and MCUs.
|
||||
***********************************************************************************************************************/
|
||||
/**********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 06.05.2013 1.00 First Release
|
||||
* : 26.03.2014 1.10 Added R_BSP_SoftwareDelay() function
|
||||
* : 03.09.2014 1.20 Corrected R_BSP_SoftwareDelay() timing when using an RX64M
|
||||
* : 30.09.2015 1.30 Added RX23T
|
||||
* : 01.02.2016 1.40 Added RX24T
|
||||
* Changed the value of the following macro definition.
|
||||
* - OVERHEAD_CYCLES
|
||||
* - OVERHEAD_CYCLES_64
|
||||
* : 29.02.2016 1.50 Added RX230
|
||||
* : 01.10.2016 1.60 Added RX65N
|
||||
* : 22.08.2016 1.70 Added RX24U
|
||||
* : 15.05.2017 1.80 Changed method of selecting the number of CPU cycles required to execute
|
||||
* the delayWait() loop.
|
||||
* : 27.07.2018 1.90 Changed the value of the following macro definition, because added RX66T.
|
||||
* - CPU_CYCLES_PER_LOOP
|
||||
* : 28.02.2019 2.00 Deleted the following definition.
|
||||
* (The following definition moved to the common file (mcu_info.h).)
|
||||
* - CPU_CYCLES_PER_LOOP
|
||||
* Added support for GNUC and ICCRX.
|
||||
* Fixed coding style.
|
||||
* Renamed following macro definitions.
|
||||
* - BSP_PRV_OVERHEAD_CYCLES
|
||||
* - BSP_PRV_OVERHEAD_CYCLES_64
|
||||
* - BSP_PRV_CKSEL_LOCO
|
||||
* Renamed following function.
|
||||
* - delay_wait
|
||||
* : 26.07.2019 2.01 Modified comment of API function to Doxygen style.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes <System Includes> , "Project Includes"
|
||||
***********************************************************************************************************************/
|
||||
/* Get information about current board and MCU. */
|
||||
#include "platform.h"
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
#define BSP_PRV_OVERHEAD_CYCLES (2) /* R_BSP_SoftwareDelay() overhead per call */
|
||||
#define BSP_PRV_OVERHEAD_CYCLES_64 (2) /* R_BSP_SoftwareDelay() overhead per call using 64-bit ints */
|
||||
|
||||
#define BSP_PRV_CKSEL_LOCO (0x0) /* SCKCR3 register setting for LOCO */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Exported global variables (to be accessed by other files)
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Private global variables and functions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/**********************************************************************************************************************
|
||||
* Function Name: R_BSP_GetVersion
|
||||
******************************************************************************************************************//**
|
||||
* @brief Returns the current version of the r_bsp.
|
||||
* @return Version of the r_bsp.
|
||||
* @details This function will return the version of the currently installed r_bsp. The version number is encoded
|
||||
* where the top 2 bytes are the major version number and the bottom 2 bytes are the minor version number. For
|
||||
* example, Version 4.25 would be returned as 0x00040019.
|
||||
*/
|
||||
uint32_t R_BSP_GetVersion (void)
|
||||
{
|
||||
/* These version macros are defined in platform.h. */
|
||||
return ((((uint32_t)R_BSP_VERSION_MAJOR) << 16) | (uint32_t)R_BSP_VERSION_MINOR);
|
||||
} /* End of function R_BSP_GetVersion() */
|
||||
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Function Name: delay_wait
|
||||
* Description : This asm loop executes a known number (5) of CPU cycles. If a value of '4' is passed
|
||||
* in as an argument, then this function would consume 20 CPU cycles before returning.
|
||||
* Arguments : loop_cnt - A single 32-bit value is provided as the number of loops to execute.
|
||||
* Return Value : None
|
||||
***********************************************************************************************************************/
|
||||
R_BSP_PRAGMA_STATIC_INLINE_ASM(delay_wait)
|
||||
void delay_wait (unsigned long loop_cnt)
|
||||
{
|
||||
R_BSP_ASM_INTERNAL_USED(loop_cnt)
|
||||
R_BSP_ASM_BEGIN
|
||||
R_BSP_ASM( BRA.B R_BSP_ASM_LAB_NEXT(0) )
|
||||
R_BSP_ASM( NOP )
|
||||
R_BSP_ASM_LAB(0: )
|
||||
R_BSP_ASM( NOP )
|
||||
R_BSP_ASM( SUB #01H, R1 )
|
||||
R_BSP_ASM( BNE.B R_BSP_ASM_LAB_PREV(0) )
|
||||
R_BSP_ASM_END
|
||||
} /* End of function delay_wait() */
|
||||
|
||||
|
||||
/**********************************************************************************************************************
|
||||
* Function Name: R_BSP_GetIClkFreqHz
|
||||
******************************************************************************************************************//**
|
||||
* @brief Returns the system clock frequency.
|
||||
* @return System clock frequency specified by the r_bsp.
|
||||
* @details This function returns the system clock frequency. For example, when the system clock is set to 120 MHz in
|
||||
* r_bsp_config_h and the r_bsp has completed to specify the clock setting, then even if the user changed the system
|
||||
* clock frequency to 60 MHz, the return value is '60000000'.
|
||||
*/
|
||||
uint32_t R_BSP_GetIClkFreqHz(void)
|
||||
{
|
||||
return get_iclk_freq_hz(); // Get the MCU specific ICLK frequency
|
||||
} /* End of function R_BSP_GetIClkFreqHz() */
|
||||
|
||||
|
||||
/**********************************************************************************************************************
|
||||
* Function Name: R_BSP_SoftwareDelay
|
||||
******************************************************************************************************************//**
|
||||
* @brief Delay the specified duration in units and return.
|
||||
* @param[in] delay The number of 'units' to delay.
|
||||
* @param[in] units The 'base' for the units specified.
|
||||
* @retval true True if delay executed.
|
||||
* @retval false False if delay/units combination resulted in overflow/underflow.
|
||||
* @details This is function that may be called for all MCU targets to implement a specific wait time.
|
||||
* The actual delay time is plus the overhead at a specified duration. The overhead changes under the influence of
|
||||
* the compiler, operating frequency and ROM cache. When the operating frequency is low, or the specified duration in
|
||||
* units of microsecond level, please note that the error becomes large.
|
||||
*/
|
||||
bool R_BSP_SoftwareDelay(uint32_t delay, bsp_delay_units_t units)
|
||||
{
|
||||
volatile uint32_t iclk_rate;
|
||||
volatile uint32_t delay_cycles;
|
||||
volatile uint32_t loop_cnt;
|
||||
volatile uint64_t delay_cycles_64;
|
||||
volatile uint64_t loop_cnt_64;
|
||||
|
||||
#ifdef BSP_CFG_PARAM_CHECKING_ENABLE
|
||||
if ((BSP_DELAY_MICROSECS != units) && (BSP_DELAY_MILLISECS != units) && (BSP_DELAY_SECS != units))
|
||||
{
|
||||
return(false);
|
||||
}
|
||||
#endif
|
||||
|
||||
iclk_rate = R_BSP_GetIClkFreqHz(); /* Get the current ICLK frequency */
|
||||
|
||||
/*
|
||||
* In order to handle all possible combinations of delay/ICLK it is necessary to use 64-bit
|
||||
* integers (not all MCUs have floating point support). However, there is no native hw support
|
||||
* for 64 bit integers so it requires many more clock cycles. This is not an issue if the
|
||||
* requested delay is long enough and the ICLK is fast, but for delays in the low microseconds
|
||||
* and/or a slow ICLK we use 32 bit integers to reduce the overhead cycles of this function
|
||||
* by approximately a third and stand the best chance of achieving the requested delay.
|
||||
*/
|
||||
if ( (BSP_DELAY_MICROSECS == units) &&
|
||||
(delay <= (0xFFFFFFFFUL / iclk_rate)) ) /* Ensure (iclk_rate * delay) will not exceed 32 bits */
|
||||
{
|
||||
delay_cycles = ((iclk_rate * delay) / units);
|
||||
|
||||
if (delay_cycles > BSP_PRV_OVERHEAD_CYCLES)
|
||||
{
|
||||
delay_cycles -= BSP_PRV_OVERHEAD_CYCLES;
|
||||
}
|
||||
else
|
||||
{
|
||||
delay_cycles = 0;
|
||||
}
|
||||
|
||||
loop_cnt = delay_cycles / CPU_CYCLES_PER_LOOP;
|
||||
|
||||
if (0 == loop_cnt)
|
||||
{
|
||||
/* The requested delay is too large/small for the current ICLK. Return false which
|
||||
* also results in the minimum possible delay. */
|
||||
return(false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Casting is valid because it matches the type to the right side or argument. */
|
||||
delay_cycles_64 = (((uint64_t)iclk_rate * (uint64_t)delay) / units);
|
||||
|
||||
if (delay_cycles_64 > BSP_PRV_OVERHEAD_CYCLES_64)
|
||||
{
|
||||
delay_cycles_64 -= BSP_PRV_OVERHEAD_CYCLES_64;
|
||||
}
|
||||
else
|
||||
{
|
||||
delay_cycles = 0;
|
||||
}
|
||||
|
||||
loop_cnt_64 = delay_cycles_64 / CPU_CYCLES_PER_LOOP;
|
||||
|
||||
if ((loop_cnt_64 > 0xFFFFFFFFUL) || (0 == loop_cnt_64))
|
||||
{
|
||||
/* The requested delay is too large/small for the current ICLK. Return false which
|
||||
* also results in the minimum possible delay. */
|
||||
return(false);
|
||||
}
|
||||
|
||||
/* Casting is valid because it matches the type to the right side or argument. */
|
||||
loop_cnt = (uint32_t)loop_cnt_64;
|
||||
}
|
||||
|
||||
delay_wait(loop_cnt);
|
||||
|
||||
return(true);
|
||||
} /* End of function R_BSP_SoftwareDelay() */
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_bsp_common.h
|
||||
* Description : Implements functions that apply to all r_bsp boards and MCUs.
|
||||
***********************************************************************************************************************/
|
||||
/**********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 06.05.2013 1.00 First Release
|
||||
* : 25.06.2013 1.10 Now contains standard includes (stdint.h, stdbool.h, etc) as well as include for
|
||||
* r_typedefs.h when needed.
|
||||
* : 02.07.2013 1.11 Added #include for machine.h.
|
||||
* : 10.02.2014 1.12 Changed minor version to '40'.
|
||||
* : 24.03.2014 1.12 Changed minor version to '60'.
|
||||
* : 14.04.2014 1.12 Added typedef for fit_callback_t.
|
||||
* : 30.09.2015 1.13 Changed Major/Minor version to 3.00
|
||||
* : 30.09.2015 1.14 Changed Minor version to 3.01
|
||||
* : 01.12.2015 1.15 Changed Minor version to 3.10
|
||||
* : 01.02.2016 1.16 Changed Minor version to 3.20
|
||||
* : 29.02.2016 1.17 Changed Minor version to 3.30
|
||||
* : 13.04.2016 1.18 Changed Minor version to 3.31
|
||||
* : 01.10.2016 1.19 Changed Minor version to 3.40
|
||||
* : 04.11.2016 1.20 Changed Minor version to 3.50
|
||||
* : 15.05.2017 1.21 Changed Minor version to 3.60
|
||||
* : 01.11.2017 1.22 Changed Minor version to 3.70
|
||||
* : 01.12.2017 1.23 Changed Minor version to 3.71
|
||||
* : 01.07.2018 1.24 Changed Minor version to 3.80
|
||||
* : 27.07.2018 1.25 Changed Minor version to 3.90.
|
||||
* : 31.08.2018 1.26 Changed Minor version to 3.91.
|
||||
* : 31.10.2018 1.27 Changed Major/Minor version to 4.00.
|
||||
* : 11.01.2019 1.28 Changed Minor version to 4.01.
|
||||
* : 28.02.2019 1.29 Changed Major version to 5.00.
|
||||
* Added the following macro definition.
|
||||
* - INTERNAL_NOT_USED(p)
|
||||
* Added support for GNUC and ICCRX.
|
||||
* Fixed coding style.
|
||||
* : 29.03.2019 1.30 Changed Minor version to 5.10.
|
||||
* : 08.04.2019 1.31 Changed Minor version to 5.20.
|
||||
* : 23.07.2019 1.32 Changed Minor version to 5.21.
|
||||
* : 26.07.2019 1.33 Changed Minor version to 5.30.
|
||||
* : 31.07.2019 1.34 Changed Minor version to 5.40.
|
||||
* : 08.10.2019 1.35 Changed Minor version to 5.50.
|
||||
* : 10.12.2019 1.36 Changed Minor version to 5.51.
|
||||
* : 14.02.2020 1.37 Changed Minor version to 5.52.
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes <System Includes> , "Project Includes"
|
||||
***********************************************************************************************************************/
|
||||
/* C99 (or later) is necessary because r_rx_compiler.h uses Pragma operator and variadic macros.
|
||||
* This means that r_typedefs.h is not used in any case. */
|
||||
#if !defined(__cplusplus) && !defined(CPPAPP)
|
||||
/* All implementation is C99 (or later) */
|
||||
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
#else
|
||||
#error "This version of FIT needs C99 (or later)."
|
||||
#endif
|
||||
#else /* defined(__cplusplus) || defined(CPPAPP) */
|
||||
/* Interface might be referred from C++ */
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
#endif /* !defined(__cplusplus) && !defined(CPPAPP) */
|
||||
|
||||
#if defined(__CCRX__) || defined(__ICCRX__)
|
||||
/* Intrinsic functions provided by compiler. */
|
||||
#include <machine.h>
|
||||
#elif defined(__GNUC__)
|
||||
/* No header file for intrinsic functions. */
|
||||
#else
|
||||
/* PORT: Use header file for other compiler and port r_rx_compiler.h. */
|
||||
#endif /* defined(__CCRX__), defined(__GNUC__), defined(__ICCRX__) */
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
/* Multiple inclusion prevention macro */
|
||||
#ifndef R_BSP_COMMON_H
|
||||
#define R_BSP_COMMON_H
|
||||
|
||||
/* Version Number of r_bsp. */
|
||||
#define R_BSP_VERSION_MAJOR (5)
|
||||
#define R_BSP_VERSION_MINOR (52)
|
||||
|
||||
/* This macro is used to suppress compiler messages about not only a parameter but also a auto variable not being used
|
||||
* in a function. The nice thing about using this implementation is that it does not take any extra RAM or ROM.
|
||||
* This macro is available for the followings:
|
||||
* CC-RX's 'M0520826:Parameter "XXXX" was never referenced'
|
||||
* CC-RX's 'W0520550:Variable "XXXX" was set but never used'
|
||||
* GNURX's 'unused parameter 'XXXX' [-Wunused-parameter]'
|
||||
* GNURX's 'variable 'XXXX' set but not used [-Wunused-but-set-variable]'
|
||||
* When the variable is declared as volatile, the '&' can be applied like 'R_INTERNAL_NOT_USED(&volatile_variable);'.
|
||||
*/
|
||||
#define INTERNAL_NOT_USED(p) ((void)(p))
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
/* Available delay units. */
|
||||
typedef enum
|
||||
{
|
||||
BSP_DELAY_MICROSECS = 1000000, // Requested delay amount is in microseconds
|
||||
BSP_DELAY_MILLISECS = 1000, // Requested delay amount is in milliseconds
|
||||
BSP_DELAY_SECS = 1 // Requested delay amount is in seconds
|
||||
} bsp_delay_units_t;
|
||||
|
||||
/* Easy to use typedef for FIT module callback functions. */
|
||||
typedef void (*fit_callback_t)(void *p_args);
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Exported global variables
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Exported global functions (to be accessed by other files)
|
||||
***********************************************************************************************************************/
|
||||
uint32_t R_BSP_GetVersion(void);
|
||||
bool R_BSP_SoftwareDelay(uint32_t delay, bsp_delay_units_t units);
|
||||
uint32_t R_BSP_GetIClkFreqHz(void);
|
||||
|
||||
/* End of multiple inclusion prevention macro */
|
||||
#endif /* R_BSP_COMMON_H */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,83 @@
|
||||
/***********************************************************************************************************************
|
||||
* DISCLAIMER
|
||||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
|
||||
* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||||
* applicable laws, including copyright laws.
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||||
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
|
||||
* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
|
||||
* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
|
||||
* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
|
||||
* this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||||
* following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
*
|
||||
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
|
||||
***********************************************************************************************************************/
|
||||
/***********************************************************************************************************************
|
||||
* File Name : r_bsp_interrupts.h
|
||||
* Description : This module allows for callbacks to be registered for certain interrupts.
|
||||
* And handle exception interrupts.
|
||||
***********************************************************************************************************************/
|
||||
/**********************************************************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 28.02.2019 1.00 First Release
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Includes <System Includes> , "Project Includes"
|
||||
***********************************************************************************************************************/
|
||||
#include "platform.h"
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Macro definitions
|
||||
***********************************************************************************************************************/
|
||||
/* Multiple inclusion prevention macro */
|
||||
#ifndef INTERRUPTS_H
|
||||
#define INTERRUPTS_H
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Typedef definitions
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Exported global variables
|
||||
***********************************************************************************************************************/
|
||||
|
||||
/***********************************************************************************************************************
|
||||
Exported global functions (to be accessed by other files)
|
||||
***********************************************************************************************************************/
|
||||
void R_BSP_InterruptRequestEnable(uint32_t vector);
|
||||
void R_BSP_InterruptRequestDisable(uint32_t vector);
|
||||
bsp_int_err_t R_BSP_InterruptWrite(bsp_int_src_t vector, bsp_int_cb_t callback);
|
||||
bsp_int_err_t R_BSP_InterruptRead(bsp_int_src_t vector, bsp_int_cb_t * callback);
|
||||
bsp_int_err_t R_BSP_InterruptControl(bsp_int_src_t vector, bsp_int_cmd_t cmd, void * pdata);
|
||||
|
||||
void bsp_interrupt_open(void); //r_bsp internal function. DO NOT CALL.
|
||||
|
||||
#ifdef BSP_MCU_EXCEP_SUPERVISOR_INST_ISR
|
||||
R_BSP_PRAGMA_INTERRUPT_FUNCTION(excep_supervisor_inst_isr)
|
||||
#endif
|
||||
#ifdef BSP_MCU_EXCEP_ACCESS_ISR
|
||||
R_BSP_PRAGMA_INTERRUPT_FUNCTION(excep_access_isr)
|
||||
#endif
|
||||
#ifdef BSP_MCU_EXCEP_UNDEFINED_INST_ISR
|
||||
R_BSP_PRAGMA_INTERRUPT_FUNCTION(excep_undefined_inst_isr)
|
||||
#endif
|
||||
#ifdef BSP_MCU_EXCEP_FLOATING_POINT_ISR
|
||||
R_BSP_PRAGMA_INTERRUPT_FUNCTION(excep_floating_point_isr)
|
||||
#endif
|
||||
#ifdef BSP_MCU_NON_MASKABLE_ISR
|
||||
R_BSP_PRAGMA_INTERRUPT_FUNCTION(non_maskable_isr)
|
||||
#endif
|
||||
#ifdef BSP_MCU_UNDEFINED_INTERRUPT_SOURCE_ISR
|
||||
R_BSP_PRAGMA_INTERRUPT_DEFAULT(undefined_interrupt_source_isr)
|
||||
#endif
|
||||
#ifdef BSP_MCU_BUS_ERROR_ISR
|
||||
R_BSP_PRAGMA_INTERRUPT(bus_error_isr, VECT(BSC,BUSERR))
|
||||
#endif
|
||||
|
||||
#endif /* End of multiple inclusion prevention macro */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user