Initial RZ/T port and demo - work in progress, currently only the tick interrupt can be installed.

This commit is contained in:
Richard Barry
2015-09-07 17:29:14 +00:00
parent 717654471e
commit 28d8a27f8f
72 changed files with 56076 additions and 4 deletions
@@ -0,0 +1,146 @@
<?xml version="1.0" encoding="ASCII"?>
<com.renesas.linkersection.model:SectionContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:com.renesas.linkersection.model="http:///LinkerSection.ecore">
<sections name=".flash_contents" isKeep="true">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="805306444"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_mloader_text"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs=". = . + (_loader_text_end - _loader_text_start)"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_mtext"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs=". = . + (_text_end - _text_start)"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_mdata"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs=". = . + (_data_end - _data_start)"/>
</sections>
<sections name=".fvectors" isKeep="true">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_text_start"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".fvectors"/>
<reservedMemAddress xsi:type="com.renesas.linkersection.model:ReferencedLabelAddress" label="//@sections.0/@contents.2"/>
</sections>
<sections name=".text">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.1"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".text"/>
</sections>
<sections name=".rvectors" isKeep="true">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.2"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_rvectors_start"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".rvectors"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_rvectors_end"/>
</sections>
<sections name=".init">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.3"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".init"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE_HIDDEN (__exidx_start = .)"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE_HIDDEN (__exidx_end = .)"/>
</sections>
<sections name=".fini">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.4"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".fini"/>
</sections>
<sections name=".got">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.5"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".got"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".got.plt"/>
</sections>
<sections name=".rodata">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.6"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".rodata"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".rodata.*"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_erodata"/>
</sections>
<sections name=".eh_frame_hdr">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.7"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".eh_frame_hdr"/>
</sections>
<sections name=".eh_frame">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.8"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".eh_frame"/>
</sections>
<sections name=".jcr">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.9"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".jcr"/>
</sections>
<sections name=".tors">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.10"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__CTOR_LIST__"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text=". = ALIGN(2)"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__ctors"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".ctors"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__ctors_end"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__CTOR_END__"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__DTOR_LIST__"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="___dtors"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".dtors"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="___dtors_end"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__DTOR_END__"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text=". = ALIGN(2)"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_text_end"/>
</sections>
<sections name=".loader_param" isKeep="true">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8388608"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".loader_param"/>
<reservedMemAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="805306368"/>
</sections>
<sections name=".loader_text">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8396800"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_loader_text_start"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".loader_text"/>
<reservedMemAddress xsi:type="com.renesas.linkersection.model:ReferencedLabelAddress" label="//@sections.0/@contents.0"/>
</sections>
<sections name=".loader_text2">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.13"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".loader_text2"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs=". = . + (512 - ((. - _loader_text_start) % 512))"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_loader_text_end"/>
</sections>
<sections name=".data">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="520192"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_data_start"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".data"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_data_end"/>
<reservedMemAddress xsi:type="com.renesas.linkersection.model:ReferencedLabelAddress" label="//@sections.0/@contents.4"/>
</sections>
<sections name=".bss">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.15"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE(__bss_start__ = .)"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_bss"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".bss"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".bss.**"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name="COMMON"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE(__bss_end__ = .)"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_ebss"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_end"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE(end = .)"/>
</sections>
<sections name=".heap" isNoLoad="true">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8417280"/>
</sections>
<sections name=".sys_stack" isNoLoad="true">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8419840"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".sys_stack"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_sys_stack"/>
</sections>
<sections name=".svc_stack" isNoLoad="true">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8420352"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".svc_stack"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_svc_stack"/>
</sections>
<sections name=".irq_stack" isNoLoad="true">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8420608"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".irq_stack"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_irq_stack"/>
</sections>
<sections name=".fiq_stack" isNoLoad="true">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8420864"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".fiq_stack"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_fiq_stack"/>
</sections>
<sections name=".und_stack" isNoLoad="true">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8421120"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".und_stack"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_und_stack"/>
</sections>
<sections name=".abt_stack" isNoLoad="true">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8421376"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".und_stack"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_abt_stack"/>
</sections>
</com.renesas.linkersection.model:SectionContainer>
@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="ASCII"?>
<com.renesas.linkersection.model:SectionContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:com.renesas.linkersection.model="http:///LinkerSection.ecore">
<sections name=".fvectors" isKeep="true">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="537001984"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".fvectors"/>
</sections>
<sections name=".text">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="537002240"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".text"/>
</sections>
<sections name=".rvectors">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.1"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_rvectors_start"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".rvectors"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_rvectors_end"/>
</sections>
<sections name=".init">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.2"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".init"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE_HIDDEN (__exidx_start = .)"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE_HIDDEN (__exidx_end = .)"/>
</sections>
<sections name=".fini">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.3"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".fini"/>
</sections>
<sections name=".got">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.4"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".got"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".got.plt"/>
</sections>
<sections name=".rodata">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.5"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".rodata"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".rodata.*"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_erodata"/>
</sections>
<sections name=".eh_frame_hdr">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.6"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".eh_frame_hdr"/>
</sections>
<sections name=".eh_frame">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.7"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".eh_frame"/>
</sections>
<sections name=".jcr">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.8"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".jcr"/>
</sections>
<sections name=".tors">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.9"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__CTOR_LIST__"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text=". = ALIGN(2)"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__ctors"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".ctors"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__ctors_end"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__CTOR_END__"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__DTOR_LIST__"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="___dtors"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".dtors"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="___dtors_end"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__DTOR_END__"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text=". = ALIGN(2)"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_mdata"/>
</sections>
<sections name=".data">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="537264384"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_data"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".data"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_edata"/>
<reservedMemAddress xsi:type="com.renesas.linkersection.model:ReferencedLabelAddress" label="//@sections.10/@contents.12"/>
</sections>
<sections name=".bss">
<sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.11"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE(__bss_start__ = .)"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_bss"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".bss"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".bss.**"/>
<contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name="COMMON"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE(__bss_end__ = .)"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_ebss"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_end"/>
<contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE(end = .)"/>
</sections>
<sections name=".stack" isNoLoad="true">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="537268480"/>
<contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_stack"/>
</sections>
</com.renesas.linkersection.model:SectionContainer>
@@ -0,0 +1,166 @@
<?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.rz.hardwaredebug.win32.configuration.Id.137003302">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.rz.hardwaredebug.win32.configuration.Id.137003302" moduleId="org.eclipse.cdt.core.settings" name="HardwareDebug">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
<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.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="RTOSDemo" buildArtefactType="com.renesas.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=com.renesas.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.GCCErrorParser" id="com.renesas.cdt.rz.hardwaredebug.win32.configuration.Id.137003302" name="HardwareDebug" parent="com.renesas.cdt.rz.hardwaredebug.win32.configuration.Id" postbuildStep="arm-none-eabi-objcopy -O binary ${ProjName}.x ${ProjName}.bin&amp;">
<folderInfo id="com.renesas.cdt.rz.hardwaredebug.win32.configuration.Id.137003302." name="/" resourcePath="">
<toolChain id="com.renesas.cdt.rz.hardwaredebug.win32.toolchain.Id.1095218391" name="KPIT GNUARM-NONE-EABI Toolchain" superClass="com.renesas.cdt.rz.hardwaredebug.win32.toolchain.Id">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.PE" id="com.renesas.cdt.rz.hardwaredebug.win32.targetplatform.Id.1812905899" name="Target Platform" osList="all" superClass="com.renesas.cdt.rz.hardwaredebug.win32.targetplatform.Id"/>
<builder buildPath="${workspace_loc:/Tutorial}/HardwareDebug" id="com.renesas.cdt.rz.hardwaredebug.win32.builder.Id.325418915" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Builder" superClass="com.renesas.cdt.rz.hardwaredebug.win32.builder.Id"/>
<tool command="" id="com.renesas.cdt.rz.hardwaredebug.win32.tool.libgen.Id.1484301438" name="Library Generator" superClass="com.renesas.cdt.rz.hardwaredebug.win32.tool.libgen.Id">
<option id="com.renesas.cdt.core.LibraryGenerator.option.stdio.521338791" name="stdio.h : Performs input/output handling" superClass="com.renesas.cdt.core.LibraryGenerator.option.stdio" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.LibraryGenerator.option.stdlib.1342580965" name="stdlib.h : Performs C program standard processing such as storage area management" superClass="com.renesas.cdt.core.LibraryGenerator.option.stdlib" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.LibraryGenerator.option.string.124919993" name="string.h : Performs string comparison, copying " superClass="com.renesas.cdt.core.LibraryGenerator.option.string" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.LibraryGenerator.option.selectLibrary.605211704" name="Select library" superClass="com.renesas.cdt.core.LibraryGenerator.option.selectLibrary" value="com.renesas.core.LibraryGenerator.option.selectLibrary.newLib" valueType="enumerated"/>
<option id="com.renesas.cdt.core.LibraryGenerator.option.libraryType.1944449788" name="Library type" superClass="com.renesas.cdt.core.LibraryGenerator.option.libraryType" value="com.renesas.cdt.core.LibraryGenerator.option.libraryType.preBuilt" valueType="enumerated"/>
<option id="com.renesas.cdt.core.LibraryGenerator.option.misc9.647629590" name="Place each function into its own section in the output file(-ffunction-sections)" superClass="com.renesas.cdt.core.LibraryGenerator.option.misc9" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.LibraryGenerator.option.misc14.1902249451" name="Do not put function addresses in registers(-fno-function-cse)" superClass="com.renesas.cdt.core.LibraryGenerator.option.misc14" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.LibraryGenerator.option.misc36.1398214108" name="Parse the whole compilation unit before starting to produce code ( -funit-at-a-time)" superClass="com.renesas.cdt.core.LibraryGenerator.option.misc36" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.LibraryGenerator.option.misc10.983076495" name="Place each data into its own section in the output file(-fdata-sections)" superClass="com.renesas.cdt.core.LibraryGenerator.option.misc10" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.LibraryGenerator.option.misc37.271380479" name="Align branch targets to a power-of-two boundary (-falign-jumps)" superClass="com.renesas.cdt.core.LibraryGenerator.option.misc37" value="true" valueType="boolean"/>
</tool>
<tool id="com.renesas.cdt.rz.hardwaredebug.win32.tool.compiler.Id.542544613" name="Compiler" superClass="com.renesas.cdt.rz.hardwaredebug.win32.tool.compiler.Id">
<option defaultValue="true" id="com.renesas.cdt.core.Compiler.option.misc2.721392830" name="Don't search standard system directories for header files(-nostdinc)" superClass="com.renesas.cdt.core.Compiler.option.misc2" value="false" valueType="boolean"/>
<option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.architecture.638675850" name="Architecture" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.architecture" value="com.renesas.cdt.rz.HardwareDebug.Compiler.option.architecture.armv7r" valueType="enumerated"/>
<option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.cpuType.585789719" name="CPU type" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.cpuType" value="com.renesas.cdt.rz.HardwareDebug.Compiler.option.cpuType.cortexr4f" valueType="enumerated"/>
<option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.dataEndian.972047238" name="Endian" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.dataEndian" value="com.renesas.cdt.rz.HardwareDebug.Compiler.option.dataEndian.little" valueType="enumerated"/>
<option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.instructionset.1821119680" name="Instruction Set" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.instructionset" value="com.renesas.cdt.rz.HardwareDebug.Compiler.option.instructionset.arm" valueType="enumerated"/>
<option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.interworking.1256187562" name="Interworking (-mthumb-interwork)" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.interworking" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.targetfpu.789930608" name="Target FPU (-mfpu)" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.targetfpu" value="com.renesas.cdt.rz.HardwareDebug.Compiler.option.targetfpu.vfp" valueType="enumerated"/>
<option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.floatingpointabi.81534707" name="Floating-point ABI (-mfloat-abi=name)" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.floatingpointabi" value="com.renesas.cdt.rz.HardwareDebug.Compiler.option.floatingpointabi.hard" valueType="enumerated"/>
<option id="com.renesas.cdt.core.Compiler.option.device.615172162" name="Device" superClass="com.renesas.cdt.core.Compiler.option.device" value="R7S910018" valueType="string"/>
<option id="com.renesas.cdt.core.Compiler.option.deviceShortName.897790463" name="DeviceShortName" superClass="com.renesas.cdt.core.Compiler.option.deviceShortName" value="R7S910018" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.core.Compiler.option.includeFileDir.1914876765" name="Include file directories" superClass="com.renesas.cdt.core.Compiler.option.includeFileDir" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${TCINSTALL}/bin/newlib/libc/sys/arm&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/Standard_Demo_Tasks/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/FreeRTOS_Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/FreeRTOS_Source/portable/GCC/ARM_CRx_No_GIC}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/cg_src}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/System/GCC/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.userDefinedOptions.1781067444" name="User defined options" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.userDefinedOptions" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
<listOptionValue builtIn="false" value=""/>
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.core.Compiler.option.stdWarnings.1242616069" name="Standard Warnings" superClass="com.renesas.cdt.core.Compiler.option.stdWarnings" value="com.renesas.cdt.core.Compiler.option.stdWarnings.enableAll" valueType="enumerated"/>
<option id="com.renesas.cdt.core.Compiler.option.warning1.1895271986" name="Issue Warning if an array subscript has type char(-Wchar-subscripts)" superClass="com.renesas.cdt.core.Compiler.option.warning1" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning2.794198457" name="Issue Warning if comment appears within comment(-Wcomment)" superClass="com.renesas.cdt.core.Compiler.option.warning2" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning3.1744608424" name="Issue Warning if string functions format is incorrect(-Wformat)" superClass="com.renesas.cdt.core.Compiler.option.warning3" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning4.1770361117" name="Issue Warning if a function or parameter is implicitly declared(-Wimplicit)" superClass="com.renesas.cdt.core.Compiler.option.warning4" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning5.848851103" name="Disable Warning about the use of #import(-Wno-import)" superClass="com.renesas.cdt.core.Compiler.option.warning5" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning6.950494022" name="Issue Warning if parentheses are omitted in certain contexts(-Wparentheses)" superClass="com.renesas.cdt.core.Compiler.option.warning6" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning7.426570819" name="Issue Warning of possible return type problems(-Wreturn-type)" superClass="com.renesas.cdt.core.Compiler.option.warning7" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning8.1352482889" name="Issue Warning of possible switch statement problems(-Wswitch)" superClass="com.renesas.cdt.core.Compiler.option.warning8" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning9.2116526382" name="Issue Warning if any trigraphs are encountered(-Wtrigraphs)" superClass="com.renesas.cdt.core.Compiler.option.warning9" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning10.1479535529" name="Issue Warning if a variable is unused aside from its declaration(-Wunused)" superClass="com.renesas.cdt.core.Compiler.option.warning10" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning11.1008512093" name="Issue Warning if an uninitialised automatic variable is used(-Wuninitialized)" superClass="com.renesas.cdt.core.Compiler.option.warning11" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning12.1590968671" name="Issue Warning of member initialisation mismatch(-Wreorder)" superClass="com.renesas.cdt.core.Compiler.option.warning12" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning13.1182362547" name="Issue Warning of bad sign comparisions(-Wsign-compare)" superClass="com.renesas.cdt.core.Compiler.option.warning13" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.advWarnings.1053226328" name="Advanced Warnings" superClass="com.renesas.cdt.core.Compiler.option.advWarnings" value="com.renesas.cdt.core.Compiler.option.advWarnings.selectOptions" valueType="enumerated"/>
<option id="com.renesas.cdt.core.Compiler.option.warning14.2137532876" name="Print extra warning messages(-Wextra)" superClass="com.renesas.cdt.core.Compiler.option.warning14" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning15.28783595" name="Issue Warning if function returns structure or unions(-Waggregate-return)" superClass="com.renesas.cdt.core.Compiler.option.warning15" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning16.781374568" name="Issue Warning if a function call is cast to a nonmatching type(-Wbad-function-cast)" superClass="com.renesas.cdt.core.Compiler.option.warning16" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning17.1726527237" name="Issue Warning of bad alignment pointer casting(-Wcast-align)" superClass="com.renesas.cdt.core.Compiler.option.warning17" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning18.169372107" name="Issue Warning of bad type qualifier pointer casting(-Wcast-qual)" superClass="com.renesas.cdt.core.Compiler.option.warning18" value="false" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning19.2110378361" name="Issue Warning for certain prototype conversions(-Wconversion)" superClass="com.renesas.cdt.core.Compiler.option.warning19" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning20.1001242190" name="Convert all warnings to errors (-Werror) " superClass="com.renesas.cdt.core.Compiler.option.warning20" value="false" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning21.355535354" name="Issue Warning if a function cannot be inline(-Winline)" superClass="com.renesas.cdt.core.Compiler.option.warning21" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning22.927679492" name="Issue Warning if a global function is defined not declared(-Wmissing-declarations)" superClass="com.renesas.cdt.core.Compiler.option.warning22" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning23.226850487" name="Issue Warning if a global function has no prototype declaration(-Wmissing-prototypes)" superClass="com.renesas.cdt.core.Compiler.option.warning23" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning24.1346714519" name="Issue Warning if an extern function is inside a function(-Wnested-externs)" superClass="com.renesas.cdt.core.Compiler.option.warning24" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning25.191482997" name="Issue Warning if dependency on the size of function or void(-Wpointer-arith)" superClass="com.renesas.cdt.core.Compiler.option.warning25" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning26.911763280" name="Issue Warning of multiple declarations(-Wredundant-decls)" superClass="com.renesas.cdt.core.Compiler.option.warning26" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning27.1705887099" name="Issue Warning if a local var shadows another var(-Wshadow)" superClass="com.renesas.cdt.core.Compiler.option.warning27" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning28.1045672769" name="Issue Warning if a function has no argument types(-Wstrict-prototypes)" superClass="com.renesas.cdt.core.Compiler.option.warning28" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning29.1388878801" name="Issue Warning if a bad g++ synthesiser(-Wsynth)" superClass="com.renesas.cdt.core.Compiler.option.warning29" value="false" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning30.1994659686" name="Issue Warning about c and ansi c construct incompatibility(-Wtraditional)" superClass="com.renesas.cdt.core.Compiler.option.warning30" value="false" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning31.531473224" name="Give string constants the type 'const char[length]'(-Wwrite-strings)" superClass="com.renesas.cdt.core.Compiler.option.warning31" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.CPUSeries.114360178" name="Cpu Series" superClass="com.renesas.cdt.core.Compiler.option.CPUSeries"/>
<inputType id="%Base.Compiler.C.InputType.Id.321945067" name="C Input" superClass="%Base.Compiler.C.InputType.Id"/>
<inputType id="Base.Compiler.CPP.InputType.Id.678276075" name="C++ Input" superClass="Base.Compiler.CPP.InputType.Id"/>
</tool>
<tool id="com.renesas.cdt.rz.hardwaredebug.win32.tool.assembler.Id.1682023133" name="Assembler" superClass="com.renesas.cdt.rz.hardwaredebug.win32.tool.assembler.Id">
<option id="com.renesas.cdt.rz.HardwareDebug.Assembler.option.architecture.1247399321" name="Architecture" superClass="com.renesas.cdt.rz.HardwareDebug.Assembler.option.architecture" value="com.renesas.cdt.rz.HardwareDebug.Assembler.option.architecture.armv7r" valueType="enumerated"/>
<option id="com.renesas.cdt.rz.HardwareDebug.Assembler.option.cpuType.924935876" name="CPU type" superClass="com.renesas.cdt.rz.HardwareDebug.Assembler.option.cpuType" value="com.renesas.cdt.rz.HardwareDebug.Assembler.option.cpuType.cortexr4f" valueType="enumerated"/>
<option id="com.renesas.cdt.rz.HardwareDebug.Assembler.option.dataEndian.2127826551" name="Endian" superClass="com.renesas.cdt.rz.HardwareDebug.Assembler.option.dataEndian" value="com.renesas.cdt.rz.HardwareDebug.Assembler.option.dataEndian.little" valueType="enumerated"/>
<option id="com.renesas.cdt.rz.HardwareDebug.Assembler.option.instructionset.500088440" name="Instruction Set" superClass="com.renesas.cdt.rz.HardwareDebug.Assembler.option.instructionset" value="com.renesas.cdt.rz.HardwareDebug.Assembler.option.instructionset.arm" valueType="enumerated"/>
<option id="com.renesas.cdt.rz.HardwareDebug.Assembler.option.targetfpu.590502840" name="Target FPU (-mfpu)" superClass="com.renesas.cdt.rz.HardwareDebug.Assembler.option.targetfpu" value="com.renesas.cdt.rz.HardwareDebug.Assembler.option.targetfpu.vfp" valueType="enumerated"/>
<option id="com.renesas.cdt.rz.HardwareDebug.Assembler.option.floatingpointabi.1360575803" name="Floating-point ABI (-mfloat-abi=name)" superClass="com.renesas.cdt.rz.HardwareDebug.Assembler.option.floatingpointabi" value="Hard" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.core.Assembler.option.includeFileDirectories.1525014372" name="Include file directories" superClass="com.renesas.cdt.core.Assembler.option.includeFileDirectories" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/System/GCC/asm}&quot;"/>
</option>
<inputType id="%Base.Assembler.inputType.Id.174869644" name="Assembler InputType" superClass="%Base.Assembler.inputType.Id"/>
</tool>
<tool id="com.renesas.cdt.rz.hardwaredebug.win32.tool.linker.Id.1114307562" name="Linker" superClass="com.renesas.cdt.rz.hardwaredebug.win32.tool.linker.Id">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.rz.HardwareDebug.Linker.option.archiveSearchDirectories.1574512948" name="Archive search directories" superClass="com.renesas.cdt.rz.HardwareDebug.Linker.option.archiveSearchDirectories" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;${TCINSTALL}/lib/gcc/arm-none-eabi/${GCC_VERSION}/fpu/interwork&quot;"/>
<listOptionValue builtIn="false" value="&quot;${TCINSTALL}/arm-none-eabi/lib/fpu/interwork&quot;"/>
</option>
<option id="com.renesas.cdt.rz.HardwareDebug.Linker.option.dataEndian.388928982" name="Endian" superClass="com.renesas.cdt.rz.HardwareDebug.Linker.option.dataEndian" value="com.renesas.cdt.rz.HardwareDebug.Linker.option.dataEndian.little" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.rz.HardwareDebug.Linker.option.archiveLibraryFiles.1856032828" name="Archive (library) files" superClass="com.renesas.cdt.rz.HardwareDebug.Linker.option.archiveLibraryFiles" valueType="stringList">
<listOptionValue builtIn="false" value="m"/>
<listOptionValue builtIn="false" value="c"/>
<listOptionValue builtIn="false" value="gcc"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.core.Linker.option.userDefinedOptions.2087395271" name="User defined options" superClass="com.renesas.cdt.core.Linker.option.userDefinedOptions" valueType="stringList">
<listOptionValue builtIn="false" value="-estart"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.core.Linker.option.linkOrderList.1339558820" name="" superClass="com.renesas.cdt.core.Linker.option.linkOrderList" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;.\src\exit.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\init_main.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\loader_init.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\loader_init2.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\loader_param.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\r_atcm_init.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\r_cpg.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\r_ecm.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\r_icu_init.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\r_mpc.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\r_ram_init.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\r_reset.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\vector.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\libTutorial.a&quot;"/>
</option>
<option id="com.renesas.cdt.core.Linker.option.commandFileOverride.622113609" name="Command file overide" superClass="com.renesas.cdt.core.Linker.option.commandFileOverride" value="com.renesas.cdt.core.Linker.option.commandFileOverride.externalLinkerScript" valueType="enumerated"/>
<option command=" -T&quot;C:/E/Dev/FreeRTOS/WorkingCopy/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM\HardwareDebug\LinkerSubCommand.tmp&quot; -T" id="com.renesas.cdt.core.Linker.option.file.464254322" name="File" superClass="com.renesas.cdt.core.Linker.option.file" value="&quot;${workspace_loc:/${ProjName}/System/GCC/GNU_LINKER_ATCM.ld}&quot;" valueType="string"/>
</tool>
<tool id="com.renesas.cdt.rz.hardwaredebug.win32.tool.objcopy.Id.1674695683" name="Objcopy" superClass="com.renesas.cdt.rz.hardwaredebug.win32.tool.objcopy.Id"/>
</toolChain>
</folderInfo>
<fileInfo id="com.renesas.cdt.rz.hardwaredebug.win32.configuration.Id.137003302.1852356998" name="IntQueue.c" rcbsApplicability="disable" resourcePath="src/Full_Demo/Standard_Demo_Tasks/IntQueue.c" toolsToInvoke="com.renesas.cdt.rz.hardwaredebug.win32.tool.compiler.Id.542544613.1778364722">
<tool id="com.renesas.cdt.rz.hardwaredebug.win32.tool.compiler.Id.542544613.1778364722" name="Compiler" superClass="com.renesas.cdt.rz.hardwaredebug.win32.tool.compiler.Id.542544613"/>
</fileInfo>
<sourceEntries>
<entry excluding="System/GCC/src/gnu_io.c|System/GCC/src/syscalls.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="Tutorial.com.renesas.cdt.rz.projectType.win32.Id.1958300405" name="Executable (Renesas)" projectType="com.renesas.cdt.rz.projectType.win32.Id"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</cproject>
@@ -0,0 +1,7 @@
TOOL_CHAIN=KPIT GNUARM-NONE-EABI Toolchain
VERSION=v14.02
TC_INSTALL=C:\Program Files (x86)\KPIT\GNUARM-NONEv14.02-EABI\arm-none-eabi\arm-none-eabi\
GCC_STRING=4.9-GNUARM-NONE_v14.02
VERSION_IDE=
E2STUDIO_VERSION=4.0.2.008
ACTIVE_CONFIGURATION=HardwareDebug
@@ -0,0 +1,223 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>RTOSDemo</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.renesas.cdt.core.genmakebuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>com.renesas.cdt.core.kpitcnature</nature>
<nature>com.renesas.cdt.core.kpitccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<linkedResources>
<link>
<name>src/FreeRTOS_Source</name>
<type>2</type>
<locationURI>FREERTOS_ROOT/FreeRTOS/Source</locationURI>
</link>
<link>
<name>src/Full_Demo/Standard_Demo_Tasks</name>
<type>2</type>
<locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/Minimal</locationURI>
</link>
<link>
<name>src/Full_Demo/Standard_Demo_Tasks/include</name>
<type>2</type>
<locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/include</locationURI>
</link>
</linkedResources>
<filteredResources>
<filter>
<id>1440591358527</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>1440591358537</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>1441019347018</id>
<name>src/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>1441019347028</id>
<name>src/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>1441019347038</id>
<name>src/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>1441019347048</id>
<name>src/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>1441019347058</id>
<name>src/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>1441019347058</id>
<name>src/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>1441019347068</id>
<name>src/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>1441019347078</id>
<name>src/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>1441019347078</id>
<name>src/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>1441019347088</id>
<name>src/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>1441019347098</id>
<name>src/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>1441019347098</id>
<name>src/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>1441019347108</id>
<name>src/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>1441019347108</id>
<name>src/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>1441019347118</id>
<name>src/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>1440591394340</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-ARM_CRx_No_GIC</arguments>
</matcher>
</filter>
<filter>
<id>1440591376868</id>
<name>src/FreeRTOS_Source/portable/MemMang</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-heap_4.c</arguments>
</matcher>
</filter>
</filteredResources>
<variableList>
<variable>
<name>FREERTOS_ROOT</name>
<value>$%7BPARENT-3-PROJECT_LOC%7D</value>
</variable>
</variableList>
</projectDescription>
@@ -0,0 +1,4 @@
Build\ project\ excluding\ the\ dependencies=false
Re-generate\ and\ use\ dependencies\ during\ project\ build=true
Use\ existing\ dependencies\ during\ project\ build=false
eclipse.preferences.version=1
@@ -0,0 +1,36 @@
com.renesas.cdt.core.Assembler.option.includeFileDirectories="${workspace_loc\:/${ProjName}}/src";
com.renesas.cdt.core.LibraryGenerator.option.ctype=false
com.renesas.cdt.core.LibraryGenerator.option.libraryType=Project-Built
com.renesas.cdt.core.LibraryGenerator.option.math=false
com.renesas.cdt.core.LibraryGenerator.option.selectLibrary=Optimized
com.renesas.cdt.core.LibraryGenerator.option.stdio=true
com.renesas.cdt.core.LibraryGenerator.option.stdlib=true
com.renesas.cdt.core.LibraryGenerator.option.string=true
com.renesas.cdt.core.Linker.option.userDefinedOptions=;
com.renesas.cdt.rz.HardwareDebug.Assembler.option.architecture=armv7-r
com.renesas.cdt.rz.HardwareDebug.Assembler.option.cpuType=cortex-r4f
com.renesas.cdt.rz.HardwareDebug.Compiler.option.architecture=armv7-r
com.renesas.cdt.rz.HardwareDebug.Compiler.option.cpuType=cortex-r4f
com.renesas.cdt.rz.HardwareDebug.Compiler.option.cpuType.585789719=cortex-r4f
com.renesas.cdt.rz.HardwareDebug.Compiler.option.dataEndian=Little-endian
com.renesas.cdt.rz.HardwareDebug.Compiler.option.floatingpointabi=Soft
com.renesas.cdt.rz.HardwareDebug.Compiler.option.instructionset=ARM
com.renesas.cdt.rz.HardwareDebug.Compiler.option.interworking=true
com.renesas.cdt.rz.HardwareDebug.Compiler.option.macroDefines=
com.renesas.cdt.rz.HardwareDebug.Compiler.option.targetfpu=vfp
com.renesas.cdt.rz.HardwareDebug.Linker.option.archiveLibraryFiles=${BuildArtifactFileBaseName};gcc;
com.renesas.cdt.rz.HardwareDebug.Linker.option.archiveSearchDirectories.1574512948="${TCINSTALL}/lib/gcc/arm-none-eabi/${GCC_VERSION}/fpu/interwork";"${TCINSTALL}/arm-none-eabi/lib/fpu/interwork";
com.renesas.cdt.rz.Release.Assembler.option.architecture=armv7-r
com.renesas.cdt.rz.Release.Assembler.option.cpuType=cortex-r4f
com.renesas.cdt.rz.Release.Compiler.option.architecture=armv7-r
com.renesas.cdt.rz.Release.Compiler.option.cpuType=cortex-r4f
com.renesas.cdt.rz.Release.Compiler.option.cpuType.963183599=cortex-r4f
com.renesas.cdt.rz.Release.Compiler.option.dataEndian=Little-endian
com.renesas.cdt.rz.Release.Compiler.option.floatingpointabi=Soft
com.renesas.cdt.rz.Release.Compiler.option.instructionset=ARM
com.renesas.cdt.rz.Release.Compiler.option.interworking=true
com.renesas.cdt.rz.Release.Compiler.option.macroDefines=
com.renesas.cdt.rz.Release.Compiler.option.targetfpu=vfp
com.renesas.cdt.rz.Release.Linker.option.archiveLibraryFiles=${BuildArtifactFileBaseName};gcc;
com.renesas.cdt.rz.Release.Linker.option.archiveSearchDirectories.966751407="${TCINSTALL}/lib/gcc/arm-none-eabi/${GCC_VERSION}/interwork";"${TCINSTALL}/arm-none-eabi/lib/interwork";
eclipse.preferences.version=1
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<configuration id="com.renesas.cdt.rz.hardwaredebug.win32.configuration.Id.137003302" name="HardwareDebug">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider class="com.renesas.cdt.common.build.spec.RZGCCBuiltinSpecsDetector" console="false" env-hash="-432948836777516605" id="RZGCCBuiltinSpecsDetector" keep-relative-paths="false" name="Renesas GNUARM-NONE GCCBuildinCompilerSettings" options-hash="857384749" parameter="arm-none-eabi-gcc -E -P -v -dD ${INPUTS}" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
</extension>
</configuration>
</project>
@@ -0,0 +1,35 @@
[BREAKPOINTS]
ForceImpTypeAny = 0
ShowInfoWin = 1
EnableFlashBP = 2
BPDuringExecution = 0
[CFI]
CFISize = 0x00
CFIAddr = 0x00
[CPU]
OverrideMemMap = 0
AllowSimulation = 1
ScriptFile=""
[FLASH]
CacheExcludeSize = 0x00
CacheExcludeAddr = 0x00
MinNumBytesFlashDL = 0
SkipProgOnCRCMatch = 1
VerifyDownload = 1
AllowCaching = 1
EnableFlashDL = 2
Override = 0
Device="UNSPECIFIED"
[GENERAL]
WorkRAMSize = 0x00
WorkRAMAddr = 0x00
RAMUsageLimit = 0x00
[SWO]
SWOLogFile=""
[MEM]
RdOverrideOrMask = 0x00
RdOverrideAndMask = 0xFFFFFFFF
RdOverrideAddr = 0xFFFFFFFF
WrOverrideOrMask = 0x00
WrOverrideAndMask = 0xFFFFFFFF
WrOverrideAddr = 0xFFFFFFFF
@@ -0,0 +1,215 @@
/****************************************************************************************************************************************************************
* 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) 2015 Renesas Electronics Corporation. All rights reserved.
****************************************************************************************************************************************************************/
/***********************************************************************************************************************
* File Name : GNU_LINKER_ATCM.ld
* Device(s) : RZ/T1 (R7S910018)
* Tool-Chain : GNUARM-NONEv14.02-EABI
* H/W Platform : RSK+RZT1 CPU Board
* Description : Linker file for projects that require to load and run from RAM (ATCM)
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00
***********************************************************************************************************************/
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(start)
/* Base Address RAM Memory Table 1 Mbyte on-chip RAM */
MEMORY
{
/* Internal RAM address range H'2000_0000 to H'2001_FFFF is configured as data retention RAM */
/* Write access to this address range has to be enabled by writing to registers SYSCR1 and SYSCR2 */
ATCM (rwx) : ORIGIN = 0x00000000, LENGTH = 0x00080000 /* (512KB) H'00000000 to H'0007FFFF */
BTCM (rwx) : ORIGIN = 0x00800000, LENGTH = 0x00800000 /* (32KB) H'00800000 to H'00807FFF */
BUFFER_RAM (rwx) : ORIGIN = 0x20200000, LENGTH = 0x00100000 /* (1024KB) H'08000000 to H'0FFFFFFF */
DATA_RAM0 (rwx) : ORIGIN = 0x24000000, LENGTH = 0x00080000 /* (512KB) H'22000000 to H'2207FFFF */
DATA_RAM1 (rwx) : ORIGIN = 0x22000000, LENGTH = 0x00080000 /* (512KB) H'24000000 to H'2407FFFF */
SPIBSC (rw) : ORIGIN = 0x30000000, LENGTH = 0x04000000 /* attached to H'30000000 to H'33FFFFFF */
CS0 (rw) : ORIGIN = 0x40000000, LENGTH = 0x04000000 /* attached to H'40000000 to H'43FFFFFF */
CS1 (rw) : ORIGIN = 0x44000000, LENGTH = 0x04000000 /* attached to H'44000000 to H'47FFFFFF */
CS2 (rw) : ORIGIN = 0x48000000, LENGTH = 0x04000000 /* attached to H'40000000 to H'4CFFFFFF */
CS3 (rw) : ORIGIN = 0x4C000000, LENGTH = 0x04000000 /* attached to H'4C000000 to H'4FFFFFFF */
CS4 (rw) : ORIGIN = 0x50000000, LENGTH = 0x04000000 /* attached to H'50000000 to H'53FFFFFF */
CS5 (rw) : ORIGIN = 0x54000000, LENGTH = 0x04000000 /* attached to H'54000000 to H'57FFFFFF */
/* Mapped memory type */
SPI_ROM (rw) : ORIGIN = 0x30000000, LENGTH = 0x04000000
CS0_ROM (rw) : ORIGIN = 0x40000000, LENGTH = 0x04000000
CS1_ROM (rw) : ORIGIN = 0x44000000, LENGTH = 0x04000000
SDRAM0_EXT (rw) : ORIGIN = 0x48000000, LENGTH = 0x04000000
SDRAM1_EXT (rw) : ORIGIN = 0x4C000000, LENGTH = 0x04000000
}
SYS_STACK_SIZE = 0x200; /* Application stack size */
SVC_STACK_SIZE = 0x200; /* SVC mode stack */
IRQ_STACK_SIZE = 0x200; /* IRQ mode stack */
FIQ_STACK_SIZE = 0x200; /* FRQ mode stack */
UND_STACK_SIZE = 0x200; /* SVC mode stack */
ABT_STACK_SIZE = 0x200; /* ABT mode stack */
HEAP_STACK_SIZE = 0x1000; /* Heap stack size */
ATCM_BASE = 0x00000000; /* User application located here */
BTCM_BASE = 0x00800000; /* BTCM base address */
USER_EXEC_BASE = 0x00000000; /* Application loads and runs from here */
USER_RAM = 0x20000000; /* Application's RAM base */
STACK_BASE = 0x00807800; /* Stacks located in BTCM */
SDRAM0_BASE = 0x48000000; /* SDRAM1 is attached to CS2 space */
SDRAM1_BASE = 0x4C000000; /* SDRAM1 is attached to CS3 space */
SECTIONS
{
.reset USER_EXEC_BASE :
{
reset_start = .;
execute = .;
_intvec_start = .;
*start.o (.text);
. = ALIGN(0x4);
_intvec_end = .;
end_reset = .;
} > ATCM
.text :
{
text_start = .;
*(.text)
*(.text.startup)
text_end = .;
} > ATCM
.rodata :
{
_rodata_start = .;
*(.rodata)
*(.rodata.*)
. = ALIGN(0x8);
_start_data_ROM = .;
*(.data)
*(.data.*)
_end_data_ROM = .;
*(.got.plt)
*(.got)
. = ALIGN(0x8);
_rodata_end = .;
PROVIDE(end = .);
} > ATCM
_ram_data_size = (_end_data_ROM - _start_data_ROM);
.data USER_RAM :
{
_data_start = .;
_start_data_RAM = .;
. += _ram_data_size;
_data_end = .;
}
.bss _data_end :
{
_bss = .;
PROVIDE(__bss_start__ = .);
*(.bss)
*(.bss.**)
*(COMMON)
. = ALIGN(0x4);
PROVIDE(__bss_end__ = .);
_ebss = .;
_end = .;
PROVIDE(end = .);
}
.heap :
{
heap_start = .;
. = ALIGN(0x8);
*(.heap_stack)
. += HEAP_STACK_SIZE;
heap_end = .;
} > ATCM
.sys_stack STACK_BASE :
{
sys_stack_start = .;
. = ALIGN(0x8);
*(.sys_stack)
. += SYS_STACK_SIZE;
sys_stack_end = .;
} > BTCM
.svc_stack sys_stack_end :
{
svc_stack_start = .;
. = ALIGN(0x8);
*(.svc_stack)
. += SVC_STACK_SIZE;
svc_stack_end = .;
} > BTCM
.irq_stack svc_stack_end :
{
irq_stack_start = .;
. = ALIGN(0x8);
*(.irq_stack)
. += IRQ_STACK_SIZE;
irq_stack_end = .;
} > BTCM
.fiq_stack irq_stack_end :
{
fiq_stack_start = .;
. = ALIGN(0x8);
*(.fiq_stack)
. += FIQ_STACK_SIZE;
fiq_stack_end = .;
} > BTCM
.und_stack fiq_stack_end :
{
und_stack_start = .;
. = ALIGN(0x8);
*(.und_stack)
. += UND_STACK_SIZE;
und_stack_end = .;
} > BTCM
.abt_stack und_stack_end :
{
abt_stack_start = .;
. = ALIGN(0x8);
*(.abt_stack)
. += ABT_STACK_SIZE;
abt_stack_end = .;
} > BTCM
/* NOLOAD directs linker NOT to fill VRAMx_SECTION with 0. */
/* Usage of NOLOAD increases speed of linker and download to target */
.sdram0_section SDRAM0_BASE (NOLOAD) : {} > SDRAM0_EXT
.sdram1_section SDRAM1_BASE (NOLOAD) : {} > SDRAM1_EXT
}
@@ -0,0 +1,351 @@
/***********************************************************************************************************************
* 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* System Name : RZ/T1 Init program
* File Name : loader_init.asm
* Version : 0.1
* Device : R7S910018
* Abstract : Loader program 1
* Tool-Chain : GNUARM-NONEv14.02-EABI
* OS : not use
* H/W Platform : Renesas Starter Kit for RZ/T1
* Description : System low level configuration.
* Limitation : none
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.04.2015 1.00 First Release
***********************************************************************************************************************/
.text
.code 32
.global reset_handler
.global loader_init1
.global set_low_vec
.global cache_init
.global mpu_init
.global loader_init2
.global r_icu_nmi_interrupt
reset_handler:
/***********************************************************************************************************************
* Function Name : loader_init1
* Description : Initialize system by loader program
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
loader_init1:
/* ========================================================================= */
/* Multi-core startup (future proofing boot code) */
/* Check core, if not core 0 put to sleep. */
/* ========================================================================= */
mrc p15, 0, r0, c0, c0, 5 /* Read MPIDR */
ands r0, r0, #3
goToSleep:
wfine
bne goToSleep
mrs r0, cpsr /* Disalbe FIQ and IRQ */
orr r0, r0, #0x000000C0
msr cpsr, r0
isb
stack_init:
/* Stack setting */
cps #17 /* FIQ mode */
ldr sp, =fiq_stack_end
cps #18 /* IRQ mode */
ldr sp, =irq_stack_end
cps #23 /* Abort mode */
ldr sp, =abt_stack_end
cps #27 /* Undef mode */
ldr sp, =und_stack_end
cps #31 /* System mode */
ldr sp, =sys_stack_end
cps #19 /* SVC mode */
ldr sp, =svc_stack_end
vfp_init:
/* Initialize VFP setting */
mrc p15, #0, r0, c1, c0, #2 /* Enables cp10 and cp11 accessing */
orr r0, r0, #0xF00000
mcr p15, #0, r0, c1, c0, #2
isb /* Ensuring Context-changing */
mov r0, #0x40000000 /* Enables VFP operation */
vmsr fpexc, r0
mrc p15, 0, r0, c1, c0, 0 /* Set SCTLR.VE bit to 1 (Use VIC) */
orr r0, r0, #0x01000000
mcr p15, 0, r0, c1, c0, 0
isb /* Ensuring Context-changing */
mrc p15, 0, r0, c1, c0, 1 /* Enalbe ECC */
orr r0, r0, #0x06000000
mcr p15, 0, r0, c1, c0, 1
isb /* Ensuring Context-changing */
mrs r0, cpsr /* Re-enalbe FIQ */
and r0, r0, #0xFFFFFFBF
msr cpsr, r0
isb
/* Jump to loader_init2 */
jump_loader_init2:
ldr r0, =loader_init2
bx r0
/***********************************************************************************************************************
* Function Name : cache_init
* Description : Initialize I1, D1 cache and MPU settings
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
/***********************************************************************************************************************
* Macro definitions
***********************************************************************************************************************/
.equ SCTLR_BR, 0x00020000
.equ SCTLR_M, 0x00000001
.equ SCTLR_I_C, 0x00001004
.equ DRBAR_REGION_0, 0x04000000 /*Base address = 0400_0000h */
.equ DRACR_REGION_0, 0x0000030C /*R/W(full), Normal, Non-cache, share */
.equ DRSR_REGION_0, 0x00000025 /*Size 512KB, MPU enable */
.equ DRBAR_REGION_1, 0x10000000 /*Base address = 1000_0000h */
.equ DRACR_REGION_1, 0x0000030C /*R/W(full), Normal, Non-cache, share */
.equ DRSR_REGION_1, 0x00000033 /*Size 64MB, MPU enable */
.equ DRBAR_REGION_2, 0x20000000 /*Base address = 2000_0000h */
.equ DRACR_REGION_2, 0x0000030C /*R/W(full), Normal, Non-cache, share */
.equ DRSR_REGION_2, 0x00000025 /*Size 512KB, MPU enable */
.equ DRBAR_REGION_3, 0x22000000 /*Base address = 2200_0000h */
.equ DRACR_REGION_3, 0x00000307 /*R/W(full), Normal, Write-back no allocate, share */
.equ DRSR_REGION_3, 0x00000033 /*Size 64MB, MPU enable */
.equ DRBAR_REGION_4, 0x30000000 /*Base address = 3000_0000h */
.equ DRACR_REGION_4, 0x00000307 /*R/W(full), Normal, Write-back no allocate, share */
.equ DRSR_REGION_4, 0x00000033 /*Size 64MB, MPU enable */
.equ DRBAR_REGION_5, 0x40000000 /*Base address = 4000_0000h */
.equ DRACR_REGION_5, 0x00000307 /*R/W(full), Normal, Write-back no allocate, share */
.equ DRSR_REGION_5, 0x00000035 /*Size 128MB, MPU enable */
.equ DRBAR_REGION_6, 0x48000000 /*Base address = 4800_0000h */
.equ DRACR_REGION_6, 0x00000307 /*R/W(full), Normal, Write-back no allocate, share */
.equ DRSR_REGION_6, 0x00000035 /*Size 128MB, MPU enable */
.equ DRBAR_REGION_7, 0x50000000 /*Base address = 5000_0000h */
.equ DRACR_REGION_7, 0x00001305 /*R/W(full), XN, Device, share */
.equ DRSR_REGION_7, 0x00000035 /*Size 128MB, MPU enable */
.equ DRBAR_REGION_8, 0x60000000 /*Base address = 6000_0000h */
.equ DRACR_REGION_8, 0x0000030C /*R/W(full), Normal, Non-cache, share */
.equ DRSR_REGION_8, 0x00000035 /*Size 128MB, MPU enable */
.equ DRBAR_REGION_9, 0x68000000 /*Base address = 6800_0000h */
.equ DRACR_REGION_9, 0x0000030C /*R/W(full), Normal, Non-cache, share */
.equ DRSR_REGION_9, 0x00000035 /*Size 128MB, MPU enable */
.equ DRBAR_REGION_10, 0x70000000 /*Base address = 7000_0000h */
.equ DRACR_REGION_10, 0x00001305 /*R/W(full), XN, Device, share */
.equ DRSR_REGION_10, 0x00000035 /*Size 128MB, MPU enable */
.equ DRBAR_REGION_11, 0x80000000 /*Base address = 8000_0000h */
.equ DRACR_REGION_11, 0x00001305 /*R/W(full), XN, Device, share */
.equ DRSR_REGION_11, 0x0000003D /*Size 2GB, MPU enable */
cache_init:
push {lr}
cache_invalidate:
/*Invalidate the I1, D1 cache */
mov r0, #0
mcr p15, #0, r0, c7, c5, #0 /*Invalidate all Instruction Caches (Write-value is Ignored) */
isb /*Ensuring Context-changing */
mcr p15, #0, r0, c15, c5, #0 /*Invalidate all Data Caches (Write-value is Ignored) */
isb /*Ensuring Context-changing */
/*Adopt default memory map as background map. */
ldr r0, =SCTLR_BR /*Set SCTLR.BR bit to 1 */
mrc p15, 0, r1, c1, c0, 0
orr r1, r1, r0
dsb
mcr p15, 0, r1, c1, c0, 0
isb /*Ensuring Context-changing */
/*Initialize MPU settings (region 0 to 11) */
/*Define region 0 */
mov r0, #0
ldr r1, =DRBAR_REGION_0
ldr r2, =DRACR_REGION_0
ldr r3, =DRSR_REGION_0
bl mpu_init
/*Define region 1 */
mov r0, #1
ldr r1, =DRBAR_REGION_1
ldr r2, =DRACR_REGION_1
ldr r3, =DRSR_REGION_1
bl mpu_init
/*Define region 2 */
mov r0, #2
ldr r1, =DRBAR_REGION_2
ldr r2, =DRACR_REGION_2
ldr r3, =DRSR_REGION_2
bl mpu_init
/*Define region 3 */
mov r0, #3
ldr r1, =DRBAR_REGION_3
ldr r2, =DRACR_REGION_3
ldr r3, =DRSR_REGION_3
bl mpu_init
/*Define region 4 */
mov r0, #4
ldr r1, =DRBAR_REGION_4
ldr r2, =DRACR_REGION_4
ldr r3, =DRSR_REGION_4
bl mpu_init
/*Define region 5 */
mov r0, #5
ldr r1, =DRBAR_REGION_5
ldr r2, =DRACR_REGION_5
ldr r3, =DRSR_REGION_5
bl mpu_init
/*Define region 6 */
mov r0, #6
ldr r1, =DRBAR_REGION_6
ldr r2, =DRACR_REGION_6
ldr r3, =DRSR_REGION_6
bl mpu_init
/*Define region 7 */
mov r0, #7
ldr r1, =DRBAR_REGION_7
ldr r2, =DRACR_REGION_7
ldr r3, =DRSR_REGION_7
bl mpu_init
/*Define region 8 */
mov r0, #8
ldr r1, =DRBAR_REGION_8
ldr r2, =DRACR_REGION_8
ldr r3, =DRSR_REGION_8
bl mpu_init
/*Define region 9
mov r0, #9 */
ldr r1, =DRBAR_REGION_9
ldr r2, =DRACR_REGION_9
ldr r3, =DRSR_REGION_9
bl mpu_init
/*Define region 10 */
mov r0, #10
ldr r1, =DRBAR_REGION_10
ldr r2, =DRACR_REGION_10
ldr r3, =DRSR_REGION_10
bl mpu_init
/*Define region 11 */
mov r0, #11
ldr r1, =DRBAR_REGION_11
ldr r2, =DRACR_REGION_11
ldr r3, =DRSR_REGION_11
bl mpu_init
/*Enables MPU operation */
ldr r0, =SCTLR_M /*Set SCTLR.M bit to 1 */
mrc p15, 0, r1, c1, c0, 0
orr r1, r1, r0
dsb
mcr p15, 0, r1, c1, c0, 0
isb /*Ensuring Context-changing */
/*Enables I1,D1 cache operation */
ldr r0, =SCTLR_I_C /*Set SCTLR.I and C bit to 1 */
mrc p15, 0, r1, c1, c0, 0
orr r1, r1, r0
dsb
mcr p15, 0, r1, c1, c0, 0
isb /*Ensuring Context-changing */
pop {pc}
bx lr
/***********************************************************************************************************************
* Function Name : mpu_init
* Description : Initialize MPU settings
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
mpu_init:
/*RGNR(MPU Memory Region Number Register) */
mcr p15, #0, r0, c6, c2, #0
isb /*Ensuring Context-changing */
/*DRBAR(Data Region Base Address Register) */
mcr p15, #0, r1, c6, c1, #0
isb /*Ensuring Context-changing */
/*DRACR(Data Region Access Control Register) */
mcr p15, #0, r2, c6, c1, #4
isb /*Ensuring Context-changing */
/*DRSR(Data Region Size and Enable Register) */
mcr p15, #0, r3, c6, c1, #2
isb /*Ensuring Context-changing */
bx lr
/***********************************************************************************************************************
* Function Name : set_low_vec
* Description : Initialize sysytem by loader program
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
set_low_vec:
mrc p15, 0, r0, c1, c0, 0 /*Set SCTLR.V bit to 1 (low-vector)*/
and r0, r0, #0xFFFFDFFF
mcr p15, 0, r0, c1, c0, 0
isb /*Ensuring Context-changing*/
bx lr
.end
/*End of File */
@@ -0,0 +1,70 @@
/************************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
************************************************************************************************************************/
/************************************************************************************************************************
* File Name : start.asm
* Device(s) : RZ/T1 (R7S910018)
* Tool-Chain : GNUARM-NONEv14.02-EABI
* H/W Platform : RSK+T1 CPU Board
* Description : This is the code to be executed on the target
The copyright string signifies the end of the Vector table
* Note boot strap sequence is as follows:
*
* start->reset_handler->main()
*
* start - first code to be executed on the target
start jumps to reset_handler the asm startup routine
* reset_handler jumps to loader_init1() C entry point
* loader_init2() calls main() C User code entry point
************************************************************************************************************************/
/************************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00
************************************************************************************************************************/
.text
.code 32
.extern FreeRTOS_SVC_Handler
.global start
.func start
start:
LDR pc, =reset_handler /* Reset Vector */
LDR pc, =undefined_handler
LDR pc, =FreeRTOS_SVC_Handler
LDR pc, =prefetch_handler
LDR pc, =abort_handler
LDR pc, =reserved_handler
LDR pc, =irq_handler
LDR pc, =fiq_handler
code_start:
.word start /* pointer to the user application start address */
/* Used by NOR and SPI (System_Boot_Loader_xxxx) */
code_end:
.word end
code_execute:
.word execute /* execute address of first instruction */
.string ".BootLoad_ValidProgramTest." /* bootloader validation signature */
.align 4
.end
@@ -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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
System Name : RZ/T1 Init program
File Name : vector.asm
Version : 0.1
Device : R7S910018
Abstract : vector address (in low vector)
Tool-Chain : GNUARM-NONEv14.02-EABI
OS : not use
H/W Platform : Renesas Starter Kit for RZ/T1
Description : vector address for RZ/T1 (in low vector)
Limitation : none
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00 First Release
***********************************************************************************************************************/
/* This program is allocated to section "intvec" */
.text
.code 32
.global undefined_handler
.global FreeRTOS_SVC_Handler
.global prefetch_handler
.global abort_handler
.global reserved_handler
.global irq_handler
.global fiq_handler
undefined_handler:
b undefined_handler
svc_handler:
b svc_handler
prefetch_handler:
b prefetch_handler
abort_handler:
b abort_handler
reserved_handler:
b reserved_handler
irq_handler:
b irq_handler
fiq_handler:
b fiq_handler
.end
@@ -0,0 +1,65 @@
/*******************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
************************************************************************************************************************/
/***********************************************************************************************************************
* File Name : compiler_settings.h
* Device(s) : RZ/A1H (R7S910018)
* Tool-Chain : GNUARM-NONEv14.02-EABI
* H/W Platform : RSK+T1 CPU Board
* Description : Any compiler specific settings are stored here.
* : Variants of this file must be created for each compiler
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00
***********************************************************************************************************************/
/***********************************************************************************************************************
Includes <System Includes> , "Project Includes"
***********************************************************************************************************************/
/* Compiler specific UART i/O support header */
#include "../../GCC/inc/gnu_io.h"
#ifndef COMPILER_SETTINGS_H
#define COMPILER_SETTINGS_H
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
/* Definitions of SDRAM sections from the linker */
#define BSS_SDRAM0_SECTION __attribute__ ((section (".sdram0_section")))
#define BSS_SDRAM1_SECTION __attribute__ ((section (".sdram1_section")))
/***********************************************************************************************************************
Variable External definitions and Function External definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Functions Prototypes
***********************************************************************************************************************/
/* COMPILER_SETTINGS_H */
#endif
/* End of File */
@@ -0,0 +1,68 @@
/***********************************************************************************************************************
* 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 : gnu_io.h
* Device(s) : RZ/A1H (R7S910018)
* Tool-Chain : GNUARM-NONEv14.02-EABI
* H/W Platform : RSK+T1 CPU Board
* Description : GCC support for serial I/O header file
******************************************************************************/
/******************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00
******************************************************************************/
#ifndef GNU_IO_H
#define GNU_IO_H
/******************************************************************************
Includes <System Includes> , "Project Includes"
******************************************************************************/
/******************************************************************************
Typedef definitions
******************************************************************************/
/******************************************************************************
Macro definitions
******************************************************************************/
/******************************************************************************
Variable Externs
******************************************************************************/
/******************************************************************************
Functions Prototypes
******************************************************************************/
extern void put_string(char *pString);
extern void get_string(char *pString);
#endif /* GNU_IO_H */
/* End of File */
@@ -0,0 +1,104 @@
/***********************************************************************************************************************
* 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 : gnu_io.c
* Device(s) : RZ/A1H RSK+T1
* Tool-Chain : GNUARM-NONEv14.02-EABI
* H/W Platform : RSK+T1 CPU Board
* Description : Sample Program - GCC support for serial I/O
* : Variants of this file can be created for each compiler
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00
***********************************************************************************************************************/
/***********************************************************************************************************************
Includes <System Includes> , "Project Includes"
***********************************************************************************************************************/
/* Standard IO header */
#include <stdio.h>
/* Default type definition header */
#include "r_typedefs.h"
/* Character I/O header */
#include "siochar.h"
/* I/O Register root header */
#include "iodefine.h"
/* Compiler specific UART i/O support header */
#include "gnu_io.h"
/***********************************************************************************************************************
* Function Name: put_string
* Description : GNU interface to low-level I/O putchar replacement
* Arguments : char * pString
* Return Value : none
***********************************************************************************************************************/
void put_string (char *pString)
{
while(0 != (*pString))
{
io_put_char(*pString++);
}
}
/***********************************************************************************************************************
End of function put_string
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name: get_string
* Description : GNU interface to low-level I/O getchar replacement
* Arguments : char * pString
* Return Value : none
***********************************************************************************************************************/
void get_string (char * pString)
{
char * ptr = pString;
do
{
(*ptr) = io_get_char();
io_put_char(*ptr);
if('\r' == (*ptr))
{
(*ptr) = 0;
/* This is intentional since no more input is expected */
break;
}
}
while('\0' != (*ptr++));
io_put_char('\r');
io_put_char('\n');
}
/***********************************************************************************************************************
End of function get_string
***********************************************************************************************************************/
@@ -0,0 +1,243 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* System Name : RZ/T1 Init program
* File Name : loader_init2.c
* Version : 0.1
* Device : R7S910018
* Abstract : Loader program 2
* Tool-Chain : GNUARM-NONEv14.02-EABI
* OS : not use
* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)
* Description : Initialise the peripheral settings of RZ/T1
* Limitation : none
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00 First Release
***********************************************************************************************************************/
/***********************************************************************************************************************
Includes <System Includes> , "Project Includes"
***********************************************************************************************************************/
#include <stdint.h>
#include "iodefine.h"
#include "r_cg_cgc.h"
#include "r_cg_mpc.h"
#include "r_system.h"
#include "r_reset.h"
#include "r_atcm_init.h"
#include "r_typedefs.h"
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Private variables and functions
***********************************************************************************************************************/
static void reset_check (void);
static void cpg_init (void);
/***********************************************************************************************************************
Imported global variables and functions (from other files)
***********************************************************************************************************************/
extern void main(void);
extern void set_low_vec(void);
extern void cache_init(void);
/***********************************************************************************************************************
Exported global variables and functions (to be accessed by other files)
***********************************************************************************************************************/
void loader_init2 (void);
/***********************************************************************************************************************
* Function Name : loader_init2
* Description : Initialise system by loader program 2
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
void loader_init2 (void)
{
/* Check the reset source */
reset_check();
/* Set CPU clock and LOCO clock */
cpg_init();
/* Set ATCM access wait to 1-wait with optimisation */
/* Caution: ATCM_WAIT_0 is permitted if CPUCLK = 150MHz or 300MHz.
ATCM_WAIT_1_OPT is permitted if CPUCLK = 450MHz or 600MHz.*/
R_ATCM_WaitSet(ATCM_WAIT_1_OPT);
/* Initialise I1, D1 Cache and MPU setting */
#warning Cache not enabled.
// cache_init();
/* Set RZ/T1 to Low-vector (SCTLR.V = 0) */
set_low_vec();
/* Jump to _main() */
main();
}
/***********************************************************************************************************************
End of function loader_init2
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name : reset_check
* Description : Check the reset source and execute the each sequence.
* When error source number 35 is generated, set P77 pin to High.
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
static void reset_check(void)
{
volatile uint8_t result;
volatile uint32_t dummy;
UNUSED_VARIABLE(result);
UNUSED_VARIABLE(dummy);
/* Check the reset status flag and execute the each sequence */
if (RST_SOURCE_ECM == SYSTEM.RSTSR0.LONG)
{
/* Enable writing to the RSTSR0 register */
r_rst_write_enable();
/* Clear reset factor flag */
SYSTEM.RSTSR0.LONG = 0x00000000;
/* Disable writing to the RSTSR0 register */
r_rst_write_disable();
/* Please coding the User program */
}
/* Software reset 1 is generated */
else if (RST_SOURCE_SWR1 == SYSTEM.RSTSR0.LONG)
{
/* Clear reset status flag */
/* Enable writing to the RSTSR0 register */
r_rst_write_enable();
/* Clear reset factor flag */
SYSTEM.RSTSR0.LONG = 0x00000000;
/* Disable writing to the RSTSR0 register */
r_rst_write_disable();
/* Please coding the User program */
}
else if (RST_SOURCE_RES == SYSTEM.RSTSR0.LONG) // RES# pin reset is generated
{
/* Clear reset status flag */
/* Enable writing to the RSTSR0 register */
r_rst_write_enable();
/* Clear reset factor flag */
SYSTEM.RSTSR0.LONG = 0x00000000;
/* Disable writing to the RSTSR0 register */
r_rst_write_disable();
/* Please add user code */
}
/* Any reset is not generated */
else
{
/* Please add user code */
}
}
/***********************************************************************************************************************
End of function reset_check
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name : cpg_init
* Description : Set CPU clock and LOCO clock by CPG function
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
static void cpg_init(void)
{
volatile uint32_t dummy;
UNUSED_VARIABLE(dummy);
/* Enables writing to the registers related to CPG function */
R_CPG_WriteEnable();
/* Enables LOCO clock operation */
SYSTEM.LOCOCR.BIT.LCSTP = CPG_LOCO_ENABLE;
/* Set CPUCLK to 450MHz, and dummy read at three times */
SYSTEM.PLL1CR.LONG = CPG_CPUCLK_450_MHz;
dummy = SYSTEM.PLL1CR.LONG;
dummy = SYSTEM.PLL1CR.LONG;
dummy = SYSTEM.PLL1CR.LONG;
/* Enables PLL1 operation */
SYSTEM.PLL1CR2.LONG = CPG_PLL1_ON;
/* Disables writing to the registers related to CPG function */
R_CPG_WriteDisable();
/* Wait about 100us for PLL1 (and LOCO) stabilisation */
R_CPG_PLLWait();
/* Enables writing to the registers related to CPG function */
R_CPG_WriteEnable();
/* Selects the PLL1 as clock source */
SYSTEM.SCKCR2.LONG = CPG_SELECT_PLL1;
/* Disables writing to the registers related to CPG function */
R_CPG_WriteDisable();
}
/***********************************************************************************************************************
End of function cpg_init
***********************************************************************************************************************/
/* End of File */
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,111 @@
/*******************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* System Name : RZ/T1 Init program
* File Name : r_atcm_init.c
* Version : 0.1
* Device : R7S910018
* Abstract : API for ATCM function
* Tool-Chain : GNUARM-NONEv14.02-EABI
* OS : not use
* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)
* Description : ATCM access wait setting API of RZ/T1
* Limitation : This wait setting could not be executed in ATCM program area.
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00 First Release
***********************************************************************************************************************/
/***********************************************************************************************************************
Includes <System Includes> , "Project Includes"
***********************************************************************************************************************/
#include <stdint.h>
#include "iodefine.h"
#include "r_system.h"
#include "r_atcm_init.h"
#include "r_typedefs.h"
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
#define ATCM_WRITE_ENABLE (0x0000A508)
#define ATCM_WRITE_DISABLE (0x0000A500)
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Imported global variables and functions (from other files)
***********************************************************************************************************************/
/***********************************************************************************************************************
Exported global variables and functions (to be accessed by other files)
***********************************************************************************************************************/
/***********************************************************************************************************************
Private variables and functions
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name : R_ATCM_WaitSet
* Description : Sets ATCM access wait.
* Arguments : atcm_wait
* Wait settings for ATCM access
* Return Value : none
***********************************************************************************************************************/
void R_ATCM_WaitSet(uint32_t atcm_wait)
{
volatile uint32_t dummy;
UNUSED_VARIABLE(dummy);
/* Enables writing to the ATCM register */
SYSTEM.PRCR.LONG = ATCM_WRITE_ENABLE;
dummy = SYSTEM.PRCR.LONG;
/* Sets ATCM access wait to atcm_wait value */
SYSTEM.SYTATCMWAIT.LONG = atcm_wait;
/* Disables writing to the ATCM register */
SYSTEM.PRCR.LONG = ATCM_WRITE_DISABLE;
dummy = SYSTEM.PRCR.LONG;
}
/***********************************************************************************************************************
End of function R_ATCM_WaitSet
***********************************************************************************************************************/
/* End of File */
@@ -0,0 +1,153 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* System Name : RZ/T1 Init program
* File Name : r_ram_init.c
* Version : 0.1
* Device : R7S910018
* Abstract : API for internal extended RAM function
* Tool-Chain : GNUARM-NONEv14.02-EABI
* OS : not use
* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)
* Description : internal extended RAM setting API of RZ/T1
* Limitation : none
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00 First Release
***********************************************************************************************************************/
/***********************************************************************************************************************
Includes <System Includes> , "Project Includes"
***********************************************************************************************************************/
#include <stdint.h>
#include "iodefine.h"
#include "r_system.h"
#include "r_ram_init.h"
#include "r_typedefs.h"
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
#define RAM_ECC_ENABLE (0x00000001)
#define RAM_ECC_DISABLE (0x00000000)
#define RAM_PROTECT (0x00000000)
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Imported global variables and functions (from other files)
***********************************************************************************************************************/
/***********************************************************************************************************************
Exported global variables and functions (to be accessed by other files)
***********************************************************************************************************************/
/***********************************************************************************************************************
Private variables and functions
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name : R_RAM_ECCEnable
* Description : Enable ECC function for internal extended RAM.
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
void R_RAM_ECCEnable(void)
{
/* Enables writing to the protected registers related to RAM function */
R_RAM_WriteEnable();
/* Enable ECC function */
ECCRAM.RAMEDC.LONG = RAM_ECC_ENABLE;
/* Disables writing to the protected registers related to RAM function */
R_RAM_WriteDisable();
}
/***********************************************************************************************************************
End of function R_RAM_ECCEnable
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name : R_RAM_WriteEnable
* Description : Enable writing to the protected registers related to RAM.
* And dummy read the register in order to fix the register value.
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
void R_RAM_WriteEnable(void)
{
volatile uint32_t dummy;
UNUSED_VARIABLE(dummy);
/* Special sequence for protect release */
ECCRAM.RAMPCMD.LONG = 0x000000A5; // Write fixed value 0x000000A5
ECCRAM.RAMPCMD.LONG = 0x00000001; // Write expected value
ECCRAM.RAMPCMD.LONG = 0x0000FFFE; // Write inverted value of the expected value
ECCRAM.RAMPCMD.LONG = 0x00000001; // Write expected value again
dummy = ECCRAM.RAMPCMD.LONG;
}
/***********************************************************************************************************************
End of function R_RAM_WriteEnable
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name : R_RAM_WriteDisable
* Description : Disable writing to the protected registers related to RAM.
* And dummy read the register in order to fix the register value.
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
void R_RAM_WriteDisable(void)
{
volatile uint32_t dummy;
UNUSED_VARIABLE(dummy);
/* Clear RAMPCMD register to zero */
ECCRAM.RAMPCMD.LONG = RAM_PROTECT;
dummy = ECCRAM.RAMPCMD.LONG;
}
/***********************************************************************************************************************
End of function R_RAM_WriteDisable
***********************************************************************************************************************/
/* End of File */
@@ -0,0 +1,128 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* System Name : RZ/T1 Init program
* File Name : r_reset.c
* Version : 0.1
* Device : R7S910018
* Abstract : API for RESET and Low-Power function
* Tool-Chain : GNUARM-NONEv14.02-EABI
* OS : not use
* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)
* Description : RESET and Low-Power API of RZ/T1
* Limitation : none
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00 First Release
***********************************************************************************************************************/
/***********************************************************************************************************************
Includes <System Includes> , "Project Includes"
***********************************************************************************************************************/
#include <stdint.h>
#include "iodefine.h"
#include "r_system.h"
#include "r_reset.h"
#include "r_typedefs.h"
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
#define RST_WRITE_ENABLE (0x0000A502)
#define RST_WRITE_DISABLE (0x0000A500)
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Imported global variables and functions (from other files)
***********************************************************************************************************************/
/***********************************************************************************************************************
Exported global variables and functions (to be accessed by other files)
***********************************************************************************************************************/
/***********************************************************************************************************************
Private variables and functions
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name : r_rst_write_enable
* Description : Enables writing to the registers related to RESET and Low-
* Power function. And dummy read the register in order to fix
* the register value.
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
void r_rst_write_enable(void)
{
volatile uint32_t dummy;
UNUSED_VARIABLE(dummy);
/* Enables writing to the Reset and Low-Power register */
SYSTEM.PRCR.LONG = RST_WRITE_ENABLE;
dummy = SYSTEM.PRCR.LONG;
}
/***********************************************************************************************************************
End of function r_rst_write_enable
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name : r_rst_write_disable
* Description : Disables writing to the registers related to RESET and Low-
* Power function. And dummy read the register in order to fix
* the register value.
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
void r_rst_write_disable(void)
{
volatile uint32_t dummy;
UNUSED_VARIABLE(dummy);
/* Disables writing to the Reset and Low-Power register */
SYSTEM.PRCR.LONG = RST_WRITE_DISABLE;
dummy = SYSTEM.PRCR.LONG;
}
/***********************************************************************************************************************
End of function r_rst_write_disable
***********************************************************************************************************************/
/* End of File */
@@ -0,0 +1,196 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* System Name : RZ/T1 SCIF program
* File Name : siochar.c
* Version : 0.1
* Device : R7S910018
* Abstract : Serial I/O settings controlling the character
* Tool-Chain : GNUARM-NONEv14.02-EABI
* OS : not use
* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)
* Description : Control the character with serial I/O
* Limitation : none
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00 First Release
***********************************************************************************************************************/
/***********************************************************************************************************************
Includes <System Includes> , "Project Includes"
***********************************************************************************************************************/
#include "r_cg_macrodriver.h"
#include "r_cg_userdefine.h"
#include "r_cg_scifa.h"
#include "siochar.h"
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Imported global variables and functions (from other files)
***********************************************************************************************************************/
/***********************************************************************************************************************
Exported global variables and functions (to be accessed by other files)
***********************************************************************************************************************/
/***********************************************************************************************************************
Private global variables and functions
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name: io_init_scifa2
* Description : This function initialises SCIFA channel 2 as UART mode.
* : The transmit and the receive of SCIFA channel 2 are enabled.
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
void io_init_scifa2 (void)
{
/* === Initialisation of SCIFA2 if not already initialised ==== */
if (1 == MSTP_SCIFA2)
{
R_SCIFA2_Create();
}
/* Ensure receive FIFO trigger is set to 1 */
SCIFA2.FCR.BIT.RTRG = 0U;
/* Reception triggered by one data */
SCIFA2.FTCR.BIT.RFTC = 1u;
/* Enable reception and receive interrupts */
SCIFA2.SCR.BIT.RE = 1U;
SCIFA2.SCR.BIT.RIE = 1U;
SCIFA2.SCR.BIT.REIE = 1U;
}
/***********************************************************************************************************************
End of function io_init_scifa2
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name: io_get_char
* Description : One character is received from SCIFA2, and it's data is returned.
* : This function keeps waiting until it can obtain the receiving data.
* Arguments : none
* Return Value : Character to receive (Byte).
***********************************************************************************************************************/
char io_get_char (void)
{
char data;
/* Confirming receive error (ER,BRK,FER,PER) */
if (SCIFA2.FSR.WORD & 0x09Cu)
{
/* ---- Detect receive error ---- */
/* Disable reception */
SCIFA2.SCR.BIT.RE = 0U;
/* Reset receiving FIFO */
SCIFA2.FCR.BIT.RFRST = 1U;
/* Clearing FIFO reception reset */
SCIFA2.FCR.BIT.RFRST = 0U;
/* Error bit clear */
SCIFA2.FSR.BIT.DR = 0U;
SCIFA2.FSR.BIT.RDF = 0U;
/* Enable reception */
SCIFA2.SCR.BIT.RE = 1U;
return (0);
}
/* Is there receive FIFO data? */
while (0 == SCIFA2.FSR.BIT.RDF)
{
/* Wait */
}
/* Read receive data */
data = SCIFA2.FRDR;
/* Clear RDF */
SCIFA2.FSR.BIT.RDF = 0U;
/* Is it overflowed? */
if (1 == SCIFA2.LSR.BIT.ORER)
{
/* ORER clear */
SCIFA2.LSR.BIT.ORER = 0U;
}
return (data);
}
/***********************************************************************************************************************
End of function io_get_char
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name: io_put_char
* Description : Character "buffer" is output to SCIFA2.
* : This function keeps waiting until it becomes the transmission
* : enabled state.
* Arguments : char buffer : character to output
* Return Value : None
***********************************************************************************************************************/
void io_put_char (char buffer)
{
/* Check if it is possible to transmit (TDFE flag) */
while (0 == SCIFA2.FSR.BIT.TDFE)
{
/* Wait */
}
/* Send the character via the terminal output */
R_SCIFA2_Serial_Send((uint8_t *)&buffer, 1);
/* Clear TEND flag */
SCIFA2.FSR.BIT.TEND = 0u;
}
/***********************************************************************************************************************
* End of function io_put_char
***********************************************************************************************************************/
/* End of File */
@@ -0,0 +1,226 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* System Name : RZ/T1 SCIF program
* File Name : siorw.c
* Version : 0.1
* Device : R7S910018
* Abstract : Serial I/O settings controlling the read and write command
* Tool-Chain : GNUARM-NONEv14.02-EABI
* OS : not use
* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)
* Description : Control the read/write command with serial I/O
* Limitation : none
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00 First Release
***********************************************************************************************************************/
/***********************************************************************************************************************
Includes <System Includes> , "Project Includes"
***********************************************************************************************************************/
#include <stdio.h>
#include "r_cg_macrodriver.h"
#include "r_cg_userdefine.h"
#include "r_cg_scifa.h"
#include "siochar.h"
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
/* File descriptor */
#define STDIN (0)
#define STDOUT (1)
#define STDERR (2)
#define SIORW_SUCCESS (0)
#define SIORW_ERROR (-1)
#define SIORW_FLAG_OFF (0)
#define SIORW_FLAG_ON (1)
/***********************************************************************************************************************
Imported global variables and functions (from other files)
***********************************************************************************************************************/
/***********************************************************************************************************************
Exported global variables and functions (to be accessed by other files)
***********************************************************************************************************************/
/***********************************************************************************************************************
Private global variables and functions
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name: sio_write
* Description : The character strings specified with buffer is output for n
* : bytes from serial port. The output is determined by file number fileno.
* : The effective outputs in this version are STDOUT and STDERR, and
* : it is output to the same serial port.
* : The line-feed code '\n'(LF) is converted in '\r'(CR)+'\n'(LF) to output.
* Arguments : int32_t file_no ; I : File number to be the target of writing
* : int_t * buffer ; O : Pointer to the area in which writing data is stored
* : uint32_t writing_b; I : Writing bytes
* Return Value : >=0 : Number of transmitting characters
* : -1 : File number error
***********************************************************************************************************************/
int32_t sio_write (int32_t file_no, const char * buffer, uint32_t writing_b)
{
uint32_t offset;
if ((STDOUT == file_no) || (STDERR == file_no))
{
for (offset = 0; offset < writing_b; offset++)
{
/* Writing in buffer converting line-feed code */
if ('\n' == (*(buffer + offset)))
{
if (0 == offset)
{
io_put_char('\r');
}
else
{
if ('\r' != (*((buffer + offset) - 1)))
{
io_put_char('\r');
}
}
io_put_char('\n');
}
else
{
io_put_char(*(buffer + offset));
}
}
return ((int32_t)offset);
}
/* File number error */
return SIORW_ERROR;
}
/***********************************************************************************************************************
* End of function sio_write
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name: sio_read
* Description : The character strings specified with buffer is input for
* : n bytes from serial port.The input is determined by file number fileno.
* : The effective input in this version is STDIN.
* Arguments : int32_t file_no ; I : File number to be the target of reading
* : int_t * buffer ; O : Pointer to the area in which reading data is stored
* : uint32_t reading_b; I : Reading bytes
* Return Value : >0 : Number of receiving characters
* : -1 : File number, receiving data error
***********************************************************************************************************************/
int32_t sio_read (int32_t file_no, char * buffer, uint32_t reading_b)
{
int32_t char_mem;
int32_t sp_char;
uint32_t offset;
static int32_t sjis_flg = SIORW_FLAG_OFF;
if (STDIN == file_no)
{
for (offset = 0; offset < reading_b; )
{
/* Reading receiving data */
char_mem = io_get_char();
/* -1 is returned when it is receiving data error */
if ((-1) == char_mem)
{
return SIORW_ERROR;
}
if (SIORW_FLAG_ON == sjis_flg)
{
sjis_flg = SIORW_FLAG_OFF;
sio_write(STDOUT, (char *)&char_mem, 1);
(*(buffer + offset)) = (char)char_mem;
offset++;
}
if ((0x20 <= char_mem) && (char_mem <= 0x7E))
{
/* Data possible to display */
sio_write(STDOUT, (char *)&char_mem, 1);
(*(buffer + offset)) = (char)char_mem;
offset++;
}
/* BS process */
if (('\b' == char_mem) && (offset > 0))
{ sp_char = 0x20;
sio_write(STDOUT, (char *)&char_mem, 1);
sio_write(STDOUT, (char *)&sp_char, 1);
sio_write(STDOUT, (char *)&char_mem, 1);
offset--;
}
/* CR process */
if ('\r' == char_mem)
{
(*(buffer + offset)) = '\n';
sio_write(STDOUT, buffer + offset, 1);
offset++;
}
/* Japanese SJIS ? */
if (((char_mem >= 0x80) && (char_mem < 0xA0)) || ((char_mem >= 0xE0) && (char_mem < 0xFE)))
{
/* Data possible to display */
sio_write(STDOUT, (char *)&char_mem, 1);
(*(buffer + offset)) = (char)char_mem;
offset++;
sjis_flg = SIORW_FLAG_ON;
}
}
return ((int32_t)offset);
}
/* File number error */
return SIORW_ERROR;
}
/***********************************************************************************************************************
End of function sio_read
***********************************************************************************************************************/
/* End of File */
@@ -0,0 +1,49 @@
/***********************************************************************************************************************
* 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) 2015 Renesas Electronics Corporation. All rights reserved.
************************************************************************************************************************/
/************************************************************************************************************************
* File Name : ascii.h
* Device(s) : RZ/T1 (R7S910018)
* Tool-Chain : GNUARM-NONEv14.02-EABI
* H/W Platform : RSK+RZT1 CPU Board
* Description : This Header file contains the Macro Definitions & prototypes
* for the functions used in lcd.c
************************************************************************************************************************/
/************************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.04.2015 1.00
************************************************************************************************************************/
/* Multiple inclusion prevention macro */
#ifndef ASCII_H
#define ASCII_H
/***********************************************************************************************************************
Macro Definitions
***********************************************************************************************************************/
extern const char g_ascii_table[][6];
/* ASCII_H */
#endif
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,227 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : lcd_pmod.h
* Device(s) : RZ/T1 (R7S910017)
* Tool-Chain : GNUARM-NONEv14.02-EABI
* H/W Platform : RSK+RZT1 CPU Board
*
* Description : This Header file contains the Macro Definitions & prototypes
* for the functions used in lcd.c
*
* This function is created to drive the Okaya LCD display with
* either ST7735 or ST7715 driver device. The commands for both
* the devices are the same.
*
* The display is controlled using the SPI bus. In this example,
* the SCI5 is used. This can be modified to the SCI connected to
* the PMOD interface. The SCI driver file will also be required.
*
* The display memory has an offset with respect to the actual
* pixel. This is not documented but realised from driving the
* display. The offset is set as LEFT MARGIN and TOP MARGIN.
* This offset is catered for internally, so as far as the user
* is concerned, cursor position 0,0 is the top left pixel.
*
* The simplest procedure to run the display is as follows:
* Init_LCD(); Initialise the serial port and set up the display.
*
* Clear the display.
* The font colour is set to white and background colour to black.
*
* DisplaySetFontColour(COL_YELLOW);
* set the font colour to desired colour
* DisplaySetBackColour(COL_BLUE);
* set the background colour to desired value
* DisplayCenter(1,"Renesas");
* write a title on line 1 of the display.
*
* Note: Line 0 is the top line.
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.04.2015 1.00
***********************************************************************************************************************/
/***********************************************************************************************************************
User Includes (Project Level Includes)
***********************************************************************************************************************/
/* Defines standard variable types used in this file */
#include <stdint.h>
#include "iodefine.h"
/***********************************************************************************************************************
Macro Definitions
***********************************************************************************************************************/
/* Multiple inclusion prevention macro */
#ifndef LCD_PMOD_H
#define LCD_PMOD_H
/***********************************************************************************************************************
Macro Definitions for Okaya display on PMOD connector
***********************************************************************************************************************/
/***********************************************************************************************************************
* SCREEN
*
* The screen size is 128 x 128 pixels, with coordinate 0,0 at the top left.
* The display controller is ST7735 or ST7715.
*
***********************************************************************************************************************/
/* 16 lines @ 8 bits = 128. */
#define SCREEN_HEIGHT (128)
#define SCREEN_WIDTH (128)
#ifndef USE_PMOD2
/* DATA/COMMAND select pin */
#define DATA_CMD_PIN (PORT7.PODR.BIT.B6)
/* Backlight enable pin */
#define BL_ENABLE_PIN (PORT7.PODR.BIT.B4)
/* Reset pin */
#define RESET_PIN (PORT6.PODR.BIT.B7)
#else
/* DATA/COMMAND select pin */
#define DATA_CMD_PIN (PORTM.PODR.BIT.B2)
/* Backlight enable pin */
#define BL_ENABLE_PIN (PORTM.PODR.BIT.B3)
/* Reset pin */
#define RESET_PIN (PORT5.PODR.BIT.B1)
#endif
/* Automatic calculation of parameters */
/* including a space */
#define FONT_WIDTH (6u)
/* including 1 pixel space */
#define FONT_HEIGHT (8u)
#define MAX_LINES (SCREEN_HEIGHT / FONT_HEIGHT)
#define CHAR_PER_LINE (SCREEN_WIDTH / FONT_WIDTH)
/* Allow 2 pixel margin on the left and the top */
#define LEFT_MARGIN (2u)
#define TOP_MARGIN (3u)
#define CR (0x0d)
#define LF (0x0a)
#define BS (0x08)
/***********************************************************************************************************************
* DISPLAY COLOUR DEFINITIONS (16 bits) R5G6B5 format
*
* Only Primary & secondary colours are defined here. Other colours can be
* created using RGB values.
***********************************************************************************************************************/
#define COL_BLACK (0x0000)
#define COL_RED (0xF800)
#define COL_GREEN (0x07E0)
#define COL_BLUE (0x001F)
#define COL_YELLOW (0xFFE0)
#define COL_CYAN (0x07FF)
#define COL_MAGENTA (0xF81F)
#define COL_WHITE (0xFFFF)
/***********************************************************************************************************************
DISPLAY COMMAND SET ST7735
***********************************************************************************************************************/
#define ST7735_NOP (0x0)
#define ST7735_SWRESET (0x01)
#define ST7735_SLPIN (0x10)
#define ST7735_SLPOUT (0x11)
#define ST7735_PTLON (0x12)
#define ST7735_NORON (0x13)
#define ST7735_INVOFF (0x20)
#define ST7735_INVON (0x21)
#define ST7735_DISPOFF (0x28)
#define ST7735_DISPON (0x29)
#define ST7735_CASET (0x2A)
#define ST7735_RASET (0x2B)
#define ST7735_RAMWR (0x2C)
#define ST7735_COLMOD (0x3A)
#define ST7735_MADCTL (0x36)
#define ST7735_FRMCTR1 (0xB1)
#define ST7735_INVCTR (0xB4)
#define ST7735_DISSET5 (0xB6)
#define ST7735_PWCTR1 (0xC0)
#define ST7735_PWCTR2 (0xC1)
#define ST7735_PWCTR3 (0xC2)
#define ST7735_VMCTR1 (0xC5)
#define ST7735_PWCTR6 (0xFC)
#define ST7735_GMCTRP1 (0xE0)
#define ST7735_GMCTRN1 (0xE1)
/* delay for delay counter */
#define DELAY_TIMING (0x08)
/***********************************************************************************************************************
* Function Prototypes
***********************************************************************************************************************/
/* Initialises the debug LCD */
void lcd_init (void);
/* Display string at specific line of display */
void display_lcd (uint8_t const line, uint8_t const column, uint8_t const * string);
/* Display the string at current cursor position */
void display_str (uint8_t const * str);
/* Display the sting at the centre of the specified line */
void display_center (uint8_t const line_num, uint8_t * const str);
/* Clears the display */
void clear_display (uint16_t colour);
/* Clear a specified line */
void display_clear_line(uint8_t line_num);
/* Set the current cursor position */
void display_set_cursor (uint8_t const x, uint8_t const y);
/* Delay function */
void display_delay_us (uint32_t time_us);
void display_delay_ms (uint32_t time_ms);
/* Set Font colour */
void display_set_font_colour (uint16_t const col);
/* Set Background colour */
void display_set_back_colour (uint16_t const col);
/* Simple image blit */
void display_image (uint8_t *image, uint8_t image_width,
uint8_t image_height, uint8_t loc_x, uint8_t loc_y);
/* Enable display */
void display_on (void);
/* Disable display */
void display_off (void);
/* LCD_PMOD_H */
#endif
@@ -0,0 +1,44 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/******************************************************************************
* File Name : logo_data.h
* Device(s) : RZ/A1H (R7S910018)
* Tool-Chain : GNUARM-NONEv14.02-EABI
* H/W Platform : RSK+T1 CPU Board
* Description : Renesas Logo 128*24 pixels
******************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.10.2014 1.00
***********************************************************************************************************************/
/* Multiple inclusion prevention macro */
#ifndef LOGO_DATA_H
#define LOGO_DATA_H
/* Declare the image data section */
extern const uint8_t g_rgb888_logo[];
/* LOGO_DATA_H */
#endif
@@ -0,0 +1,64 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* System Name : RZ/T1 Init program
* File Name : r_atcm.h
* Version : 0.1
* Device : R7S910018
* Abstract : API for ATCM function
* Tool-Chain : GNUARM-NONEv14.02-EABI
* OS : not use
* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)
* Description : ATCM access wait setting API of RZ/T1
* Limitation : none
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00 First Release
***********************************************************************************************************************/
#ifndef _R_ATCM_HEADER_
#define _R_ATCM_HEADER_
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
#define ATCM_WAIT_1_OPT (0)
#define ATCM_WAIT_1 (1)
#define ATCM_WAIT_0 (2)
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Exported global variables and functions (to be accessed by other files)
***********************************************************************************************************************/
void R_ATCM_WaitSet(uint32_t atcm_wait);
#endif
/* End of File */
@@ -0,0 +1,186 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* System Name : RZ/T1 Init program
* File Name : r_bsc.h
* Version : 0.1
* Device : R7S910018
* Abstract : Definitions for BSC functions
* Tool-Chain : GNUARM-NONEv14.02-EABI
* OS : not use
* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)
* Description : BSC setting API of RZ/T1
* Limitation : none
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00 First Release
***********************************************************************************************************************/
#ifndef _R_BSC_HEADER_
#define _R_BSC_HEADER_
/***********************************************************************************************************************
Includes <System Includes> , "Project Includes"
***********************************************************************************************************************/
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
#define BSC_IDLE_CYCLE_0 (0)
#define BSC_IDLE_CYCLE_1 (1)
#define BSC_IDLE_CYCLE_2 (2)
#define BSC_IDLE_CYCLE_4 (3)
#define BSC_IDLE_CYCLE_6 (4)
#define BSC_IDLE_CYCLE_8 (5)
#define BSC_IDLE_CYCLE_10 (6)
#define BSC_IDLE_CYCLE_12 (7)
#define BSC_TYPE_NORMAL (0)
#define BSC_TYPE_BURST_ROM_ASYNC (1)
#define BSC_TYPE_MPX_IO (2)
#define BSC_TYPE_SRAM_BYTE (3)
#define BSC_TYPE_SDRAM (4)
#define BSC_TYPE_BURST_ROM_SYNC (7)
#define BSC_WIDTH_8_BIT (1)
#define BSC_WIDTH_16_BIT (2)
#define BSC_WIDTH_32_BIT (3)
#define BSC_DELAY_STATE_CYCLE_0_5 (0)
#define BSC_DELAY_STATE_CYCLE_1_5 (1)
#define BSC_DELAY_STATE_CYCLE_2_5 (2)
#define BSC_DELAY_STATE_CYCLE_3_5 (3)
#define BSC_EXT_WAIT_VALID (0)
#define BSC_EXT_WAIT_IGNORED (1)
#define BSC_ACCESS_WAIT_0 (0)
#define BSC_ACCESS_WAIT_1 (1)
#define BSC_ACCESS_WAIT_2 (2)
#define BSC_ACCESS_WAIT_3 (3)
#define BSC_ACCESS_WAIT_4 (4)
#define BSC_ACCESS_WAIT_5 (5)
#define BSC_ACCESS_WAIT_6 (6)
#define BSC_ACCESS_WAIT_8 (7)
#define BSC_ACCESS_WAIT_10 (8)
#define BSC_ACCESS_WAIT_12 (9)
#define BSC_ACCESS_WAIT_14 (10)
#define BSC_ACCESS_WAIT_18 (11)
#define BSC_ACCESS_WAIT_24 (12)
#define BSC_WRITE_ACCESS_WAIT_SAME (0)
#define BSC_WRITE_ACCESS_WAIT_0 (1)
#define BSC_WRITE_ACCESS_WAIT_1 (2)
#define BSC_WRITE_ACCESS_WAIT_2 (3)
#define BSC_WRITE_ACCESS_WAIT_3 (4)
#define BSC_WRITE_ACCESS_WAIT_4 (5)
#define BSC_WRITE_ACCESS_WAIT_5 (6)
#define BSC_WRITE_ACCESS_WAIT_6 (7)
#define BSC_BYTE_ENABLE_RD_WR (0)
#define BSC_BYTE_ENABLE_WE (1)
#define BSC_CAS_LATENCY_1 (0)
#define BSC_CAS_LATENCY_2 (1)
#define BSC_CAS_LATENCY_3 (2)
#define BSC_CAS_LATENCY_4 (3)
#define BSC_WTRC_IDLE_2 (0)
#define BSC_WTRC_IDLE_3 (1)
#define BSC_WTRC_IDLE_5 (2)
#define BSC_WTRC_IDLE_8 (3)
#define BSC_TRWL_CYCLE_0 (0)
#define BSC_TRWL_CYCLE_1 (1)
#define BSC_TRWL_CYCLE_2 (2)
#define BSC_TRWL_CYCLE_3 (3)
#define BSC_PRECHARGE_0 (0x00000000)
#define BSC_PRECHARGE_1 (0x00000008)
#define BSC_PRECHARGE_2 (0x00000010)
#define BSC_PRECHARGE_3 (0x00000018)
#define BSC_WTRCD_WAIT_0 (0)
#define BSC_WTRCD_WAIT_1 (1)
#define BSC_WTRCD_WAIT_2 (2)
#define BSC_WTRCD_WAIT_3 (3)
#define BSC_WTRP_WAIT_0 (0)
#define BSC_WTRP_WAIT_1 (1)
#define BSC_WTRP_WAIT_2 (2)
#define BSC_WTRP_WAIT_3 (3)
#define BSC_ROW_11_BIT (0)
#define BSC_ROW_12_BIT (1)
#define BSC_ROW_13_BIT (2)
#define BSC_COL_8_BIT (0)
#define BSC_COL_9_BIT (1)
#define BSC_COL_10_BIT (2)
#define BSC_BACTV_AUTO (0)
#define BSC_BACTV_BANK (1)
#define BSC_PDOWN_INVALID (0)
#define BSC_PDOWN_VALID (1)
#define BSC_RMODE_AUTO (0)
#define BSC_RMODE_SELF (1)
#define BSC_RFSH_NONE (0)
#define BSC_RFSH_DONE (1)
#define BSC_DEEP_SELF (0)
#define BSC_DEEP_DEEP (1)
#define BSC_PROTECT_KEY (0xA55A0000)
#define BSC_RFSH_TIME_1 (0)
#define BSC_RFSH_TIME_2 (1)
#define BSC_RFSH_TIME_4 (2)
#define BSC_RFSH_TIME_6 (3)
#define BSC_RFSH_TIME_8 (4)
#define BSC_CKS_DIV_STOP (0x00000000)
#define BSC_CKS_DIV_4 (0x00000008)
#define BSC_CKS_DIV_16 (0x00000010)
#define BSC_CKS_DIV_64 (0x00000018)
#define BSC_CKS_DIV_256 (0x00000020)
#define BSC_CKS_DIV_1024 (0x00000028)
#define BSC_CKS_DIV_2048 (0x00000030)
#define BSC_CKS_DIV_4096 (0x00000038)
#define BSC_CMIE_DISABLE (0x00000000)
#define BSC_CMIE_ENABLE (0x00000040)
/***********************************************************************************************************************
Exported global variables and functions (to be accessed by other files)
***********************************************************************************************************************/
#endif
/* End of File */
@@ -0,0 +1,64 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* System Name : RZ/T1 Init program
* File Name : r_ram.h
* Version : 0.1
* Device : R7S910018
* Abstract : API for internal extended RAM function
* Tool-Chain : GNUARM-NONEv14.02-EABI
* OS : not use
* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)
* Description : Internal extended RAM setting API of RZ/T1
* Limitation : none
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00 First Release
***********************************************************************************************************************/
#ifndef _R_RAM_HEADER_
#define _R_RAM_HEADER_
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Exported global variables and functions (to be accessed by other files)
***********************************************************************************************************************/
void R_RAM_Init(void);
void R_RAM_ECCEnable(void);
void R_RAM_WriteEnable(void);
void R_RAM_WriteDisable(void);
#endif
/* End of File */
@@ -0,0 +1,62 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* System Name : RZ/T1 Init program
* File Name : r_reset.h
* Version : 0.1
* Device : R7S910018
* Abstract : API for reset function
* Tool-Chain : GNUARM-NONEv14.02-EABI
* OS : not use
* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)
* Description : Reset function API of RZ/T1
* Limitation : none
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00 First Release
***********************************************************************************************************************/
#ifndef _R_RESET_HEADER_
#define _R_RESET_HEADER_
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
#define RST_SOURCE_RES (0x00000002)
#define RST_SOURCE_ECM (0x00000004)
#define RST_SOURCE_SWR1 (0x00000008)
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/* RESET and Low-Power function registers access control */
void r_rst_write_enable(void);
void r_rst_write_disable(void);
#endif
/* End of File */
@@ -0,0 +1,116 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* System Name : RZ/T1 Init program
* File Name : r_system.h
* Version : 0.1
* Device : R7S910018
* Abstract : Definitions for System
* Tool-Chain : GNUARM-NONEv14.02-EABI
* OS : not use
* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)
* Description : Define the system settings ans value.
* Limitation : none
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.05.2015 1.00 First Release
***********************************************************************************************************************/
#ifndef _R_SYSTEM_HEADER_
#define _R_SYSTEM_HEADER_
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
#define MSTP_CMTW1 SYSTEM.MSTPCRA.BIT.MSTPCRA0
#define MSTP_CMTW0 SYSTEM.MSTPCRA.BIT.MSTPCRA1
#define MSTP_CMT2 SYSTEM.MSTPCRA.BIT.MSTPCRA2
#define MSTP_CMT1 SYSTEM.MSTPCRA.BIT.MSTPCRA3
#define MSTP_CMT0 SYSTEM.MSTPCRA.BIT.MSTPCRA4
#define MSTP_PPG1 SYSTEM.MSTPCRA.BIT.MSTPCRA5
#define MSTP_PPG0 SYSTEM.MSTPCRA.BIT.MSTPCRA6
#define MSTP_TPU1 SYSTEM.MSTPCRA.BIT.MSTPCRA7
#define MSTP_TPU0 SYSTEM.MSTPCRA.BIT.MSTPCRA8
#define MSTP_GPTA SYSTEM.MSTPCRA.BIT.MSTPCRA9
#define MSTP_MTU3 SYSTEM.MSTPCRA.BIT.MSTPCRA11
#define MSTP_RSCAN SYSTEM.MSTPCRB.BIT.MSTPCRB1
#define MSTP_RIIC1 SYSTEM.MSTPCRB.BIT.MSTPCRB2
#define MSTP_RIIC0 SYSTEM.MSTPCRB.BIT.MSTPCRB3
#define MSTP_SCIFA4 SYSTEM.MSTPCRB.BIT.MSTPCRB5
#define MSTP_SCIFA3 SYSTEM.MSTPCRB.BIT.MSTPCRB6
#define MSTP_SCIFA2 SYSTEM.MSTPCRB.BIT.MSTPCRB7
#define MSTP_SCIFA1 SYSTEM.MSTPCRB.BIT.MSTPCRB8
#define MSTP_SCIFA0 SYSTEM.MSTPCRB.BIT.MSTPCRB9
#define MSTP_RSPI3 SYSTEM.MSTPCRB.BIT.MSTPCRB10
#define MSTP_RSPI2 SYSTEM.MSTPCRB.BIT.MSTPCRB11
#define MSTP_RSPI1 SYSTEM.MSTPCRB.BIT.MSTPCRB12
#define MSTP_RSPI0 SYSTEM.MSTPCRB.BIT.MSTPCRB13
#define MSTP_ETHERSW SYSTEM.MSTPCRB.BIT.MSTPCRB14
#define MSTP_ECATC SYSTEM.MSTPCRB.BIT.MSTPCRB15
#define MSTP_EMDIO SYSTEM.MSTPCRB.BIT.MSTPCRB16
#define MSTP_ERMII SYSTEM.MSTPCRB.BIT.MSTPCRB17
#define MSTP_HWRTOS SYSTEM.MSTPCRB.BIT.MSTPCRB18
#define MSTP_CLKOUT25M SYSTEM.MSTPCRB.BIT.MSTPCRB19
#define MSTP_USB SYSTEM.MSTPCRC.BIT.MSTPCRC1
#define MSTP_DSMIF SYSTEM.MSTPCRC.BIT.MSTPCRC2
#define MSTP_TEMPS SYSTEM.MSTPCRC.BIT.MSTPCRC3
#define MSTP_S12ADC1 SYSTEM.MSTPCRC.BIT.MSTPCRC4
#define MSTP_S12ADC0 SYSTEM.MSTPCRC.BIT.MSTPCRC5
#define MSTP_ELC SYSTEM.MSTPCRC.BIT.MSTPCRC6
#define MSTP_BSC SYSTEM.MSTPCRC.BIT.MSTPCRC7
#define MSTP_CKIO SYSTEM.MSTPCRC.BIT.MSTPCRC8
#define MSTP_SPIBSC SYSTEM.MSTPCRC.BIT.MSTPCRC9
#define MSTP_DOC SYSTEM.MSTPCRC.BIT.MSTPCRC10
#define MSTP_CRC SYSTEM.MSTPCRC.BIT.MSTPCRC11
#define MSTP_CLMA2 SYSTEM.MSTPCRC.BIT.MSTPCRC12
#define MSTP_CLMA1 SYSTEM.MSTPCRC.BIT.MSTPCRC13
#define MSTP_CLMA0 SYSTEM.MSTPCRC.BIT.MSTPCRC14
#define MSTP_SSI SYSTEM.MSTPCRD.BIT.MSTPCRD2
#define MSTP_DMAC1 SYSTEM.MSTPCRE.BIT.MSTPCRE4
#define MSTP_DMAC0 SYSTEM.MSTPCRE.BIT.MSTPCRE5
#define MSTP_CORESIGHT SYSTEM.MSTPCRF.BIT.MSTPCRF0
#define __MSTP( x ) MSTP ## x
#define _MSTP( x ) __MSTP( x )
#define MSTP( x ) _MSTP( _ ## x )
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Exported global variables and functions (to be accessed by other files)
***********************************************************************************************************************/
/* End _R_SYSTEM_HEADER_ */
#endif
/* End of File */
@@ -0,0 +1,87 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_typedefs.h
* Device(s) : RZ/A1H (R7S910018)
* Tool-Chain : GNUARM-NONEv14.02-EABI
* H/W Platform : RSK+T1 CPU Board
* Description : basic type definition
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.10.2014 1.00
***********************************************************************************************************************/
/***********************************************************************************************************************
Includes <System Includes> , "Project Includes"
***********************************************************************************************************************/
#include <stdint.h>
/* Multiple inclusion prevention macro */
#ifndef R_TYPEDEFS_H
#define R_TYPEDEFS_H
/* in case <stdio.h> has defined it. */
#ifndef NULL
#define NULL (0)
#endif
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
#if !defined(__bool_true_false_are_defined) && !defined(__cplusplus)
#define FALSE (0)
#define TRUE (1)
#endif
/* These two macros are used to suppress warnings generated by unused variables.
Writing to some registers require a read instruction following the write.
A dummy variable is declared and used to read the register written to. */
#define UNUSED_PARAM(param) ((void)(param))
#define UNUSED_VARIABLE(param) ((void)(param))
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
typedef char char_t;
typedef unsigned int bool_t;
typedef int int_t;
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed long int32_t;
typedef signed long long int64_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned long uint32_t;
typedef unsigned long long uint64_t;
typedef float float32_t;
typedef double float64_t;
typedef long double float128_t;
/* R_TYPEDEFS_H */
#endif
@@ -0,0 +1,57 @@
/***********************************************************************************************************************
* 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) 2014 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : siochar.h
* Device(s) : RZ/A1H (R7S910018)
* Tool-Chain : GNUARM-NONEv14.02-EABI
* H/W Platform : RSK+T1 CPU Board
* Description : Sample Program - Terminal I/O header file
***********************************************************************************************************************/
/***********************************************************************************************************************
* History : DD.MM.YYYY Version Description
* : 21.10.2014 1.00
***********************************************************************************************************************/
/* Multiple inclusion prevention macro */
#ifndef SIO_CHAR_H
#define SIO_CHAR_H
/***********************************************************************************************************************
Includes <System Includes> , "Project Includes"
***********************************************************************************************************************/
/***********************************************************************************************************************
Functions Prototypes
***********************************************************************************************************************/
int32_t sio_write (int32_t file_no, const char * buffer, uint32_t writing_b);
int32_t sio_read (int32_t file_no, char * buffer, uint32_t reading_b);
void io_init_scifa2 (void);
char io_get_char (void);
void io_put_char (char buffer);
/* SIO_CHAR_H */
#endif
/* End of File */
@@ -0,0 +1,5 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
PATH := $(PATH):C:\PROGRA~2\KPIT\GNUARM~1.02-\ARM-NO~1\ARM-NO~1\bin;C:\PROGRA~2\KPIT\GNUARM~1.02-\ARM-NO~1\ARM-NO~1\libexec\gcc\arm-none-eabi\4.9-GNUARM-NONE_v14.02
@@ -0,0 +1,212 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_cgc.c
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : This file implements device driver for CGC module.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
/***********************************************************************************************************************
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_cg_cgc.h"
/* Start user code for include. Do not edit comment generated here */
#include "r_reset.h"
#include "r_system.h"
#include "r_typedefs.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 */
#define CPG_WRITE_ENABLE (0x0000A501)
#define CPG_WRITE_DISABLE (0x0000A500)
#define CPG_CMT0_CLOCK_PCLKD_32 (1)
#define CPG_CMT0_CMI0_ENABLE (1)
#define CPG_CMT0_CONST_100_US (0xEA)
#define CPG_CMT0_START (1)
#define CPG_CMT0_STOP (0)
#define CPG_CMT_REG_CLEAR (0x0000)
/* 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)
{
uint16_t w_count;
/* LOCO circuit disable */
SYSTEM.LOCOCR.BIT.LCSTP = 1U;
/* Systen clock control register setting */
SYSTEM.SCKCR.LONG = _CGC_CKIO_0 | _CGC_TCLK_0 | _CGC_PCLKE_0 | _CGC_PCLKF_0 | _CGC_PCLKG_0 | _CGC_SERICLK_0 |
_CGC_ETCKE_0 | _CGC_ETCKD_0;
/* Set the CPU frequency for PLL1 */
SYSTEM.PLL1CR.BIT.CPUCKSEL = _CGC_PLL1_CPUCKSEL_600;
/* PLL1 circuit enable */
SYSTEM.PLL1CR2.BIT.PLL1EN = 1U;
/* Wait 100us for PLL1 stabilization */
for (w_count = 0U; w_count < _CGC_PLL_WAIT_CYCLE; w_count++)
{
nop();
}
/* Set system clock register 2 to PLL1 */
SYSTEM.SCKCR2.BIT.CKSEL0 = 1U;
/* Delta-sigma interface operation setting, DSCLK0 and DSCLK1 both in master mode */
SYSTEM.DSCR.LONG = _CGC_DSSEL0_MASTER | _CGC_DSCLK0_0 | _CGC_DSSEL1_MASTER | _CGC_DSCLK1_0;
}
/* Start user code for adding. Do not edit comment generated here */
/***********************************************************************************************************************
* Function Name : R_CPG_WriteEnable
* Description : Enables writing to the registers related to CPG function.
* And dummy read the register in order to fix the register value.
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
void R_CPG_WriteEnable(void)
{
volatile uint32_t dummy = 0;
UNUSED_VARIABLE(dummy);
/* Enables writing to the CPG register */
SYSTEM.PRCR.LONG = CPG_WRITE_ENABLE;
dummy = SYSTEM.PRCR.LONG;
}
/***********************************************************************************************************************
End of function R_CPG_WriteEnable
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name : R_CPG_WriteDisable
* Description : Disables writing to the registers related to CPG function.
* And dummy read the register in order to fix the register value.
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
void R_CPG_WriteDisable(void)
{
volatile uint32_t dummy = 0;
UNUSED_VARIABLE(dummy);
/* Disables writing to the CPG register */
SYSTEM.PRCR.LONG = CPG_WRITE_DISABLE;
dummy = SYSTEM.PRCR.LONG;
}
/***********************************************************************************************************************
End of function R_CPG_WriteDisable
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name : R_CPG_PLLWait
* Description : Wait about 100us for PLL stabilisation by using CMT0
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
void R_CPG_PLLWait(void)
{
/* Enables writing to the registers related to Reset and Low-Power function */
r_rst_write_enable();
/* Release from the CMT0 module-stop state */
MSTP(CMT0) = 0;
/* Disables writing to the registers related to Reset and Low-Power function */
r_rst_write_disable();
/* Set CMT0 to 100us interval operation */
CMT0.CMCR.BIT.CKS = CPG_CMT0_CLOCK_PCLKD_32;
CMT0.CMCR.BIT.CMIE = CPG_CMT0_CMI0_ENABLE;
CMT0.CMCNT = CPG_CMT_REG_CLEAR;
CMT0.CMCOR = CPG_CMT0_CONST_100_US;
/* Set IRQ21(CMI0) for polling sequence */
VIC.IEC0.BIT.IEC21 = 1U;
VIC.PLS0.BIT.PLS21 = 1U;
VIC.PIC0.BIT.PIC21 = 1U;
/* Start CMT0 count */
CMT.CMSTR0.BIT.STR0 = CPG_CMT0_START;
/* Wait for 100us (IRQ21 is generated) */
while ( !(VIC.RAIS0.BIT.RAI21) )
{
/* Wait */
}
/* Stop CMT0 count */
CMT.CMSTR0.BIT.STR0 = CPG_CMT0_STOP;
/* Initialise CMT0 settings and clear interrupt detection edge */
CMT0.CMCR.WORD = CPG_CMT_REG_CLEAR;
CMT0.CMCNT = CPG_CMT_REG_CLEAR;
CMT0.CMCOR = CPG_CMT_REG_CLEAR;
CMT.CMSTR0.WORD = CPG_CMT_REG_CLEAR;
VIC.PIC0.BIT.PIC21 = 1U;
/* Enables writing to the registers related to Reset and Low-Power function */
r_rst_write_enable();
/* Set CMT0 to module-stop state */
MSTP(CMT0) = 1;
/* Disables writing to the registers related to Reset and Low-Power function */
r_rst_write_disable();
}
/***********************************************************************************************************************
End of function R_CPG_PLLWait
***********************************************************************************************************************/
/* End user code. Do not edit comment generated here */
@@ -0,0 +1,203 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_cgc.h
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : This file implements device driver for CGC module.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
#ifndef CGC_H
#define CGC_H
/***********************************************************************************************************************
Macro definitions (Register bit)
***********************************************************************************************************************/
/*
System Clock Control Register (SCKCR)
*/
/* Peripheral Module Clock G (PCLKG) */
#define _CGC_PCLKG_0 (0x00000000UL) /* 60 MHz */
#define _CGC_PCLKG_1 (0x00000001UL) /* 30 MHz */
#define _CGC_PCLKG_2 (0x00000002UL) /* 15 MHz */
#define _CGC_PCLKG_3 (0x00000003UL) /* 7.5 MHz */
/* Peripheral Module Clock F (PCLKF) */
#define _CGC_PCLKF_0 (0x00000000UL) /* 60 MHz */
#define _CGC_PCLKF_1 (0x00000004UL) /* 30 MHz */
#define _CGC_PCLKF_2 (0x00000008UL) /* 15 MHz */
#define _CGC_PCLKF_3 (0x0000000CUL) /* 7.5 MHz */
/* Peripheral Module Clock E (PCLKE) */
#define _CGC_PCLKE_0 (0x00000000UL) /* 75 MHz */
#define _CGC_PCLKE_1 (0x00000010UL) /* 37.5 MHz */
#define _CGC_PCLKE_2 (0x00000020UL) /* 18.75 MHz */
/* External Bus Clock (CKIO) */
#define _CGC_CKIO_0 (0x00000000UL) /* 75 MHz */
#define _CGC_CKIO_1 (0x00000100UL) /* 50 MHz */
#define _CGC_CKIO_2 (0x00000200UL) /* 37.5 MHz */
#define _CGC_CKIO_3 (0x00000300UL) /* 30 MHz */
#define _CGC_CKIO_4 (0x00000400UL) /* 25 MHz */
#define _CGC_CKIO_5 (0x00000500UL) /* 21.43 MHz */
#define _CGC_CKIO_6 (0x00000600UL) /* 18.75 MHz */
/* Ether Clock E (ETCLKE) */
#define _CGC_ETCKE_0 (0x00000000UL) /* 25 MHz */
#define _CGC_ETCKE_1 (0x00001000UL) /* 50 MHz */
#define _CGC_ETCKE_2 (0x00003000UL) /* 25 MHz */
/* Ether Clock D (ETCLKD) */
#define _CGC_ETCKD_0 (0x00000000UL) /* 12.5 MHz */
#define _CGC_ETCKD_1 (0x00004000UL) /* 6.25 MHz */
#define _CGC_ETCKD_2 (0x00008000UL) /* 3.125 MHz */
#define _CGC_ETCKD_3 (0x0000C000UL) /* 1.563 MHz */
/* High-Speed Serial Clock (SERICLK) */
#define _CGC_SERICLK_0 (0x00000000UL) /* 150 MHz */
#define _CGC_SERICLK_1 (0x00010000UL) /* 120 MHz */
/* USB Clock (USBMCLK) */
#define _CGC_UCK_0 (0x00000000UL) /* 50 MHz */
#define _CGC_UCK_1 (0x00020000UL) /* 24 MHz */
/* Trace Interface Clock (TCLK) */
#define _CGC_TCLK_0 (0x00000000UL) /* 150 MHz */
#define _CGC_TCLK_1 (0x00100000UL) /* 75 MHz */
/*
System Clock Control Register 2 (SCKCR2)
*/
#define _CGC_SKSEL0_PLL0 (0x00000000UL) /* PLL0 */
#define _CGC_SKSEL0_PLL1 (0x00000001UL) /* PLL1 */
/*
Delta-Sigma Interface Clock Control Register (DSCR)
*/
#define _CGC_DSSEL0_SLAVE (0x00000000UL) /* Supplied from outside the LSI (slave operation) */
#define _CGC_DSSEL0_MASTER (0x00000001UL) /* Supplied from CGC (master operation) */
#define _CGC_DSCLK0_0 (0x00000000UL) /* 25 MHz */
#define _CGC_DSCLK0_1 (0x00000002UL) /* 18.75 MHz */
#define _CGC_DSCLK0_2 (0x00000004UL) /* 12.5 MHz */
#define _CGC_DSCLK0_3 (0x00000006UL) /* 9.375 MHz */
#define _CGC_DSCLK0_4 (0x00000008UL) /* 6.25 MHz */
#define _CGC_DSCLK0_POL_NORMAL (0x00000000UL) /* Polarity not inverted (master and slave operation) */
#define _CGC_DSCLK0_POL_INVERT (0x00000010UL) /* Polarity inverted (master and slave operation) */
#define _CGC_DSCLK0_SLAVE_MCLK0_2 (0x00000000UL) /* Clock input to MCLK0,MCLK1,MCLK2 pins are used */
#define _CGC_DSCLK0_SLAVE_MCLK0 (0x00000020UL) /* Clock input to MCLK0 pin is used */
#define _CGC_DSSEL1_SLAVE (0x00000000UL) /* Supplied from outside the LSI (slave operation) */
#define _CGC_DSSEL1_MASTER (0x00010000UL) /* Supplied from CGC (master operation) */
#define _CGC_DSCLK1_0 (0x00000000UL) /* 25 MHz */
#define _CGC_DSCLK1_1 (0x00020000UL) /* 18.75 MHz */
#define _CGC_DSCLK1_2 (0x00040000UL) /* 12.5 MHz */
#define _CGC_DSCLK1_3 (0x00060000UL) /* 9.375 MHz */
#define _CGC_DSCLK1_4 (0x00080000UL) /* 6.25 MHz */
#define _CGC_DSCLK1_POL_NORMAL (0x00000000UL) /* Polarity not inverted (master and slave operation) */
#define _CGC_DSCLK1_POL_INVERT (0x00100000UL) /* Polarity inverted (master and slave operation) */
/*
PLL1 Control Register (PLL1CR)
*/
#define _CGC_PLL1_CPUCKSEL_150 (0x00U) /* 150 MHz */
#define _CGC_PLL1_CPUCKSEL_300 (0x01U) /* 300 MHz */
#define _CGC_PLL1_CPUCKSEL_450 (0x02U) /* 450 MHz */
#define _CGC_PLL1_CPUCKSEL_600 (0x03U) /* 600 MHz */
/*
PLL1 Control Register 2 (PLL1CR2)
*/
#define _CGC_PLL1_DISABLE (0x00000000UL) /* PLL1 stops */
#define _CGC_PLL1_ENABLE (0x00000001UL) /* PLL1 runs */
/*
Low-Speed On-Chip Oscillator Control Register (LOCOCR)
*/
#define _CGC_LOCO_RUN (0x00000000UL) /* LOCO Run */
#define _CGC_LOCO_STOP (0x00000001UL) /* LOCO Stop */
/*
Oscillation Stop Detection Control Register (OSTDCR)
*/
/* Oscillation Stop Detection Interrupt Enable (OSTDIE) */
#define _CGC_OSC_STOP_DET_INT_DISABLE (0x00000000UL) /* Stop detection interrupt is disabled */
#define _CGC_OSC_STOP_DET_INT_ENABLE (0x00000001UL) /* Stop detection interrupt is enabled */
/* Oscillation Stop Detection Function Enable (OSTDE) */
#define _CGC_OSC_STOP_DET_DISABLE (0x00000000UL) /* Oscillation stop detection function is disabled */
#define _CGC_OSC_STOP_DET_ENABLE (0x00000080UL) /* Oscillation stop detection function is enabled */
/*
ECM Non-maskable Interrupt Configuration Register 0 (ECMNMICFG0)
*/
#define _ECM_NMI_OSC_STOP_DISABLE (0x00000000UL) /* Stop detection NMI interrupt is disabled */
#define _ECM_NMI_OSC_STOP_ENABLE (0x00080000UL) /* Stop detection NMI interrupt is enabled */
/*
ECM Maskable Interrupt Configuration Register 0 (ECMMICFG0)
*/
#define _ECM_MI_OSC_STOP_DISABLE (0x00000000UL) /* Stop detection Maskable interrupt is disabled */
#define _ECM_MI_OSC_STOP_ENABLE (0x00080000UL) /* Stop detection Maskable interrupt is enabled */
/*
Debugging Interface Control Register (DBGIFCNT)
*/
#define _SWV_SEL_NOOUTPUT (0x00000000UL) /* SWV output is not output */
#define _SWV_SEL_TDO (0x00000001UL) /* SWV output is output from the TDO pin */
#define _SWV_SEL_TRACEDATA0 (0x00000002UL) /* SWV output is output from the TRACEDATA0 pin */
#define _SWV_SEL_TRACECTL (0x00000003UL) /* SWV output is output from the TRACECTL pin */
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
#define _CGC_PLL_WAIT_CYCLE (0x1D4CU) /* Wait 100us when switch clock source in PLL0 and PLL1 */
#define _CGC_LOCO_WAIT_CYCLE (0x0BB8U) /* Wait 40us for LOCO oscillation stabilization */
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Global functions
***********************************************************************************************************************/
void R_CGC_Create(void);
/* Start user code for function. Do not edit comment generated here */
void R_CPG_PLLWait(void);
void R_CPG_WriteEnable(void);
void R_CPG_WriteDisable(void);
#define CPG_CPUCLK_150_MHz (0)
#define CPG_CPUCLK_300_MHz (1)
#define CPG_CPUCLK_450_MHz (2)
#define CPG_CPUCLK_600_MHz (3)
#define CPG_PLL1_OFF (0)
#define CPG_PLL1_ON (1)
#define CPG_SELECT_PLL0 (0)
#define CPG_SELECT_PLL1 (1)
#define CPG_CKIO_75_MHz (0)
#define CPG_CKIO_50_MHz (1)
#define CPG_CKIO_37_5_MHz (2)
#define CPG_CKIO_30_MHz (3)
#define CPG_CKIO_25_MHz (4)
#define CPG_CKIO_21_43_MHz (5)
#define CPG_CKIO_18_75_MHz (6)
#define CPG_LOCO_ENABLE (0x00000000)
#define CPG_LOCO_DISABLE (0x00000001)
/* End user code. Do not edit comment generated here */
#endif
@@ -0,0 +1,52 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_cgc_user.c
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : This file implements device driver for CGC module.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
/***********************************************************************************************************************
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_cg_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 */
/* Start user code for adding. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
@@ -0,0 +1,162 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_cmt.c
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : This file implements device driver for CMT module.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
/***********************************************************************************************************************
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_cg_cmt.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_CMT4_Create
* Description : This function initializes the CMT4 channel.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void R_CMT4_Create(void)
{
/* Disable CMI4 interrupt */
VIC.IEC9.LONG = 0x00000800UL;
/* Cancel CMT stop state in LPC */
MSTP(CMT2) = 0U;
/* Set control registers */
CMT4.CMCR.WORD = _CMT_CMCR_CKS_PCLK8 | _CMT_CMCR_CMIE_ENABLE;
CMT4.CMCOR = _CMT4_CMCOR_VALUE;
/* Set CMI4 edge detection type */
VIC.PLS9.LONG |= 0x00000800UL;
/* Set CMI4 priority level */
VIC.PRL299.LONG = _CMT_PRIORITY_LEVEL16;
/* Set CMI4 interrupt address */
VIC.VAD299.LONG = (uint32_t)r_cmt_cmi4_interrupt;
}
/***********************************************************************************************************************
* Function Name: R_CMT4_Start
* Description : This function starts the CMT4 channel counter.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void R_CMT4_Start(void)
{
/* Enable CMI4 interrupt in ICU */
VIC.IEN9.LONG |= 0x00000800UL;
/* Start CMT4 count */
CMT.CMSTR2.BIT.STR4 = 1U;
}
/***********************************************************************************************************************
* Function Name: R_CMT4_Stop
* Description : This function stops the CMT4 channel counter.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void R_CMT4_Stop(void)
{
/* Disable CMI4 interrupt in ICU */
VIC.IEC9.LONG = 0x00000800UL;
/* Stop CMT4 count */
CMT.CMSTR2.BIT.STR4 = 0U;
}
/***********************************************************************************************************************
* Function Name: R_CMT5_Create
* Description : This function initializes the CMT5 channel.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void R_CMT5_Create(void)
{
/* Disable CMI5 interrupt */
VIC.IEC9.LONG = 0x00001000UL;
/* Cancel CMT stop state in LPC */
MSTP(CMT2) = 0U;
/* Set control registers */
CMT5.CMCR.WORD = _CMT_CMCR_CKS_PCLK8 | _CMT_CMCR_CMIE_ENABLE;
CMT5.CMCOR = _CMT5_CMCOR_VALUE;
/* Set CMI5 edge detection type */
VIC.PLS9.LONG |= 0x00001000UL;
/* Set CMI5 priority level */
VIC.PRL300.LONG = _CMT_PRIORITY_LEVEL17;
/* Set CMI5 interrupt address */
VIC.VAD300.LONG = (uint32_t)r_cmt_cmi5_interrupt;
}
/***********************************************************************************************************************
* Function Name: R_CMT5_Start
* Description : This function starts the CMT5 channel counter.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void R_CMT5_Start(void)
{
/* Enable CMI5 interrupt in ICU */
VIC.IEN9.LONG |= 0x00001000UL;
/* Start CMT5 count */
CMT.CMSTR2.BIT.STR5 = 1U;
}
/***********************************************************************************************************************
* Function Name: R_CMT5_Stop
* Description : This function stops the CMT5 channel counter.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void R_CMT5_Stop(void)
{
/* Disable CMI5 interrupt in ICU */
VIC.IEC9.LONG = 0x00001000UL;
/* Stop CMT5 count */
CMT.CMSTR2.BIT.STR5 = 0U;
}
/* Start user code for adding. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
@@ -0,0 +1,112 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_cmt.h
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : This file implements device driver for CMT module.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
#ifndef CMT_H
#define CMT_H
/***********************************************************************************************************************
Macro definitions (Register bit)
***********************************************************************************************************************/
/*
Compare Match Timer Control Register (CMCR)
*/
/* Clock Select (CKS[1:0]) */
#define _CMT_CMCR_CKS_PCLK8 (0x0000U) /* PCLK/8 */
#define _CMT_CMCR_CKS_PCLK32 (0x0001U) /* PCLK/32 */
#define _CMT_CMCR_CKS_PCLK128 (0x0002U) /* PCLK/128 */
#define _CMT_CMCR_CKS_PCLK512 (0x0003U) /* PCLK/512 */
/* Compare Match Interrupt Enable (CMIE) */
#define _CMT_CMCR_CMIE_DISABLE (0x0000U) /* Compare match interrupt (CMIn) disabled */
#define _CMT_CMCR_CMIE_ENABLE (0x0040U) /* Compare match interrupt (CMIn) enabled */
/*
Interrupt Priority Level Store Register n (PRLn)
*/
/* Interrupt Priority Level Store (PRL[3:0]) */
#define _CMT_PRIORITY_LEVEL0 (0x00000000UL) /* Level 0 (highest) */
#define _CMT_PRIORITY_LEVEL1 (0x00000001UL) /* Level 1 */
#define _CMT_PRIORITY_LEVEL2 (0x00000002UL) /* Level 2 */
#define _CMT_PRIORITY_LEVEL3 (0x00000003UL) /* Level 3 */
#define _CMT_PRIORITY_LEVEL4 (0x00000004UL) /* Level 4 */
#define _CMT_PRIORITY_LEVEL5 (0x00000005UL) /* Level 5 */
#define _CMT_PRIORITY_LEVEL6 (0x00000006UL) /* Level 6 */
#define _CMT_PRIORITY_LEVEL7 (0x00000007UL) /* Level 7 */
#define _CMT_PRIORITY_LEVEL8 (0x00000008UL) /* Level 8 */
#define _CMT_PRIORITY_LEVEL9 (0x00000009UL) /* Level 9 */
#define _CMT_PRIORITY_LEVEL10 (0x0000000AUL) /* Level 10 */
#define _CMT_PRIORITY_LEVEL11 (0x0000000BUL) /* Level 11 */
#define _CMT_PRIORITY_LEVEL12 (0x0000000CUL) /* Level 12 */
#define _CMT_PRIORITY_LEVEL13 (0x0000000DUL) /* Level 13 */
#define _CMT_PRIORITY_LEVEL14 (0x0000000EUL) /* Level 14 */
#define _CMT_PRIORITY_LEVEL15 (0x0000000FUL) /* Level 15 */
#define _CMT_PRIORITY_LEVEL16 (0x00000000UL) /* Level 16 */
#define _CMT_PRIORITY_LEVEL17 (0x00000001UL) /* Level 17 */
#define _CMT_PRIORITY_LEVEL18 (0x00000002UL) /* Level 18 */
#define _CMT_PRIORITY_LEVEL19 (0x00000003UL) /* Level 19 */
#define _CMT_PRIORITY_LEVEL20 (0x00000004UL) /* Level 20 */
#define _CMT_PRIORITY_LEVEL21 (0x00000005UL) /* Level 21 */
#define _CMT_PRIORITY_LEVEL22 (0x00000006UL) /* Level 22 */
#define _CMT_PRIORITY_LEVEL23 (0x00000007UL) /* Level 23 */
#define _CMT_PRIORITY_LEVEL24 (0x00000008UL) /* Level 24 */
#define _CMT_PRIORITY_LEVEL25 (0x00000009UL) /* Level 25 */
#define _CMT_PRIORITY_LEVEL26 (0x0000000AUL) /* Level 26 */
#define _CMT_PRIORITY_LEVEL27 (0x0000000BUL) /* Level 27 */
#define _CMT_PRIORITY_LEVEL28 (0x0000000CUL) /* Level 28 */
#define _CMT_PRIORITY_LEVEL29 (0x0000000DUL) /* Level 29 */
#define _CMT_PRIORITY_LEVEL30 (0x0000000EUL) /* Level 30 */
#define _CMT_PRIORITY_LEVEL31 (0x0000000FUL) /* Level 31 (lowest) */
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
/* Compare Match Timer Constant Register (CMCOR) */
#define _CMT4_CMCOR_VALUE (0x0008U)
/* Compare Match Timer Constant Register (CMCOR) */
#define _CMT5_CMCOR_VALUE (0x249EU)
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Global functions
***********************************************************************************************************************/
void R_CMT4_Create(void);
void R_CMT4_Start(void);
void R_CMT4_Stop(void);
void R_CMT5_Create(void);
void R_CMT5_Start(void);
void R_CMT5_Stop(void);
/* Start user code for function. Do not edit comment generated here */
/* Counters used to generate user's delay period */
extern volatile uint32_t g_time_ms_count;
extern volatile uint32_t g_time_us_count;
/* End user code. Do not edit comment generated here */
#endif
@@ -0,0 +1,99 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_cmt_user.c
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : This file implements device driver for CMT module.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
/***********************************************************************************************************************
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_cg_cmt.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 */
/* Counters used to generate user's delay period */
volatile uint32_t g_time_ms_count;
volatile uint32_t g_time_us_count;
/* End user code. Do not edit comment generated here */
/***********************************************************************************************************************
* Function Name: r_cmt_cmi4_interrupt
* Description : This function is CMI4 interrupt service routine.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void r_cmt_cmi4_interrupt(void)
{
/* Clear the interrupt source CMI4 */
VIC.PIC9.LONG = 0x00000800UL;
/* Start user code. Do not edit comment generated here */
/* Decrement the count value */
g_time_us_count--;
/* End user code. Do not edit comment generated here */
/* Dummy write */
VIC.HVA0.LONG = 0x00000000UL;
}
/***********************************************************************************************************************
* Function Name: r_cmt_cmi5_interrupt
* Description : This function is CMI5 interrupt service routine.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void r_cmt_cmi5_interrupt(void)
{
/* Clear the interrupt source CMI5 */
VIC.PIC9.LONG = 0x00001000UL;
/* Start user code. Do not edit comment generated here */
/* Decrement the count value */
g_time_ms_count--;
/* End user code. Do not edit comment generated here */
/* Dummy write */
VIC.HVA0.LONG = 0x00000000UL;
}
/* Start user code for adding. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
@@ -0,0 +1,102 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_icu.c
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : This file implements device driver for ICU module.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
/***********************************************************************************************************************
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_cg_icu.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_ICU_Create
* Description : This function initializes ICU module.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void R_ICU_Create(void)
{
/* Disable IRQ12 interrupt */
VIC.IEC0.LONG = 0x00010000UL;
/* Set IRQ12 edge detection type */
VIC.PLS0.LONG |= 0x00010000UL;
ICU.IRQCR12.BIT.IRQMD = (uint8_t)_ICU_IRQ_EDGE_FALLING;
/* Enable IRQ12 digital filter */
ICU.IRQFLTE.BIT.FLTEN12 = 1U;
/* Set IRQ12 digital filter clock */
ICU.IRQFLTC.BIT.FCLKSEL12 = _ICU_IRQ12_FILTER_PCLKB_64;
/* Set IRQ12 Priority */
VIC.PRL16.LONG = _ICU_PRIORITY_LEVEL3;
/* Set IRQ12 interupt address */
VIC.VAD16.LONG = (uint32_t)r_icu_irq12_interrupt;
}
/***********************************************************************************************************************
* Function Name: R_ICU_IRQ12_Start
* Description : This function enables IRQ12 interrupt.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void R_ICU_IRQ12_Start(void)
{
/* Enable IRQ12 interrupt */
VIC.IEN0.LONG |= 0x00010000UL;
}
/***********************************************************************************************************************
* Function Name: R_ICU_IRQ12_Stop
* Description : This function disables IRQ12 interrupt.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void R_ICU_IRQ12_Stop(void)
{
/* Disable IRQ12 interrupt */
VIC.IEC0.LONG = 0x00010000UL;
}
/* Start user code for adding. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
@@ -0,0 +1,326 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_icu.h
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : This file implements device driver for ICU module.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
#ifndef ICU_H
#define ICU_H
/***********************************************************************************************************************
Macro definitions (Register bit)
***********************************************************************************************************************/
/*
DMAC Software Activation Register (DMASTG)
*/
/* DMA Unit 0 Software Activation (DMREQ0) */
#define _DMA_UNIT0_SOFTWARE_ACTIVATION_DISABLE (0x00U) /* DMA transfer is not requested for DMA Unit 0*/
#define _DMA_UNIT0_SOFTWARE_ACTIVATION_ENABLE (0x01U) /* DMA transfer is requested for DMA Unit 0 */
/* DMA Unit 1 Software Activation (DMREQ1) */
#define _DMA_UNIT1_SOFTWARE_ACTIVATION_DISABLE (0x00U) /* DMA transfer is not requested for DMA Unit 1*/
#define _DMA_UNIT1_SOFTWARE_ACTIVATION_ENABLE (0x02U) /* DMA transfer is requested for DMA Unit 1*/
/*
IRQ Control Register i (IRQCRi) (i = 0 to 15)
*/
/* IRQ Detection Sense Select (IRQMD[1:0]) */
#define _ICU_IRQ_EDGE_LOW_LEVEL (0x00U) /* Low level */
#define _ICU_IRQ_EDGE_FALLING (0x01U) /* Falling edge */
#define _ICU_IRQ_EDGE_RISING (0x02U) /* Rising edge */
#define _ICU_IRQ_EDGE_BOTH (0x03U) /* Rising and falling edge */
/*
IRQ Pin Digital Noise Filter Enable Register 0 (IRQFLTE)
*/
/* IRQn Digital Noise Filter Enable (FLTEN0n) */
#define _ICU_IRQn_FILTER_DISABLE (0x00000000UL) /* IRQn digital noise filter is disabled */
#define _ICU_IRQ0_FILTER_ENABLE (0x00000001UL) /* IRQ0 digital noise filter is enabled */
#define _ICU_IRQ1_FILTER_ENABLE (0x00000002UL) /* IRQ1 digital noise filter is enabled */
#define _ICU_IRQ2_FILTER_ENABLE (0x00000004UL) /* IRQ2 digital noise filter is enabled */
#define _ICU_IRQ3_FILTER_ENABLE (0x00000008UL) /* IRQ3 digital noise filter is enabled */
#define _ICU_IRQ4_FILTER_ENABLE (0x00000010UL) /* IRQ4 digital noise filter is enabled */
#define _ICU_IRQ5_FILTER_ENABLE (0x00000020UL) /* IRQ5 digital noise filter is enabled */
#define _ICU_IRQ6_FILTER_ENABLE (0x00000040UL) /* IRQ6 digital noise filter is enabled */
#define _ICU_IRQ7_FILTER_ENABLE (0x00000080UL) /* IRQ7 digital noise filter is enabled */
#define _ICU_IRQ8_FILTER_ENABLE (0x00000100UL) /* IRQ8 digital noise filter is enabled */
#define _ICU_IRQ9_FILTER_ENABLE (0x00000200UL) /* IRQ9 digital noise filter is enabled */
#define _ICU_IRQ10_FILTER_ENABLE (0x00000400UL) /* IRQ10 digital noise filter is enabled */
#define _ICU_IRQ11_FILTER_ENABLE (0x00000800UL) /* IRQ11 digital noise filter is enabled */
#define _ICU_IRQ12_FILTER_ENABLE (0x00001000UL) /* IRQ12 digital noise filter is enabled */
#define _ICU_IRQ13_FILTER_ENABLE (0x00002000UL) /* IRQ13 digital noise filter is enabled */
#define _ICU_IRQ14_FILTER_ENABLE (0x00004000UL) /* IRQ14 digital noise filter is enabled */
#define _ICU_IRQ15_FILTER_ENABLE (0x00008000UL) /* IRQ15 digital noise filter is enabled */
/*
IRQ Pin Digital Filter Setting Register (IRQFLTC)
*/
/* IRQn Digital Filter Sampling Clock (FCLKSELn[1:0]) */
#define _ICU_IRQ0_FILTER_PCLKB (0x00U) /* IRQ0 sample clock run at every PCLKB cycle */
#define _ICU_IRQ0_FILTER_PCLKB_8 (0x01U) /* IRQ0 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ0_FILTER_PCLKB_32 (0x02U) /* IRQ0 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ0_FILTER_PCLKB_64 (0x03U) /* IRQ0 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ1_FILTER_PCLKB (0x00U) /* IRQ1 sample clock run at every PCLKB cycle */
#define _ICU_IRQ1_FILTER_PCLKB_8 (0x01U) /* IRQ1 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ1_FILTER_PCLKB_32 (0x02U) /* IRQ1 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ1_FILTER_PCLKB_64 (0x03U) /* IRQ1 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ2_FILTER_PCLKB (0x00U) /* IRQ2 sample clock run at every PCLKB cycle */
#define _ICU_IRQ2_FILTER_PCLKB_8 (0x01U) /* IRQ2 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ2_FILTER_PCLKB_32 (0x02U) /* IRQ2 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ2_FILTER_PCLKB_64 (0x03U) /* IRQ2 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ3_FILTER_PCLKB (0x00U) /* IRQ3 sample clock run at every PCLKB cycle */
#define _ICU_IRQ3_FILTER_PCLKB_8 (0x01U) /* IRQ3 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ3_FILTER_PCLKB_32 (0x02U) /* IRQ3 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ3_FILTER_PCLKB_64 (0x03U) /* IRQ3 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ4_FILTER_PCLKB (0x00U) /* IRQ4 sample clock run at every PCLKB cycle */
#define _ICU_IRQ4_FILTER_PCLKB_8 (0x01U) /* IRQ4 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ4_FILTER_PCLKB_32 (0x02U) /* IRQ4 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ4_FILTER_PCLKB_64 (0x03U) /* IRQ4 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ5_FILTER_PCLKB (0x00U) /* IRQ5 sample clock run at every PCLKB cycle */
#define _ICU_IRQ5_FILTER_PCLKB_8 (0x01U) /* IRQ5 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ5_FILTER_PCLKB_32 (0x02U) /* IRQ5 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ5_FILTER_PCLKB_64 (0x03U) /* IRQ5 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ6_FILTER_PCLKB (0x00U) /* IRQ6 sample clock run at every PCLKB cycle */
#define _ICU_IRQ6_FILTER_PCLKB_8 (0x01U) /* IRQ6 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ6_FILTER_PCLKB_32 (0x02U) /* IRQ6 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ6_FILTER_PCLKB_64 (0x03U) /* IRQ6 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ7_FILTER_PCLKB (0x00U) /* IRQ7 sample clock run at every PCLKB cycle */
#define _ICU_IRQ7_FILTER_PCLKB_8 (0x01U) /* IRQ7 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ7_FILTER_PCLKB_32 (0x02U) /* IRQ7 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ7_FILTER_PCLKB_64 (0x03U) /* IRQ7 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ8_FILTER_PCLKB (0x00U) /* IRQ8 sample clock run at every PCLKB cycle */
#define _ICU_IRQ8_FILTER_PCLKB_8 (0x01U) /* IRQ8 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ8_FILTER_PCLKB_32 (0x02U) /* IRQ8 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ8_FILTER_PCLKB_64 (0x03U) /* IRQ8 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ9_FILTER_PCLKB (0x00U) /* IRQ9 sample clock run at every PCLKB cycle */
#define _ICU_IRQ9_FILTER_PCLKB_8 (0x01U) /* IRQ9 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ9_FILTER_PCLKB_32 (0x02U) /* IRQ9 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ9_FILTER_PCLKB_64 (0x03U) /* IRQ9 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ10_FILTER_PCLKB (0x00U) /* IRQ10 sample clock run at every PCLKB cycle */
#define _ICU_IRQ10_FILTER_PCLKB_8 (0x01U) /* IRQ10 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ10_FILTER_PCLKB_32 (0x02U) /* IRQ10 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ10_FILTER_PCLKB_64 (0x03U) /* IRQ10 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ11_FILTER_PCLKB (0x00U) /* IRQ11 sample clock run at every PCLKB cycle */
#define _ICU_IRQ11_FILTER_PCLKB_8 (0x01U) /* IRQ11 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ11_FILTER_PCLKB_32 (0x02U) /* IRQ11 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ11_FILTER_PCLKB_64 (0x03U) /* IRQ11 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ12_FILTER_PCLKB (0x00U) /* IRQ12 sample clock run at every PCLKB cycle */
#define _ICU_IRQ12_FILTER_PCLKB_8 (0x01U) /* IRQ12 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ12_FILTER_PCLKB_32 (0x02U) /* IRQ12 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ12_FILTER_PCLKB_64 (0x03U) /* IRQ12 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ13_FILTER_PCLKB (0x00U) /* IRQ13 sample clock run at every PCLKB cycle */
#define _ICU_IRQ13_FILTER_PCLKB_8 (0x01U) /* IRQ13 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ13_FILTER_PCLKB_32 (0x02U) /* IRQ13 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ13_FILTER_PCLKB_64 (0x03U) /* IRQ13 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ14_FILTER_PCLKB (0x00U) /* IRQ14 sample clock run at every PCLKB cycle */
#define _ICU_IRQ14_FILTER_PCLKB_8 (0x01U) /* IRQ14 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ14_FILTER_PCLKB_32 (0x02U) /* IRQ14 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ14_FILTER_PCLKB_64 (0x03U) /* IRQ14 sample clock run at every PCLKB/64 cycle */
#define _ICU_IRQ15_FILTER_PCLKB (0x00U) /* IRQ15 sample clock run at every PCLKB cycle */
#define _ICU_IRQ15_FILTER_PCLKB_8 (0x01U) /* IRQ15 sample clock run at every PCLKB/8 cycle */
#define _ICU_IRQ15_FILTER_PCLKB_32 (0x02U) /* IRQ15 sample clock run at every PCLKB/32 cycle */
#define _ICU_IRQ15_FILTER_PCLKB_64 (0x03U) /* IRQ15 sample clock run at every PCLKB/64 cycle */
/*
Interrupt Source Priority Register n (IPRn)
*/
/* Interrupt Priority Level Select (IPR[3:0]) */
#define _ICU_PRIORITY_LEVEL0 (0x00000000UL) /* Level 0 (interrupt disabled) */
#define _ICU_PRIORITY_LEVEL1 (0x00000001UL) /* Level 1 */
#define _ICU_PRIORITY_LEVEL2 (0x00000002UL) /* Level 2 */
#define _ICU_PRIORITY_LEVEL3 (0x00000003UL) /* Level 3 */
#define _ICU_PRIORITY_LEVEL4 (0x00000004UL) /* Level 4 */
#define _ICU_PRIORITY_LEVEL5 (0x00000005UL) /* Level 5 */
#define _ICU_PRIORITY_LEVEL6 (0x00000006UL) /* Level 6 */
#define _ICU_PRIORITY_LEVEL7 (0x00000007UL) /* Level 7 */
#define _ICU_PRIORITY_LEVEL8 (0x00000008UL) /* Level 8 */
#define _ICU_PRIORITY_LEVEL9 (0x00000009UL) /* Level 9 */
#define _ICU_PRIORITY_LEVEL10 (0x0000000AUL) /* Level 10 */
#define _ICU_PRIORITY_LEVEL11 (0x0000000BUL) /* Level 11 */
#define _ICU_PRIORITY_LEVEL12 (0x0000000CUL) /* Level 12 */
#define _ICU_PRIORITY_LEVEL13 (0x0000000DUL) /* Level 13 */
#define _ICU_PRIORITY_LEVEL14 (0x0000000EUL) /* Level 14 */
#define _ICU_PRIORITY_LEVEL15 (0x0000000FUL) /* Level 15 (highest) */
/*
NMI Pin Interrupt Control Register (NMICR)
*/
/* NMI Detection Sense Selection (NMIMD) */
#define _ICU_NMI_DETECTION_SENSE_FALLING (0x00U) /* Falling edge */
#define _ICU_NMI_DETECTION_SENSE_RISING (0x08U) /* Rising edge */
/*
DMA Noise Filter Setting Register (DMAINT)
*/
/* DMA Digital Noise Filter Sampling Clock (DREQFLTC[1:0]) */
#define _ICU_DMAINT0_FILTER_PCLKB (0x00U) /* NMI sample clock is run at every PCLKB cycle */
#define _ICU_DMAINT0_FILTER_PCLKB_8 (0x01U) /* NMI sample clock is run at every PCLKB/8 cycle */
#define _ICU_DMAINT0_FILTER_PCLKB_32 (0x02U) /* NMI sample clock is run at every PCLKB/32 cycle */
#define _ICU_DMAINT0_FILTER_PCLKB_64 (0x03U) /* NMI sample clock is run at every PCLKB/64 cycle */
#define _ICU_DMAINT1_FILTER_PCLKB (0x00U) /* NMI sample clock is run at every PCLKB cycle */
#define _ICU_DMAINT1_FILTER_PCLKB_8 (0x01U) /* NMI sample clock is run at every PCLKB/8 cycle */
#define _ICU_DMAINT1_FILTER_PCLKB_32 (0x02U) /* NMI sample clock is run at every PCLKB/32 cycle */
#define _ICU_DMAINT1_FILTER_PCLKB_64 (0x03U) /* NMI sample clock is run at every PCLKB/64 cycle */
#define _ICU_DMAINT2_FILTER_PCLKB (0x00U) /* NMI sample clock is run at every PCLKB cycle */
#define _ICU_DMAINT2_FILTER_PCLKB_8 (0x01U) /* NMI sample clock is run at every PCLKB/8 cycle */
#define _ICU_DMAINT2_FILTER_PCLKB_32 (0x02U) /* NMI sample clock is run at every PCLKB/32 cycle */
#define _ICU_DMAINT2_FILTER_PCLKB_64 (0x03U) /* NMI sample clock is run at every PCLKB/64 cycle */
/*
NMI Pin Digital Noise Filter Setting Register (NMIFLTC)
*/
/* NMI Digital Noise Filter Sampling Clock (NFCLKSEL[1:0]) */
#define _ICU_NMI_FILTER_PCLKB (0x00U) /* NMI sample clock is run at every PCLKB cycle */
#define _ICU_NMI_FILTER_PCLKB_8 (0x01U) /* NMI sample clock is run at every PCLKB/8 cycle */
#define _ICU_NMI_FILTER_PCLKB_32 (0x02U) /* NMI sample clock is run at every PCLKB/32 cycle */
#define _ICU_NMI_FILTER_PCLKB_64 (0x03U) /* NMI sample clock is run at every PCLKB/64 cycle */
/*
EtherPHY Control Register i (EPHYCRi) (i = 0 to 2)
*/
/* EtherPHYn interrupt Detection Setting (EPHYMD[1:0]) */
#define _ICU_ETHERPHY0_EDGE_LOW_LEVEL (0x00U) /* Low level */
#define _ICU_ETHERPHY0_EDGE_FALLING (0x01U) /* Falling edge */
#define _ICU_ETHERPHY0_EDGE_RISING (0x02U) /* Rising edge */
#define _ICU_ETHERPHY0_EDGE_BOTH (0x03U) /* Rising and falling edge */
#define _ICU_ETHERPHY1_EDGE_LOW_LEVEL (0x00U) /* Low level */
#define _ICU_ETHERPHY1_EDGE_FALLING (0x01U) /* Falling edge */
#define _ICU_ETHERPHY1_EDGE_RISING (0x02U) /* Rising edge */
#define _ICU_ETHERPHY1_EDGE_BOTH (0x03U) /* Rising and falling edge */
#define _ICU_ETHERPHY2_EDGE_LOW_LEVEL (0x00U) /* Low level */
#define _ICU_ETHERPHY2_EDGE_FALLING (0x01U) /* Falling edge */
#define _ICU_ETHERPHY2_EDGE_RISING (0x02U) /* Rising edge */
#define _ICU_ETHERPHY2_EDGE_BOTH (0x03U) /* Rising and falling edge */
/*
EtherPHY Interrupt Request Pin Digital Noise Filter Enable Register 0 (EPHYFLTE)
*/
/* EtherPHYn Interrupt Digital Noise Filter Enable (EFLTENn) */
#define _ICU_ETHERPHYn_FILTER_DISABLE (0x00U) /* ETHER PHY0 digital noise filter is disabled */
#define _ICU_ETHERPHY0_FILTER_ENABLE (0x01U) /* ETHER PHY0 digital noise filter is enabled */
#define _ICU_ETHERPHY1_FILTER_ENABLE (0x01U) /* ETHER PHY1 digital noise filter is enabled */
#define _ICU_ETHERPHY2_FILTER_ENABLE (0x01U) /* ETHER PHY2 digital noise filter is enabled */
/*
EtherPHY Interrupt Request Pin Digital Filter Setting Register (EPHYFLTC)
*/
/* EtherPHYn Interrupts Digital Noise Filter Sampling Clock (EFCLKSELn[1:0]) */
#define _ICU_ETHPHYI0_FILTER_PCLKB (0x00U) /* ETHER PHY0 sample clock is run at every PCLKB cycle */
#define _ICU_ETHPHYI0_FILTER_PCLKB_8 (0x01U) /* ETHER PHY0 sample clock is run at every PCLKB/8 cycle */
#define _ICU_ETHPHYI0_FILTER_PCLKB_32 (0x02U) /* ETHER PHY0 sample clock is run at every PCLKB/32 cycle */
#define _ICU_ETHPHYI0_FILTER_PCLKB_64 (0x03U) /* ETHER PHY0 sample clock is run at every PCLKB/64 cycle */
#define _ICU_ETHPHYI1_FILTER_PCLKB (0x00U) /* ETHER PHY1 sample clock is run at every PCLKB cycle */
#define _ICU_ETHPHYI1_FILTER_PCLKB_8 (0x01U) /* ETHER PHY1 sample clock is run at every PCLKB/8 cycle */
#define _ICU_ETHPHYI1_FILTER_PCLKB_32 (0x02U) /* ETHER PHY1 sample clock is run at every PCLKB/32 cycle */
#define _ICU_ETHPHYI1_FILTER_PCLKB_64 (0x03U) /* ETHER PHY1 sample clock is run at every PCLKB/64 cycle */
#define _ICU_ETHPHYI2_FILTER_PCLKB (0x00U) /* ETHER PHY2 sample clock is run at every PCLKB cycle */
#define _ICU_ETHPHYI2_FILTER_PCLKB_8 (0x01U) /* ETHER PHY2 sample clock is run at every PCLKB/8 cycle */
#define _ICU_ETHPHYI2_FILTER_PCLKB_32 (0x02U) /* ETHER PHY2 sample clock is run at every PCLKB/32 cycle */
#define _ICU_ETHPHYI2_FILTER_PCLKB_64 (0x03U) /* ETHER PHY2 sample clock is run at every PCLKB/64 cycle */
/*
External DMA Request Pin Digital Noise Enable Register (DREQFLTE)
*/
/* DREQn Digital Noise Filter Enable (DFLTENn) */
#define _ICU_DREQn_FILTER_DISABLE (0x00U) /* Digital noise filter is disabled */
#define _ICU_DREQ0_FILTER_ENABLE (0x01U) /* DREQ0 Digital noise filter is enabled */
#define _ICU_DREQ1_FILTER_ENABLE (0x01U) /* DREQ1 Digital noise filter is enabled */
#define _ICU_DREQ2_FILTER_ENABLE (0x01U) /* DREQ2 Digital noise filter is enabled */
/*
External DMA Request Pin Digital Noise Setting Register (DREQFLTC)
*/
/* DREQn Digital Noise Filter Sampling Clock (DFCLKSELn[1:0]) */
#define _ICU_DREQ0_FILTER_PCLKB (0x00U) /* DREQ0 sample clock is run at every PCLKB cycle */
#define _ICU_DREQ0_FILTER_PCLKB_8 (0x01U) /* DREQ0 sample clock is run at every PCLKB/8 cycle */
#define _ICU_DREQ0_FILTER_PCLKB_32 (0x02U) /* DREQ0 sample clock is run at every PCLKB/32 cycle */
#define _ICU_DREQ0_FILTER_PCLKB_64 (0x03U) /* DREQ0 sample clock is run at every PCLKB/64 cycle */
#define _ICU_DREQ1_FILTER_PCLKB (0x00U) /* DREQ1 sample clock is run at every PCLKB cycle */
#define _ICU_DREQ1_FILTER_PCLKB_8 (0x01U) /* DREQ1 sample clock is run at every PCLKB/8 cycle */
#define _ICU_DREQ1_FILTER_PCLKB_32 (0x02U) /* DREQ1 sample clock is run at every PCLKB/32 cycle */
#define _ICU_DREQ1_FILTER_PCLKB_64 (0x03U) /* DREQ1 sample clock is run at every PCLKB/64 cycle */
#define _ICU_DREQ2_FILTER_PCLKB (0x00U) /* DREQ2 sample clock is run at every PCLKB cycle */
#define _ICU_DREQ2_FILTER_PCLKB_8 (0x01U) /* DREQ2 sample clock is run at every PCLKB/8 cycle */
#define _ICU_DREQ2_FILTER_PCLKB_32 (0x02U) /* DREQ2 sample clock is run at every PCLKB/32 cycle */
#define _ICU_DREQ2_FILTER_PCLKB_64 (0x03U) /* DREQ2 sample clock is run at every PCLKB/64 cycle */
/*
User Mode Enable Register 0 (UEN0)
*/
/* Interrupt control register access selection (UE) */
#define _ICU_UEN0_CTRL_REG_ACCESS_DISABLE (0x00000000UL) /* Disables access in user mode. */
#define _ICU_UEN0_CTRL_REG_ACCESS_ENABLE (0x00000001UL) /* Enables access in user mode. */
/*
User Mode Enable Register 1 (UEN1)
*/
/* Interrupt control register access selection (UE) */
#define _ICU_UEN1_CTRL_REG_ACCESS_DISABLE (0x00000000UL) /* Disables access in user mode. */
#define _ICU_UEN1_CTRL_REG_ACCESS_ENABLE (0x00000001UL) /* Enables access in user mode. */
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Global functions
***********************************************************************************************************************/
void R_ICU_Create(void);
void R_ICU_IRQ12_Start(void);
void R_ICU_IRQ12_Stop(void);
/* Start user code for function. Do not edit comment generated here */
#define SW1_PRESS_FLG (0x01)
#define SW2_PRESS_FLG (0x02)
#define SW3_PRESS_FLG (0x04)
#define SW1_HELD_FLG (0x10)
#define SW2_HELD_FLG (0x20)
#define SW3_HELD_FLG (0x40)
#define SW1_SET_FLG_MASK (0xEE)
#define SW2_SET_FLG_MASK (0xDD)
#define SW3_SET_FLG_MASK (0xBB)
#define SW_ALL_OFF (0xF8)
#define SW1_INPUT_STATE (PORT3.PIDR.BIT.B5)
#define SW2_INPUT_STATE (PORTN.PIDR.BIT.B5)
#define SW3_INPUT_STATE (PORT4.PIDR.BIT.B4)
#define SW1_OUTPUT_PIN (PORT3.PODR.BIT.B5)
#define SW2_OUTPUT_PIN (PORTN.PODR.BIT.B5)
#define SW3_OUTPUT_PIN (PORT4.PODR.BIT.B4)
/* Stores switch states detected via interrupts */
extern volatile uint8_t g_switch_press_flg;
/* End user code. Do not edit comment generated here */
#endif
@@ -0,0 +1,73 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_icu_user.c
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : This file implements device driver for ICU module.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
/***********************************************************************************************************************
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_cg_icu.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 */
/* Stores switch states detected via interrupts */
volatile uint8_t g_switch_press_flg = 0u;
/* End user code. Do not edit comment generated here */
/***********************************************************************************************************************
* Function Name: r_icu_irq12_interrupt
* Description : This function handles the irqn pin interrupt.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void r_icu_irq12_interrupt(void)
{
VIC.PIC0.LONG = 0x00010000UL;
/* Start user code. Do not edit comment generated here */
/* Set global switch flag to indicate SW3 is pressed */
g_switch_press_flg |= SW3_PRESS_FLG;
/* End user code. Do not edit comment generated here */
VIC.HVA0.LONG = 0x00000000UL;
}
/* Start user code for adding. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
@@ -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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_interrupthandlers.h
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : This file declares interrupt handlers.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
#ifndef INTERRUPT_HANDLERS_H
#define INTERRUPT_HANDLERS_H
/***********************************************************************************************************************
Macro definitions (Register bit)
***********************************************************************************************************************/
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Global functions
***********************************************************************************************************************/
/* FIQ exception handler */
void r_fiq_handler(void) __attribute__((interrupt ("FIQ")));
/* ICU IRQ12 */
void r_icu_irq12_interrupt(void) __attribute__((interrupt ("IRQ")));
/* ADC Unit0 S12ADI0 */
void r_s12ad_s12adi0_interrupt(void) __attribute__((interrupt ("IRQ")));
/* RSPI1 SPTI1 */
void r_rspi1_transmit_interrupt(void) __attribute__((interrupt ("IRQ")));
/* RSPI1 SPEI1 */
void r_rspi1_error_interrupt(void) __attribute__((interrupt ("IRQ")));
/* RSPI1 SPII1 */
void r_rspi1_idle_interrupt(void) __attribute__((interrupt ("IRQ")));
/* SCIFA TXIF2 */
void r_scifa2_txif2_interrupt(void) __attribute__((interrupt ("IRQ")));
/* SCIFA DRIF2 */
void r_scifa2_drif2_interrupt(void) __attribute__((interrupt ("IRQ")));
/* SCIFA RXIF2 */
void r_scifa2_rxif2_interrupt(void) __attribute__((interrupt ("IRQ")));
/* SCIFA BRIF2 */
void r_scifa2_brif2_interrupt(void) __attribute__((interrupt ("IRQ")));
/* CMT CMI4 */
void r_cmt_cmi4_interrupt(void) __attribute__((interrupt ("IRQ")));
/* CMT CMI5 */
void r_cmt_cmi5_interrupt(void) __attribute__((interrupt ("IRQ")));
#endif
@@ -0,0 +1,84 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_intprg.c
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : Set the non-maskable interrupt.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
/***********************************************************************************************************************
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_cg_userdefine.h"
/***********************************************************************************************************************
Global variables and functions
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name: r_set_exception_handler
* Description : None
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void r_set_exception_handler(void)
{
uint32_t *pointer;
/* FIQ exception handler address */
pointer = (uint32_t *)0x1c;
/* Branch to next address instruction */
*pointer ++ = 0xeaffffff;
/* LDR PC,[PC, #-0x04], load r_fiq_handler address to PC */
*pointer ++ = 0xe51ff004;
/* DC32 r_fiq_handler, define the r_fiq_handler address */
*pointer = (uint32_t)r_fiq_handler;
/* Start user code. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
}
/***********************************************************************************************************************
* Function Name: r_fiq_handler
* Description : None
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void r_fiq_handler(void)
{
while(1);
/* Start user code. 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,145 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_macrodriver.h
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : This file implements general head file.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
#ifndef MODULEID_H
#define MODULEID_H
/***********************************************************************************************************************
Includes
***********************************************************************************************************************/
#include "iodefine.h"
#include "r_cg_interrupthandlers.h"
#include "r_cg_mpc.h"
/***********************************************************************************************************************
Macro definitions (Register bit)
***********************************************************************************************************************/
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
#ifndef __TYPEDEF__
#define DI() asm("cpsid i") /* Disable IRQ interrupt (Set CPSR.I bit to 1) */
#define EI() asm("cpsie i") /* Enable IRQ interrupt (Clear CPSR.I bit to 0) */
#define nop() asm("nop")
/* 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 */
/* MSTP macro definition */
#define MSTP_CMTW1 SYSTEM.MSTPCRA.BIT.MSTPCRA0
#define MSTP_CMTW0 SYSTEM.MSTPCRA.BIT.MSTPCRA1
#define MSTP_CMT2 SYSTEM.MSTPCRA.BIT.MSTPCRA2
#define MSTP_CMT1 SYSTEM.MSTPCRA.BIT.MSTPCRA3
#define MSTP_CMT0 SYSTEM.MSTPCRA.BIT.MSTPCRA4
#define MSTP_PPG1 SYSTEM.MSTPCRA.BIT.MSTPCRA5
#define MSTP_PPG0 SYSTEM.MSTPCRA.BIT.MSTPCRA6
#define MSTP_TPU1 SYSTEM.MSTPCRA.BIT.MSTPCRA7
#define MSTP_TPU0 SYSTEM.MSTPCRA.BIT.MSTPCRA8
#define MSTP_GPTA SYSTEM.MSTPCRA.BIT.MSTPCRA9
#define MSTP_MTU3 SYSTEM.MSTPCRA.BIT.MSTPCRA11
#define MSTP_RSCAN SYSTEM.MSTPCRB.BIT.MSTPCRB1
#define MSTP_RIIC1 SYSTEM.MSTPCRB.BIT.MSTPCRB2
#define MSTP_RIIC0 SYSTEM.MSTPCRB.BIT.MSTPCRB3
#define MSTP_SCIFA4 SYSTEM.MSTPCRB.BIT.MSTPCRB5
#define MSTP_SCIFA3 SYSTEM.MSTPCRB.BIT.MSTPCRB6
#define MSTP_SCIFA2 SYSTEM.MSTPCRB.BIT.MSTPCRB7
#define MSTP_SCIFA1 SYSTEM.MSTPCRB.BIT.MSTPCRB8
#define MSTP_SCIFA0 SYSTEM.MSTPCRB.BIT.MSTPCRB9
#define MSTP_RSPI3 SYSTEM.MSTPCRB.BIT.MSTPCRB10
#define MSTP_RSPI2 SYSTEM.MSTPCRB.BIT.MSTPCRB11
#define MSTP_RSPI1 SYSTEM.MSTPCRB.BIT.MSTPCRB12
#define MSTP_RSPI0 SYSTEM.MSTPCRB.BIT.MSTPCRB13
#define MSTP_ETHERSW SYSTEM.MSTPCRB.BIT.MSTPCRB14
#define MSTP_ECATC SYSTEM.MSTPCRB.BIT.MSTPCRB15
#define MSTP_EMDIO SYSTEM.MSTPCRB.BIT.MSTPCRB16
#define MSTP_ERMII SYSTEM.MSTPCRB.BIT.MSTPCRB17
#define MSTP_HWRTOS SYSTEM.MSTPCRB.BIT.MSTPCRB18
#define MSTP_CLKOUT25M SYSTEM.MSTPCRB.BIT.MSTPCRB19
#define MSTP_USB SYSTEM.MSTPCRC.BIT.MSTPCRC1
#define MSTP_DSMIF SYSTEM.MSTPCRC.BIT.MSTPCRC2
#define MSTP_TEMPS SYSTEM.MSTPCRC.BIT.MSTPCRC3
#define MSTP_S12ADC1 SYSTEM.MSTPCRC.BIT.MSTPCRC4
#define MSTP_S12ADC0 SYSTEM.MSTPCRC.BIT.MSTPCRC5
#define MSTP_ELC SYSTEM.MSTPCRC.BIT.MSTPCRC6
#define MSTP_BSC SYSTEM.MSTPCRC.BIT.MSTPCRC7
#define MSTP_CKIO SYSTEM.MSTPCRC.BIT.MSTPCRC8
#define MSTP_SPIBSC SYSTEM.MSTPCRC.BIT.MSTPCRC9
#define MSTP_DOC SYSTEM.MSTPCRC.BIT.MSTPCRC10
#define MSTP_CRC SYSTEM.MSTPCRC.BIT.MSTPCRC11
#define MSTP_CLMA2 SYSTEM.MSTPCRC.BIT.MSTPCRC12
#define MSTP_CLMA1 SYSTEM.MSTPCRC.BIT.MSTPCRC13
#define MSTP_CLMA0 SYSTEM.MSTPCRC.BIT.MSTPCRC14
#define MSTP_SSI SYSTEM.MSTPCRD.BIT.MSTPCRD2
#define MSTP_DMAC1 SYSTEM.MSTPCRE.BIT.MSTPCRE4
#define MSTP_DMAC0 SYSTEM.MSTPCRE.BIT.MSTPCRE5
#define MSTP_CORESIGHT SYSTEM.MSTPCRF.BIT.MSTPCRF0
#define __MSTP( x ) MSTP ## x
#define _MSTP( x ) __MSTP( x )
#define MSTP( x ) _MSTP( _ ## x )
#endif
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
#ifndef __TYPEDEF__
typedef signed char int8_t;
typedef unsigned char uint8_t;
typedef signed short int16_t;
typedef unsigned short uint16_t;
typedef signed long int32_t;
typedef unsigned long uint32_t;
typedef unsigned short MD_STATUS;
#define __TYPEDEF__
#endif
/***********************************************************************************************************************
Global functions
***********************************************************************************************************************/
#endif
@@ -0,0 +1,155 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_mpc.c
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : Setting of port and mpc registers.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
/***********************************************************************************************************************
Pragma directive
***********************************************************************************************************************/
/* Start user code for pragma. Do not edit comment generated here */
#include "r_typedefs.h"
/* End user code. Do not edit comment generated here */
/***********************************************************************************************************************
Includes
***********************************************************************************************************************/
#include "r_cg_macrodriver.h"
#include "r_cg_mpc.h"
#include "r_cg_userdefine.h"
/***********************************************************************************************************************
Global variables and functions
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name: R_MPC_Create
* Description : This function initializes the Port I/O.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void R_MPC_Create(void)
{
/* Set RSPCK1 pin */
MPC.PN3PFS.BYTE |= 0x0EU;
PORTN.PMR.BYTE |= 0x08U;
/* Set MOSI1 pin */
MPC.PN2PFS.BYTE |= 0x0EU;
PORTN.PMR.BYTE |= 0x04U;
/* Set MISO1 pin */
MPC.PN1PFS.BYTE |= 0x0EU;
PORTN.PMR.BYTE |= 0x02U;
/* Set SSL10 pin */
MPC.PN0PFS.BYTE |= 0x0EU;
PORTN.PMR.BYTE |= 0x01U;
/* Set SSL11 pin */
MPC.PN4PFS.BYTE |= 0x0EU;
PORTN.PMR.BYTE |= 0x10U;
/* Set TXD2 pin */
MPC.P91PFS.BYTE |= 0x0BU;
PORT9.PMR.BYTE |= 0x02U;
/* Set RXD2 pin */
MPC.P92PFS.BYTE |= 0x0BU;
PORT9.PMR.BYTE |= 0x04U;
/* Set IRQ12 pin */
MPC.P44PFS.BYTE |= 0x40U;
PORT4.PMR.BYTE &= 0xEFU;
PORT4.PDR.WORD &= 0xFEFFU;
PORT4.PDR.WORD |= 0x0200U;
/* Set TIOCB9 pin */
MPC.PL0PFS.BYTE |= 0x03U;
PORTL.PMR.BYTE |= 0x01U;
/* Set TIOCC9 pin */
MPC.PU4PFS.BYTE |= 0x03U;
PORTU.PMR.BYTE |= 0x10U;
/* Set TIOCD9 pin */
MPC.PN5PFS.BYTE |= 0x03U;
PORTN.PMR.BYTE |= 0x20U;
R_MPC_Create_UserInit();
}
/***********************************************************************************************************************
* Function Name: R_MPC_Create_UserInit
* Description : This function adds user code after initializing modules pin setting.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void R_MPC_Create_UserInit(void)
{
/* Start user code. 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 */
/***********************************************************************************************************************
* Function Name : R_MPC_WriteEnable
* Description : Enables writing to the PmnPFS register (m = 0-9, A-U, n = 0-7).
And dummy read the register in order to fix the register value.
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
void R_MPC_WriteEnable(void)
{
volatile uint8_t dummy;
UNUSED_VARIABLE(dummy);
/* Enables writing to the PmnPFS register */
MPC.PWPR.BYTE = MPC_PFSWE_WRITE_ENABLE;
dummy = MPC.PWPR.BYTE;
MPC.PWPR.BYTE = MPC_PFS_WRITE_ENABLE;
dummy = MPC.PWPR.BYTE;
}
/***********************************************************************************************************************
End of function R_MPC_WriteEnable
***********************************************************************************************************************/
/***********************************************************************************************************************
* Function Name : R_MPC_WriteDisable
* Description : Disables writing to the PmnPFS register (m = 0-9, A-U, n = 0-7).
And dummy read the register in order to fix the register value.
* Arguments : none
* Return Value : none
***********************************************************************************************************************/
void R_MPC_WriteDisable(void)
{
volatile uint8_t dummy;
UNUSED_PARAM(dummy);
/* Disables writing to the PmnPFS register */
MPC.PWPR.BYTE = MPC_PFS_WRITE_DISABLE;
dummy = MPC.PWPR.BYTE;
}
/***********************************************************************************************************************
End of function R_MPC_WriteDisable
***********************************************************************************************************************/
/* End user code. Do not edit comment generated here */
@@ -0,0 +1,49 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_mpc.h
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : Header file of mpc file.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
#ifndef _MPC_H
#define _MPC_H
/***********************************************************************************************************************
Macro definitions (Register bit)
***********************************************************************************************************************/
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Typedef definitions
***********************************************************************************************************************/
/***********************************************************************************************************************
Global functions
***********************************************************************************************************************/
void R_MPC_Create(void);
void R_MPC_Create_UserInit(void);
#endif
@@ -0,0 +1,69 @@
/***********************************************************************************************************************
* 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 WARRANTIESREGARDING 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) 2015 Renesas Electronics Corporation. All rights reserved.
***********************************************************************************************************************/
/***********************************************************************************************************************
* File Name : r_cg_port.c
* Version : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]
* Device(s) : R7S910018CBG
* Tool-Chain : GCCARM
* Description : This file implements device driver for Port module.
* Creation Date: 22/04/2015
***********************************************************************************************************************/
/***********************************************************************************************************************
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_cg_port.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_PORT_Create
* Description : This function initializes the Port I/O.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
void R_PORT_Create(void)
{
PORT5.PODR.BYTE = _Pm1_OUTPUT_1;
PORT6.PODR.BYTE = _Pm7_OUTPUT_1;
PORT5.PDR.WORD = _Pm1_MODE_OUTPUT | _Pm6_MODE_OUTPUT;
PORT6.PDR.WORD = _Pm7_MODE_OUTPUT;
PORT7.PDR.WORD = _Pm4_MODE_OUTPUT | _Pm6_MODE_OUTPUT | _Pm7_MODE_OUTPUT;
PORTA.PDR.WORD = _Pm0_MODE_OUTPUT;
PORTF.PDR.WORD = _Pm7_MODE_OUTPUT;
PORTM.PDR.WORD = _Pm2_MODE_OUTPUT | _Pm3_MODE_OUTPUT;
}
/* Start user code for adding. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */

Some files were not shown because too many files have changed in this diff Show More