Merge pull request #1563 from 0xc0170/fix_iar_rza1h

Progen data refactor
pull/1569/head
Martin Kojtal 2016-02-25 19:48:18 +00:00
commit 21389cdd57
6 changed files with 265 additions and 3762 deletions

View File

@ -88,7 +88,7 @@ def export(project_path, project_name, ide, target, destination='/tmp/',
except AttributeError:
pass
if use_progen:
if not ProGenDef(ide).is_supported(TARGET_MAP[target].progen_target):
if not ProGenDef(ide).is_supported(TARGET_MAP[target].progen['target']):
supported = False
else:
if target not in Exporter.TARGETS:

View File

@ -64,7 +64,7 @@ class Exporter(object):
'includes': {
'Include Files': self.resources.headers + self.resources.inc_dirs,
},
'target': [TARGET_MAP[self.target].progen_target],
'target': [TARGET_MAP[self.target].progen['target']],
'macros': self.get_symbols(),
'export_dir': [self.inputDir],
'linker_file': [self.resources.linker_script],

View File

@ -37,8 +37,8 @@ class IAREmbeddedWorkbench(Exporter):
TARGETS = []
for target in TARGET_NAMES:
try:
if (ProGenDef('iar').is_supported(TARGET_MAP[target]) or
ProGenDef('iar').is_supported(TARGET_MAP[target].progen_target)):
if (ProGenDef('iar').is_supported(str(TARGET_MAP[target])) or
ProGenDef('iar').is_supported(TARGET_MAP[target].progen['target'])):
TARGETS.append(target)
except AttributeError:
# target is not supported yet
@ -47,19 +47,24 @@ class IAREmbeddedWorkbench(Exporter):
def generate(self):
""" Generates the project files """
project_data = self.progen_get_project_data()
tool_specific = {}
# Expand tool specific settings by IAR specific settings which are required
# by the mbed projects
tool_specific = {
'iar': {
# We currently don't use misc, template sets those for us
# 'misc': {
# 'cxx_flags': ['--no_rtti', '--no_exceptions'],
# 'c_flags': ['--diag_suppress=Pa050,Pa084,Pa093,Pa082'],
# 'ld_flags': ['--skip_dynamic_initialization'],
# },
'template': [os.path.join(os.path.dirname(__file__), 'iar_template.ewp.tmpl')],
try:
if TARGET_MAP[self.target].progen['iar']['template']:
tool_specific['iar'] = TARGET_MAP[self.target].progen['iar']
except KeyError:
# use default template
# by the mbed projects
tool_specific['iar'] = {
# We currently don't use misc, template sets those for us
# 'misc': {
# 'cxx_flags': ['--no_rtti', '--no_exceptions'],
# 'c_flags': ['--diag_suppress=Pa050,Pa084,Pa093,Pa082'],
# 'ld_flags': ['--skip_dynamic_initialization'],
# },
'template': [os.path.join(os.path.dirname(__file__), 'iar_template.ewp.tmpl')],
}
}
project_data['tool_specific'] = {}
project_data['tool_specific'].update(tool_specific)
self.progen_gen_file('iar_arm', project_data)

File diff suppressed because it is too large Load Diff

View File

@ -164,9 +164,8 @@
<debug>1</debug>
<option>
<name>CCDefines</name>
{% for s in symbols %}
<state>{{s}}</state>
{% endfor %}
<state></state>
</option>
<option>
<name>CCPreprocFile</name>
@ -295,9 +294,9 @@
</option>
<option>
<name>CCIncludePath2</name>
{% for path in include_paths %}
<state>$PROJ_DIR$\{{path}}</state>
{% endfor %}
<state></state>
</option>
<option>
<name>CCStdIncCheck</name>
@ -572,7 +571,7 @@
</option>
<option>
<name>OOCOutputFile</name>
<state>{{name}}.bin</state>
<state>MBED_10.bin</state>
</option>
<option>
<name>OOCCommandLineProducer</name>
@ -690,7 +689,7 @@
</option>
<option>
<name>IlinkIcfFile</name>
<state>$PROJ_DIR$\{{linker_script}}</state>
<state>$PROJ_DIR$\mbed\TARGET_RZ_A1H\TOOLCHAIN_IAR\MBRZA1H.icf</state>
</option>
<option>
<name>IlinkIcfFileSlave</name>
@ -738,12 +737,7 @@
</option>
<option>
<name>IlinkAdditionalLibs</name>
{% for library in libraries %}
<state>$PROJ_DIR$\{{library}}</state>
{% endfor %}
{% for object in object_files %}
<state>$PROJ_DIR$\{{object}}</state>
{% endfor %}
<state></state>
</option>
<option>
<name>IlinkOverrideProgramEntryLabel</name>
@ -917,924 +911,15 @@
<data/>
</settings>
</configuration>
<configuration>
<name>Release</name>
<toolchain>
<name>ARM</name>
</toolchain>
<debug>0</debug>
<settings>
<name>General</name>
<archiveVersion>3</archiveVersion>
<data>
<version>21</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>ExePath</name>
<state>Release\Exe</state>
</option>
<option>
<name>ObjPath</name>
<state>Release\Obj</state>
</option>
<option>
<name>ListPath</name>
<state>Release\List</state>
</option>
<option>
<name>Variant</name>
<version>19</version>
<state>0</state>
</option>
<option>
<name>GEndianMode</name>
<state>0</state>
</option>
<option>
<name>Input variant</name>
<version>3</version>
<state>1</state>
</option>
<option>
<name>Input description</name>
<state>Full formatting.</state>
</option>
<option>
<name>Output variant</name>
<version>2</version>
<state>1</state>
</option>
<option>
<name>Output description</name>
<state>Full formatting.</state>
</option>
<option>
<name>GOutputBinary</name>
<state>0</state>
</option>
<option>
<name>FPU</name>
<version>3</version>
<state>3</state>
</option>
<option>
<name>OGCoreOrChip</name>
<state>1</state>
</option>
<option>
<name>GRuntimeLibSelect</name>
<version>0</version>
<state>2</state>
</option>
<option>
<name>GRuntimeLibSelectSlave</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>RTDescription</name>
<state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
</option>
<option>
<name>OGProductVersion</name>
<state>5.10.0.159</state>
</option>
<option>
<name>OGLastSavedByProductVersion</name>
<state>6.30.1.53141</state>
</option>
<option>
<name>GeneralEnableMisra</name>
<state>0</state>
</option>
<option>
<name>GeneralMisraVerbose</name>
<state>0</state>
</option>
<option>
<name>OGChipSelectEditMenu</name>
<state>R7S721001 Renesas R7S721001</state>
</option>
<option>
<name>GenLowLevelInterface</name>
<state>0</state>
</option>
<option>
<name>GEndianModeBE</name>
<state>0</state>
</option>
<option>
<name>OGBufferedTerminalOutput</name>
<state>0</state>
</option>
<option>
<name>GenStdoutInterface</name>
<state>0</state>
</option>
<option>
<name>GeneralMisraRules98</name>
<version>0</version>
<state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
</option>
<option>
<name>GeneralMisraVer</name>
<state>0</state>
</option>
<option>
<name>GeneralMisraRules04</name>
<version>0</version>
<state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
</option>
<option>
<name>RTConfigPath2</name>
<state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
</option>
<option>
<name>GFPUCoreSlave</name>
<version>19</version>
<state>0</state>
</option>
<option>
<name>GBECoreSlave</name>
<version>19</version>
<state>0</state>
</option>
<option>
<name>OGUseCmsis</name>
<state>0</state>
</option>
<option>
<name>OGUseCmsisDspLib</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>28</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>CCDefines</name>
<state>NDEBUG</state>
{% for s in symbols %}
<state>{{s}}</state>
{% endfor %}
</option>
<option>
<name>CCPreprocFile</name>
<state>0</state>
</option>
<option>
<name>CCPreprocComments</name>
<state>0</state>
</option>
<option>
<name>CCPreprocLine</name>
<state>0</state>
</option>
<option>
<name>CCListCFile</name>
<state>0</state>
</option>
<option>
<name>CCListCMnemonics</name>
<state>0</state>
</option>
<option>
<name>CCListCMessages</name>
<state>0</state>
</option>
<option>
<name>CCListAssFile</name>
<state>0</state>
</option>
<option>
<name>CCListAssSource</name>
<state>0</state>
</option>
<option>
<name>CCEnableRemarks</name>
<state>0</state>
</option>
<option>
<name>CCDiagSuppress</name>
<state>Pa050,Pa084,Pa093,Pa082</state>
</option>
<option>
<name>CCDiagRemark</name>
<state></state>
</option>
<option>
<name>CCDiagWarning</name>
<state></state>
</option>
<option>
<name>CCDiagError</name>
<state></state>
</option>
<option>
<name>CCObjPrefix</name>
<state>1</state>
</option>
<option>
<name>CCAllowList</name>
<version>1</version>
<state>1111111</state>
</option>
<option>
<name>CCDebugInfo</name>
<state>0</state>
</option>
<option>
<name>IEndianMode</name>
<state>1</state>
</option>
<option>
<name>IProcessor</name>
<state>1</state>
</option>
<option>
<name>IExtraOptionsCheck</name>
<state>0</state>
</option>
<option>
<name>IExtraOptions</name>
<state></state>
</option>
<option>
<name>CCLangConformance</name>
<state>0</state>
</option>
<option>
<name>CCSignedPlainChar</name>
<state>1</state>
</option>
<option>
<name>CCRequirePrototypes</name>
<state>0</state>
</option>
<option>
<name>CCMultibyteSupport</name>
<state>0</state>
</option>
<option>
<name>CCDiagWarnAreErr</name>
<state>0</state>
</option>
<option>
<name>CCCompilerRuntimeInfo</name>
<state>0</state>
</option>
<option>
<name>IFpuProcessor</name>
<state>1</state>
</option>
<option>
<name>OutputFile</name>
<state>$FILE_BNAME$.o</state>
</option>
<option>
<name>CCLibConfigHeader</name>
<state>1</state>
</option>
<option>
<name>PreInclude</name>
<state></state>
</option>
<option>
<name>CompilerMisraOverride</name>
<state>0</state>
</option>
<option>
<name>CCIncludePath2</name>
{% for path in include_paths %}
<state>$PROJ_DIR$\{{path}}</state>
{% endfor %}
<state></state>
</option>
<option>
<name>CCStdIncCheck</name>
<state>0</state>
</option>
<option>
<name>CCCodeSection</name>
<state>.text</state>
</option>
<option>
<name>IInterwork2</name>
<state>1</state>
</option>
<option>
<name>IProcessorMode2</name>
<state>1</state>
</option>
<option>
<name>CCOptLevel</name>
<state>3</state>
</option>
<option>
<name>CCOptStrategy</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CCOptLevelSlave</name>
<state>3</state>
</option>
<option>
<name>CompilerMisraRules98</name>
<version>0</version>
<state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
</option>
<option>
<name>CompilerMisraRules04</name>
<version>0</version>
<state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
</option>
<option>
<name>CCPosIndRopi</name>
<state>0</state>
</option>
<option>
<name>CCPosIndRwpi</name>
<state>0</state>
</option>
<option>
<name>CCPosIndNoDynInit</name>
<state>0</state>
</option>
<option>
<name>IccLang</name>
<state>2</state>
</option>
<option>
<name>IccCDialect</name>
<state>1</state>
</option>
<option>
<name>IccAllowVLA</name>
<state>1</state>
</option>
<option>
<name>IccCppDialect</name>
<state>2</state>
</option>
<option>
<name>IccExceptions</name>
<state>0</state>
</option>
<option>
<name>IccRTTI</name>
<state>0</state>
</option>
<option>
<name>IccStaticDestr</name>
<state>1</state>
</option>
<option>
<name>IccCppInlineSemantics</name>
<state>0</state>
</option>
<option>
<name>IccCmsis</name>
<state>1</state>
</option>
<option>
<name>IccFloatSemantics</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>AARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>8</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>AObjPrefix</name>
<state>1</state>
</option>
<option>
<name>AEndian</name>
<state>1</state>
</option>
<option>
<name>ACaseSensitivity</name>
<state>1</state>
</option>
<option>
<name>MacroChars</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>AWarnEnable</name>
<state>0</state>
</option>
<option>
<name>AWarnWhat</name>
<state>0</state>
</option>
<option>
<name>AWarnOne</name>
<state></state>
</option>
<option>
<name>AWarnRange1</name>
<state></state>
</option>
<option>
<name>AWarnRange2</name>
<state></state>
</option>
<option>
<name>ADebug</name>
<state>0</state>
</option>
<option>
<name>AltRegisterNames</name>
<state>0</state>
</option>
<option>
<name>ADefines</name>
<state></state>
</option>
<option>
<name>AList</name>
<state>0</state>
</option>
<option>
<name>AListHeader</name>
<state>1</state>
</option>
<option>
<name>AListing</name>
<state>1</state>
</option>
<option>
<name>Includes</name>
<state>0</state>
</option>
<option>
<name>MacDefs</name>
<state>0</state>
</option>
<option>
<name>MacExps</name>
<state>1</state>
</option>
<option>
<name>MacExec</name>
<state>0</state>
</option>
<option>
<name>OnlyAssed</name>
<state>0</state>
</option>
<option>
<name>MultiLine</name>
<state>0</state>
</option>
<option>
<name>PageLengthCheck</name>
<state>0</state>
</option>
<option>
<name>PageLength</name>
<state>80</state>
</option>
<option>
<name>TabSpacing</name>
<state>8</state>
</option>
<option>
<name>AXRef</name>
<state>0</state>
</option>
<option>
<name>AXRefDefines</name>
<state>0</state>
</option>
<option>
<name>AXRefInternal</name>
<state>0</state>
</option>
<option>
<name>AXRefDual</name>
<state>0</state>
</option>
<option>
<name>AProcessor</name>
<state>1</state>
</option>
<option>
<name>AFpuProcessor</name>
<state>1</state>
</option>
<option>
<name>AOutputFile</name>
<state>$FILE_BNAME$.o</state>
</option>
<option>
<name>AMultibyteSupport</name>
<state>0</state>
</option>
<option>
<name>ALimitErrorsCheck</name>
<state>0</state>
</option>
<option>
<name>ALimitErrorsEdit</name>
<state>100</state>
</option>
<option>
<name>AIgnoreStdInclude</name>
<state>1</state>
</option>
<option>
<name>AUserIncludes</name>
<state></state>
</option>
<option>
<name>AExtraOptionsCheckV2</name>
<state>0</state>
</option>
<option>
<name>AExtraOptionsV2</name>
<state></state>
</option>
</data>
</settings>
<settings>
<name>OBJCOPY</name>
<archiveVersion>0</archiveVersion>
<data>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>OOCOutputFormat</name>
<version>2</version>
<state>0</state>
</option>
<option>
<name>OCOutputOverride</name>
<state>0</state>
</option>
<option>
<name>OOCOutputFile</name>
<state>5.srec</state>
</option>
<option>
<name>OOCCommandLineProducer</name>
<state>1</state>
</option>
<option>
<name>OOCObjCopyEnable</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>CUSTOM</name>
<archiveVersion>3</archiveVersion>
<data>
<extensions></extensions>
<cmdline></cmdline>
</data>
</settings>
<settings>
<name>BICOMP</name>
<archiveVersion>0</archiveVersion>
<data/>
</settings>
<settings>
<name>BUILDACTION</name>
<archiveVersion>1</archiveVersion>
<data>
<prebuild></prebuild>
<postbuild></postbuild>
</data>
</settings>
<settings>
<name>ILINK</name>
<archiveVersion>0</archiveVersion>
<data>
<version>14</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>IlinkOutputFile</name>
<state>cpp.out</state>
</option>
<option>
<name>IlinkLibIOConfig</name>
<state>1</state>
</option>
<option>
<name>XLinkMisraHandler</name>
<state>0</state>
</option>
<option>
<name>IlinkInputFileSlave</name>
<state>0</state>
</option>
<option>
<name>IlinkDebugInfoEnable</name>
<state>1</state>
</option>
<option>
<name>IlinkKeepSymbols</name>
<state></state>
</option>
<option>
<name>IlinkRawBinaryFile</name>
<state></state>
</option>
<option>
<name>IlinkRawBinarySymbol</name>
<state></state>
</option>
<option>
<name>IlinkRawBinarySegment</name>
<state></state>
</option>
<option>
<name>IlinkRawBinaryAlign</name>
<state></state>
</option>
<option>
<name>IlinkDefines</name>
<state></state>
</option>
<option>
<name>IlinkConfigDefines</name>
<state></state>
</option>
<option>
<name>IlinkMapFile</name>
<state>0</state>
</option>
<option>
<name>IlinkLogFile</name>
<state>0</state>
</option>
<option>
<name>IlinkLogInitialization</name>
<state>0</state>
</option>
<option>
<name>IlinkLogModule</name>
<state>0</state>
</option>
<option>
<name>IlinkLogSection</name>
<state>0</state>
</option>
<option>
<name>IlinkLogVeneer</name>
<state>0</state>
</option>
<option>
<name>IlinkIcfOverride</name>
<state>1</state>
</option>
<option>
<name>IlinkIcfFile</name>
<state>$PROJ_DIR$\{{linker_script}}</state>
</option>
<option>
<name>IlinkIcfFileSlave</name>
<state></state>
</option>
<option>
<name>IlinkEnableRemarks</name>
<state>0</state>
</option>
<option>
<name>IlinkSuppressDiags</name>
<state></state>
</option>
<option>
<name>IlinkTreatAsRem</name>
<state></state>
</option>
<option>
<name>IlinkTreatAsWarn</name>
<state></state>
</option>
<option>
<name>IlinkTreatAsErr</name>
<state></state>
</option>
<option>
<name>IlinkWarningsAreErrors</name>
<state>0</state>
</option>
<option>
<name>IlinkUseExtraOptions</name>
<state>1</state>
</option>
<option>
<name>IlinkExtraOptions</name>
<state>--skip_dynamic_initialization</state>
</option>
<option>
<name>IlinkLowLevelInterfaceSlave</name>
<state>1</state>
</option>
<option>
<name>IlinkAutoLibEnable</name>
<state>1</state>
</option>
<option>
<name>IlinkAdditionalLibs</name>
{% for library in libraries %}
<state>$PROJ_DIR$\{{library}}</state>
{% endfor %}
{% for object in object_files %}
<state>$PROJ_DIR$\{{object}}</state>
{% endfor %}
</option>
<option>
<name>IlinkOverrideProgramEntryLabel</name>
<state>0</state>
</option>
<option>
<name>IlinkProgramEntryLabelSelect</name>
<state>0</state>
</option>
<option>
<name>IlinkProgramEntryLabel</name>
<state>__iar_program_start</state>
</option>
<option>
<name>DoFill</name>
<state>0</state>
</option>
<option>
<name>FillerByte</name>
<state>0xFF</state>
</option>
<option>
<name>FillerStart</name>
<state>0x0</state>
</option>
<option>
<name>FillerEnd</name>
<state>0x0</state>
</option>
<option>
<name>CrcSize</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>CrcAlign</name>
<state>1</state>
</option>
<option>
<name>CrcAlgo</name>
<state>1</state>
</option>
<option>
<name>CrcPoly</name>
<state>0x11021</state>
</option>
<option>
<name>CrcCompl</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CrcBitOrder</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CrcInitialValue</name>
<state>0x0</state>
</option>
<option>
<name>DoCrc</name>
<state>0</state>
</option>
<option>
<name>IlinkBE8Slave</name>
<state>1</state>
</option>
<option>
<name>IlinkBufferedTerminalOutput</name>
<state>1</state>
</option>
<option>
<name>IlinkStdoutInterfaceSlave</name>
<state>1</state>
</option>
<option>
<name>CrcFullSize</name>
<state>0</state>
</option>
<option>
<name>IlinkIElfToolPostProcess</name>
<state>0</state>
</option>
<option>
<name>IlinkLogAutoLibSelect</name>
<state>0</state>
</option>
<option>
<name>IlinkLogRedirSymbols</name>
<state>0</state>
</option>
<option>
<name>IlinkLogUnusedFragments</name>
<state>0</state>
</option>
<option>
<name>IlinkCrcReverseByteOrder</name>
<state>0</state>
</option>
<option>
<name>IlinkCrcUseAsInput</name>
<state>1</state>
</option>
<option>
<name>IlinkOptInline</name>
<state>0</state>
</option>
<option>
<name>IlinkOptExceptionsAllow</name>
<state>0</state>
</option>
<option>
<name>IlinkOptExceptionsForce</name>
<state>0</state>
</option>
<option>
<name>IlinkCmsis</name>
<state>1</state>
</option>
<option>
<name>IlinkOptMergeDuplSections</name>
<state>0</state>
</option>
<option>
<name>IlinkOptUseVfe</name>
<state>1</state>
</option>
<option>
<name>IlinkOptForceVfe</name>
<state>0</state>
</option>
<option>
<name>IlinkStackAnalysisEnable</name>
<state>0</state>
</option>
<option>
<name>IlinkStackControlFile</name>
<state></state>
</option>
<option>
<name>IlinkStackCallGraphFile</name>
<state></state>
</option>
</data>
</settings>
<settings>
<name>IARCHIVE</name>
<archiveVersion>0</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>IarchiveInputs</name>
<state></state>
</option>
<option>
<name>IarchiveOverride</name>
<state>0</state>
</option>
<option>
<name>IarchiveOutput</name>
<state>###Unitialized###</state>
</option>
</data>
</settings>
<settings>
<name>BILINK</name>
<archiveVersion>0</archiveVersion>
<data/>
</settings>
</configuration>
{{source_files}}
<file>
<name>$PROJ_DIR$/main.cpp</name>
</file>
<group>
<name>env</name>
<file>
<name>$PROJ_DIR$/env\test_env.cpp</name>
</file>
</group>
</project>

View File

@ -123,7 +123,10 @@ class LPC11C24(LPCTarget):
self.core = "Cortex-M0"
self.extra_labels = ['NXP', 'LPC11XX_11CXX', 'LPC11CXX']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "IAR"]
self.progen_target = 'lpc11c24_301'
self.progen = {
"target":"lpc11c24_301",
}
class LPC1114(LPCTarget):
def __init__(self):
@ -132,7 +135,9 @@ class LPC1114(LPCTarget):
self.extra_labels = ['NXP', 'LPC11XX_11CXX', 'LPC11XX']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "GCC_CR", "IAR"]
self.default_toolchain = "uARM"
self.progen_target = 'lpc1114_102'
self.progen = {
"target":"lpc1114_102",
}
class LPC11U24(LPCTarget):
def __init__(self):
@ -142,7 +147,9 @@ class LPC11U24(LPCTarget):
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "IAR"]
self.default_toolchain = "uARM"
self.detect_code = ["1040"]
self.progen_target = 'lpc11u24_201'
self.progen = {
"target":"lpc11u24_201",
}
class OC_MBUINO(LPC11U24):
def __init__(self):
@ -152,7 +159,9 @@ class OC_MBUINO(LPC11U24):
self.macros = ['TARGET_LPC11U24']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "IAR"]
self.default_toolchain = "uARM"
self.progen_target = 'lpc11u24_201'
self.progen = {
"target":"lpc11u24_201",
}
class LPC11U24_301(LPCTarget):
def __init__(self):
@ -184,7 +193,9 @@ class LPC11U35_401(LPCTarget):
self.extra_labels = ['NXP', 'LPC11UXX']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "GCC_CR", "IAR"]
self.default_toolchain = "uARM"
self.progen_target = 'lpc11u35_401'
self.progen = {
"target":"lpc11u35_401",
}
class LPC11U35_501(LPCTarget):
def __init__(self):
@ -193,8 +204,9 @@ class LPC11U35_501(LPCTarget):
self.extra_labels = ['NXP', 'LPC11UXX', 'MCU_LPC11U35_501']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "GCC_CR" , "IAR"]
self.default_toolchain = "uARM"
self.progen_target ='lpc11u35_501'
self.progen = {
"target":"lpc11u35_501",
}
class LPC11U35_501_IBDAP(LPCTarget):
def __init__(self):
LPCTarget.__init__(self)
@ -249,15 +261,18 @@ class LPC11U68(LPCTarget):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO"]
self.detect_code = ["1168"]
self.progen_target ='lpc11u68'
self.progen = {
"target":"lpc11u68",
}
class LPC1347(LPCTarget):
def __init__(self):
LPCTarget.__init__(self)
self.core = "Cortex-M3"
self.extra_labels = ['NXP', 'LPC13XX']
self.supported_toolchains = ["ARM", "GCC_ARM","IAR"]
self.progen_target = 'lpc1347'
self.progen = {
"target":"lpc1347",
}
class LPC1549(LPCTarget):
def __init__(self):
@ -268,8 +283,9 @@ class LPC1549(LPCTarget):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO"]
self.detect_code = ["1549"]
self.progen_target ='lpc1549'
self.progen = {
"target":"lpc1549",
}
class LPC1768(LPCTarget):
def __init__(self):
LPCTarget.__init__(self)
@ -277,7 +293,9 @@ class LPC1768(LPCTarget):
self.extra_labels = ['NXP', 'LPC176X', 'MBED_LPC1768']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "GCC_CR", "IAR"]
self.detect_code = ["1010"]
self.progen_target = 'mbed-lpc1768'
self.progen = {
"target":"mbed-lpc1768",
}
class ARCH_PRO(LPCTarget):
def __init__(self):
@ -287,7 +305,9 @@ class ARCH_PRO(LPCTarget):
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "GCC_CR", "IAR"]
self.macros = ['TARGET_LPC1768']
self.supported_form_factors = ["ARDUINO"]
self.progen_target ='arch-pro'
self.progen = {
"target":"arch-pro",
}
class UBLOX_C027(LPCTarget):
def __init__(self):
@ -297,7 +317,9 @@ class UBLOX_C027(LPCTarget):
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "GCC_CR", "IAR"]
self.macros = ['TARGET_LPC1768']
self.supported_form_factors = ["ARDUINO"]
self.progen_target ='ublox-c027'
self.progen = {
"target":"ublox-c027",
}
class XBED_LPC1768(LPCTarget):
def __init__(self):
@ -341,7 +363,9 @@ class LPC812(LPCTarget):
self.supported_form_factors = ["ARDUINO"]
self.is_disk_virtual = True
self.detect_code = ["1050"]
self.progen_target = 'lpc812m101'
self.progen = {
"target":"lpc812m101",
}
class LPC824(LPCTarget):
def __init__(self):
@ -352,7 +376,9 @@ class LPC824(LPCTarget):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO"]
self.is_disk_virtual = True
self.progen_target = 'lpc824m201'
self.progen = {
"target":"lpc824m201",
}
class SSCI824(LPCTarget):
def __init__(self):
@ -370,7 +396,9 @@ class LPC4088(LPCTarget):
self.extra_labels = ['NXP', 'LPC408X']
self.supported_toolchains = ["ARM", "GCC_CR", "GCC_ARM", "IAR"]
self.is_disk_virtual = True
self.progen_target = 'lpc4088'
self.progen = {
"target":"lpc4088",
}
def init_hooks(self, hook, toolchain_name):
if toolchain_name in ['ARM_STD', 'ARM_MICRO']:
@ -415,7 +443,9 @@ class LPC4330_M4(LPCTarget):
self.core = "Cortex-M4F"
self.extra_labels = ['NXP', 'LPC43XX', 'LPC4330']
self.supported_toolchains = ["ARM", "GCC_CR", "IAR", "GCC_ARM"]
self.progen_target = 'lpc4330'
self.progen = {
"target":"lpc4330",
}
class LPC4330_M0(LPCTarget):
def __init__(self):
@ -430,7 +460,9 @@ class LPC4337(LPCTarget):
self.core = "Cortex-M4F"
self.extra_labels = ['NXP', 'LPC43XX', 'LPC4337']
self.supported_toolchains = ["ARM"]
self.progen_target = 'lpc4337'
self.progen = {
"target":"lpc4337",
}
class LPC1800(LPCTarget):
def __init__(self):
LPCTarget.__init__(self)
@ -446,8 +478,9 @@ class LPC11U37H_401(LPCTarget):
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "GCC_CR"]
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO"]
self.progen_target ='lpc11u37_401'
self.progen = {
"target":"lpc11u37_401",
}
### Freescale ###
class KL05Z(Target):
@ -459,7 +492,9 @@ class KL05Z(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO"]
self.is_disk_virtual = True
self.progen_target ='frdm-kl05z'
self.progen = {
"target":"frdm-kl05z",
}
class KL25Z(Target):
def __init__(self):
@ -470,7 +505,9 @@ class KL25Z(Target):
self.supported_form_factors = ["ARDUINO"]
self.is_disk_virtual = True
self.detect_code = ["0200"]
self.progen_target ='frdm-kl25z'
self.progen = {
"target":"frdm-kl25z",
}
class KL26Z(Target):
def __init__(self):
@ -489,7 +526,9 @@ class KL43Z(Target):
self.supported_toolchains = ["GCC_ARM", "ARM"]
self.supported_form_factors = ["ARDUINO"]
self.is_disk_virtual = True
self.progen_target ='frdm-kl43z'
self.progen = {
"target":"frdm-kl43z",
}
class KL46Z(Target):
def __init__(self):
@ -500,7 +539,9 @@ class KL46Z(Target):
self.supported_form_factors = ["ARDUINO"]
self.is_disk_virtual = True
self.detect_code = ["0220"]
self.progen_target ='frdm-kl46z'
self.progen = {
"target":"frdm-kl46z",
}
class K20D50M(Target):
def __init__(self):
@ -510,7 +551,9 @@ class K20D50M(Target):
self.supported_toolchains = ["GCC_ARM", "ARM", "IAR"]
self.is_disk_virtual = True
self.detect_code = ["0230"]
self.progen_target = 'frdm-k20d50m'
self.progen = {
"target":"frdm-k20d50m",
}
class TEENSY3_1(Target):
OUTPUT_EXT = 'hex'
@ -522,7 +565,9 @@ class TEENSY3_1(Target):
self.supported_toolchains = ["GCC_ARM", "ARM"]
self.is_disk_virtual = True
self.detect_code = ["0230"]
self.progen_target ='teensy-31'
self.progen = {
"target":"teensy-31",
}
def init_hooks(self, hook, toolchain_name):
if toolchain_name in ['ARM_STD', 'ARM_MICRO', 'GCC_ARM']:
@ -547,7 +592,9 @@ class K22F(Target):
self.supported_form_factors = ["ARDUINO"]
self.is_disk_virtual = True
self.detect_code = ["0201"]
self.progen_target = 'frdm-k22f'
self.progen = {
"target":"frdm-k22f",
}
class K64F(Target):
def __init__(self):
@ -560,7 +607,9 @@ class K64F(Target):
self.is_disk_virtual = True
self.default_toolchain = "ARM"
self.detect_code = ["0240"]
self.progen_target = 'frdm-k64f'
self.progen = {
"target":"frdm-k64f",
}
class MTS_GAMBIT(Target):
def __init__(self):
@ -571,7 +620,9 @@ class MTS_GAMBIT(Target):
self.macros = ["CPU_MK64FN1M0VMD12", "FSL_RTOS_MBED", "TARGET_K64F"]
self.is_disk_virtual = True
self.default_toolchain = "ARM"
self.progen_target ='mts-gambit'
self.progen = {
"target":"mts-gambit",
}
### STMicro ###
@ -584,7 +635,9 @@ class NUCLEO_F030R8(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0725"]
self.progen_target ='nucleo-f030r8'
self.progen = {
"target":"nucleo-f030r8",
}
class NUCLEO_F031K6(Target):
def __init__(self):
@ -595,7 +648,9 @@ class NUCLEO_F031K6(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO"]
self.detect_code = ["0791"]
self.progen_target ='nucleo-f031k6'
self.progen = {
"target":"nucleo-f031k6",
}
class NUCLEO_F042K6(Target):
def __init__(self):
@ -606,7 +661,9 @@ class NUCLEO_F042K6(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO"]
self.detect_code = ["0785"]
self.progen_target ='nucleo-f042k6'
self.progen = {
"target":"nucleo-f042k6",
}
class NUCLEO_F070RB(Target):
def __init__(self):
@ -617,7 +674,9 @@ class NUCLEO_F070RB(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0755"]
self.progen_target ='nucleo-f070rb'
self.progen = {
"target":"nucleo-f070rb",
}
class NUCLEO_F072RB(Target):
def __init__(self):
@ -628,7 +687,9 @@ class NUCLEO_F072RB(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0730"]
self.progen_target ='nucleo-f072rb'
self.progen = {
"target":"nucleo-f072rb",
}
class NUCLEO_F091RC(Target):
def __init__(self):
@ -639,7 +700,9 @@ class NUCLEO_F091RC(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0750"]
self.progen_target ='nucleo-f091rc'
self.progen = {
"target":"nucleo-f091rc",
}
class NUCLEO_F103RB(Target):
def __init__(self):
@ -650,7 +713,9 @@ class NUCLEO_F103RB(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0700"]
self.progen_target ='nucleo-f103rb'
self.progen = {
"target":"nucleo-f103rb",
}
class NUCLEO_F302R8(Target):
def __init__(self):
@ -661,7 +726,9 @@ class NUCLEO_F302R8(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0705"]
self.progen_target ='nucleo-f302r8'
self.progen = {
"target":"nucleo-f302r8",
}
class NUCLEO_F303K8(Target):
def __init__(self):
@ -672,7 +739,9 @@ class NUCLEO_F303K8(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO"]
self.detect_code = ["0775"]
self.progen_target ='nucleo-f303k8'
self.progen = {
"target":"nucleo-f303k8",
}
class NUCLEO_F303RE(Target):
def __init__(self):
@ -683,7 +752,9 @@ class NUCLEO_F303RE(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0745"]
self.progen_target ='nucleo-f303re'
self.progen = {
"target":"nucleo-f303re",
}
class NUCLEO_F334R8(Target):
def __init__(self):
@ -694,7 +765,9 @@ class NUCLEO_F334R8(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0735"]
self.progen_target ='nucleo-f334r8'
self.progen = {
"target":"nucleo-f334r8",
}
class NUCLEO_F401RE(Target):
def __init__(self):
@ -705,7 +778,9 @@ class NUCLEO_F401RE(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0720"]
self.progen_target ='nucleo-f401re'
self.progen = {
"target":"nucleo-f401re",
}
class NUCLEO_F410RB(Target):
def __init__(self):
@ -716,7 +791,9 @@ class NUCLEO_F410RB(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0740"]
self.progen_target ='nucleo-f410rb'
self.progen = {
"target":"",
}
class NUCLEO_F411RE(Target):
def __init__(self):
@ -727,7 +804,9 @@ class NUCLEO_F411RE(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0740"]
self.progen_target ='nucleo-f411re'
self.progen = {
"target":"nucleo-f411re",
}
class ELMO_F411RE(Target):
def __init__(self):
@ -748,7 +827,9 @@ class NUCLEO_F446RE(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0777"]
self.progen_target ='nucleo-f446re'
self.progen = {
"target":"nucleo-f446re",
}
class B96B_F446VE(Target):
def __init__(self):
@ -769,7 +850,9 @@ class NUCLEO_L053R8(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0715"]
self.progen_target ='nucleo-l053r8'
self.progen = {
"target":"nucleo-l053r8",
}
class NUCLEO_L073RZ(Target):
def __init__(self):
@ -780,7 +863,9 @@ class NUCLEO_L073RZ(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0760"]
self.progen_target ='nucleo-l073rz'
self.progen = {
"target":"nucleo-l073rz",
}
class NUCLEO_L152RE(Target):
def __init__(self):
@ -791,7 +876,9 @@ class NUCLEO_L152RE(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0710"]
self.progen_target ='nucleo-l152re'
self.progen = {
"target":"nucleo-l152re",
}
class NUCLEO_L476RG(Target):
def __init__(self):
@ -802,7 +889,9 @@ class NUCLEO_L476RG(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO", "MORPHO"]
self.detect_code = ["0765"]
self.progen_target ='nucleo-l476rg'
self.progen = {
"target":"nucleo-l476rg",
}
class STM32F3XX(Target):
def __init__(self):
@ -827,8 +916,9 @@ class ARCH_MAX(Target):
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM"]
self.supported_form_factors = ["ARDUINO"]
self.macros = ['LSI_VALUE=32000']
self.progen_target ='lpc1768'
self.progen = {
"target":"lpc1768",
}
def program_cycle_s(self):
return 2
@ -864,7 +954,9 @@ class DISCO_F334C8(Target):
self.supported_toolchains = ["ARM", "uARM", "IAR", "GCC_ARM"]
self.default_toolchain = "uARM"
self.detect_code = ["0810"]
self.progen_target ='disco-f334c8'
self.progen = {
"target":"disco-f334c8",
}
class DISCO_F407VG(Target):
def __init__(self):
@ -872,7 +964,9 @@ class DISCO_F407VG(Target):
self.core = "Cortex-M4F"
self.extra_labels = ['STM', 'STM32F4', 'STM32F407', 'STM32F407VG']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM"]
self.progen_target ='disco-f407vg'
self.progen = {
"target":"disco-f407vg",
}
self.default_toolchain = "ARM"
class DISCO_F429ZI(Target):
@ -882,7 +976,9 @@ class DISCO_F429ZI(Target):
self.extra_labels = ['STM', 'STM32F4', 'STM32F429', 'STM32F429ZI']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "IAR"]
self.default_toolchain = "uARM"
self.progen_target ='disco-f429zi'
self.progen = {
"target":"",
}
class DISCO_F469NI(Target):
def __init__(self):
@ -893,7 +989,9 @@ class DISCO_F469NI(Target):
self.default_toolchain = "uARM"
self.supported_form_factors = ["ARDUINO"]
self.detect_code = ["0788"]
self.progen_target ='disco-f469ni'
self.progen = {
"target":"disco-f469ni",
}
class DISCO_L053C8(Target):
def __init__(self):
@ -902,7 +1000,9 @@ class DISCO_L053C8(Target):
self.extra_labels = ['STM', 'STM32L0', 'STM32L053C8']
self.supported_toolchains = ["ARM", "uARM", "IAR", "GCC_ARM"]
self.default_toolchain = "uARM"
self.progen_target ='disco-l053c8'
self.progen = {
"target":"disco-l053c8",
}
class DISCO_F746NG(Target):
def __init__(self):
@ -911,7 +1011,9 @@ class DISCO_F746NG(Target):
self.extra_labels = ['STM', 'STM32F7', 'STM32F746', 'STM32F746NG']
self.supported_toolchains = ["ARM", "uARM", "IAR", "GCC_ARM"]
self.detect_code = ["0815"]
self.progen_target ='disco-f746ng'
self.progen = {
"target":"disco-f746ng",
}
class DISCO_L476VG(Target):
def __init__(self):
@ -921,7 +1023,9 @@ class DISCO_L476VG(Target):
self.supported_toolchains = ["ARM", "uARM", "IAR", "GCC_ARM"]
self.default_toolchain = "uARM"
self.detect_code = ["0820"]
self.progen_target ='disco-l476vg'
self.progen = {
"target":"disco-l476vg",
}
class MTS_MDOT_F405RG(Target):
def __init__(self):
@ -932,7 +1036,9 @@ class MTS_MDOT_F405RG(Target):
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "IAR"]
self.is_disk_virtual = True
self.default_toolchain = "ARM"
self.progen_target ='mts-mdot-f405rg'
self.progen = {
"target":"mts-mdot-f405rg",
}
class MTS_MDOT_F411RE(Target):
def __init__(self):
@ -942,7 +1048,9 @@ class MTS_MDOT_F411RE(Target):
self.macros = ['HSE_VALUE=26000000', 'OS_CLOCK=96000000', 'USE_PLL_HSE_EXTC=0', 'VECT_TAB_OFFSET=0x00010000']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "IAR"]
self.default_toolchain = "ARM"
self.progen_target = 'mts-mdot-f411re'
self.progen = {
"target":"mts-mdot-f411re",
}
def init_hooks(self, hook, toolchain_name):
if toolchain_name in ['GCC_ARM', 'ARM_STD', 'ARM_MICRO']:
@ -984,7 +1092,9 @@ class MTS_DRAGONFLY_F411RE(Target):
self.macros = ['HSE_VALUE=26000000', 'VECT_TAB_OFFSET=0x08010000']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "IAR"]
self.default_toolchain = "ARM"
self.progen_target = 'mts-dragonfly-f411re'
self.progen = {
"target":"mts-dragonfly-f411re",
}
def init_hooks(self, hook, toolchain_name):
if toolchain_name in ['GCC_ARM', 'ARM_STD', 'ARM_MICRO']:
@ -1026,8 +1136,9 @@ class MOTE_L152RC(Target):
self.supported_toolchains = ["ARM", "uARM", "IAR", "GCC_ARM"]
self.default_toolchain = "uARM"
self.detect_code = ["4100"]
self.progen_target ='stm32l151rc'
self.progen = {
"target":"stm32l151rc",
}
class DISCO_F401VC(Target):
def __init__(self):
Target.__init__(self)
@ -1053,7 +1164,9 @@ class NZ32_SC151(Target):
self.extra_labels = ['STM', 'STM32L1', 'STM32L151RC']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM"]
self.default_toolchain = "uARM"
self.progen_target ='stm32l151rc'
self.progen = {
"target":"stm32l151rc",
}
# After flashing device, how long to delay until we assume program is running
def program_cycle_s(self):
return 1.5
@ -1281,8 +1394,9 @@ class NRF51822(MCU_NRF51_16K):
MCU_NRF51_16K.__init__(self)
self.extra_labels += ['NRF51822', 'NRF51822_MKIT']
self.macros += ['TARGET_NRF51822_MKIT']
self.progen_target ='mkit'
self.progen = {
"target":"mkit",
}
class NRF51822_BOOT(MCU_NRF51_16K_BOOT):
def __init__(self):
MCU_NRF51_16K_BOOT.__init__(self)
@ -1299,7 +1413,9 @@ class ARCH_BLE(MCU_NRF51_16K):
def __init__(self):
MCU_NRF51_16K.__init__(self)
self.supported_form_factors = ["ARDUINO"]
self.progen_target ='arch-ble'
self.progen = {
"target":"arch-ble",
}
class ARCH_BLE_BOOT(MCU_NRF51_16K_BOOT):
def __init__(self):
@ -1339,7 +1455,9 @@ class ARCH_LINK_OTA(MCU_NRF51_16K_OTA):
class SEEED_TINY_BLE(MCU_NRF51_16K):
def __init__(self):
MCU_NRF51_16K.__init__(self)
self.progen_target ='seed-tinyble'
self.progen = {
"target":"seed-tinyble",
}
class SEEED_TINY_BLE_BOOT(MCU_NRF51_16K_BOOT):
def __init__(self):
@ -1357,8 +1475,9 @@ class HRM1017(MCU_NRF51_16K):
def __init__(self):
MCU_NRF51_16K.__init__(self)
self.macros += ['TARGET_NRF_LFCLK_RC']
self.progen_target ='hrm1017'
self.progen = {
"target":"hrm1017",
}
class HRM1017_BOOT(MCU_NRF51_16K_BOOT):
def __init__(self):
MCU_NRF51_16K_BOOT.__init__(self)
@ -1375,7 +1494,9 @@ class RBLAB_NRF51822(MCU_NRF51_16K):
def __init__(self):
MCU_NRF51_16K.__init__(self)
self.supported_form_factors = ["ARDUINO"]
self.progen_target ='rblab-nrf51822'
self.progen = {
"target":"rblab-nrf51822",
}
class RBLAB_NRF51822_BOOT(MCU_NRF51_16K_BOOT):
def __init__(self):
@ -1432,7 +1553,9 @@ class DELTA_DFCM_NNN40(MCU_NRF51_32K):
MCU_NRF51_32K.__init__(self)
self.supported_toolchains = ["ARM", "GCC_ARM"]
self.macros += ['TARGET_NRF_LFCLK_RC']
self.progen_target ='dfcm-nnn40'
self.progen = {
"target":"dfcm-nnn40",
}
def program_cycle_s(self):
return 10
@ -1459,7 +1582,9 @@ class NRF51_DK(MCU_NRF51_32K):
MCU_NRF51_32K.__init__(self)
self.supported_toolchains = ["ARM", "GCC_ARM"]
self.supported_form_factors = ["ARDUINO"]
self.progen_target ='nrf51-dk'
self.progen = {
"target":"nrf51-dk",
}
class NRF51_DK_BOOT(MCU_NRF51_32K_BOOT):
def __init__(self):
@ -1480,7 +1605,9 @@ class NRF51_DK_OTA(MCU_NRF51_32K_OTA):
class NRF51_DONGLE(MCU_NRF51_32K):
def __init__(self):
MCU_NRF51_32K.__init__(self)
self.progen_target ='nrf51-dongle'
self.progen = {
"target":"nrf51-dongle",
}
class NRF51_DONGLE_BOOT(MCU_NRF51_32K_BOOT):
def __init__(self):
@ -1633,6 +1760,13 @@ class RZ_A1H(Target):
self.supported_toolchains = ["ARM", "GCC_ARM", "IAR"]
self.supported_form_factors = ["ARDUINO"]
self.default_toolchain = "ARM"
self.progen = {
"target": "gr-peach",
"iar": {
# rewrite generic template, this device needs futher support for FPU in progendef
"template": [os.path.join(os.path.dirname(__file__), 'export', 'iar_rz_a1h.ewp.tmpl')],
}
}
def program_cycle_s(self):
return 2
@ -1648,7 +1782,9 @@ class MAXWSNENV(Target):
self.macros = ['__SYSTEM_HFX=24000000']
self.supported_toolchains = ["GCC_ARM", "IAR", "ARM"]
self.default_toolchain = "ARM"
self.progen_target ='maxwsnenv'
self.progen = {
"target": "maxwsnenv",
}
class MAX32600MBED(Target):
def __init__(self):
@ -1658,7 +1794,9 @@ class MAX32600MBED(Target):
self.macros = ['__SYSTEM_HFX=24000000']
self.supported_toolchains = ["GCC_ARM", "IAR", "ARM"]
self.default_toolchain = "ARM"
self.progen_target ='max32600mbed'
self.progen = {
"target": "max32600mbed",
}
### Silicon Labs ###
@ -1757,7 +1895,9 @@ class SAMR21G18A(Target):
self.macros = ['__SAMR21G18A__', 'I2C_MASTER_CALLBACK_MODE=true', 'EXTINT_CALLBACK_MODE=true', 'USART_CALLBACK_MODE=true', 'TC_ASYNC=true']
self.supported_toolchains = ["GCC_ARM", "ARM", "uARM"]
self.default_toolchain = "ARM"
self.progen_target ='samr21g18a'
self.progen = {
"target":"samr21g18a",
}
class SAMD21J18A(Target):
def __init__(self):
@ -1767,7 +1907,9 @@ class SAMD21J18A(Target):
self.macros = ['__SAMD21J18A__', 'I2C_MASTER_CALLBACK_MODE=true', 'EXTINT_CALLBACK_MODE=true', 'USART_CALLBACK_MODE=true', 'TC_ASYNC=true']
self.supported_toolchains = ["GCC_ARM", "ARM", "uARM"]
self.default_toolchain = "ARM"
self.progen_target ='samd21j18a'
self.progen = {
"target":"samd21j18a",
}
class SAMD21G18A(Target):
def __init__(self):
@ -1777,7 +1919,9 @@ class SAMD21G18A(Target):
self.macros = ['__SAMD21G18A__', 'I2C_MASTER_CALLBACK_MODE=true', 'EXTINT_CALLBACK_MODE=true', 'USART_CALLBACK_MODE=true', 'TC_ASYNC=true']
self.supported_toolchains = ["GCC_ARM", "ARM", "uARM"]
self.default_toolchain = "ARM"
self.progen_target ='samd21g18a'
self.progen = {
"target":"samd21g18a",
}
class SAML21J18A(Target):
def __init__(self):
@ -1787,7 +1931,9 @@ class SAML21J18A(Target):
self.macros = ['__SAML21J18A__', 'I2C_MASTER_CALLBACK_MODE=true', 'EXTINT_CALLBACK_MODE=true', 'USART_CALLBACK_MODE=true', 'TC_ASYNC=true']
self.supported_toolchains = ["GCC_ARM", "ARM", "uARM"]
self.default_toolchain = "ARM"
self.progen_target ='samr21j18a'
self.progen = {
"target":"samr21j18a",
}
# Get a single instance for each target
TARGETS = [