mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #1487 from 0xc0170/dev_progen_addition
Progen boilerplate additionpull/1496/head
commit
8b10c2ae00
2
setup.py
2
setup.py
|
@ -40,7 +40,7 @@ setup(name='mbed-tools',
|
|||
url='https://github.com/mbedmicro/mbed',
|
||||
packages=find_packages(),
|
||||
license=LICENSE,
|
||||
install_requires=["PrettyTable>=0.7.2", "PySerial>=2.7", "IntelHex>=1.3", "colorama>=0.3.3", "Jinja2>=2.7.3"])
|
||||
install_requires=["PrettyTable>=0.7.2", "PySerial>=2.7", "IntelHex>=1.3", "colorama>=0.3.3", "Jinja2>=2.7.3", "project-generator>=0.8.4,<0.9.0"])
|
||||
|
||||
# Restore previous private_settings if needed
|
||||
if backup:
|
||||
|
|
|
@ -21,7 +21,9 @@ from shutil import copytree, rmtree, copy
|
|||
from workspace_tools.utils import mkdir
|
||||
from workspace_tools.export import uvision4, codesourcery, codered, gccarm, ds5_5, iar, emblocks, coide, kds, zip, simplicityv3, atmelstudio
|
||||
from workspace_tools.export.exporters import zip_working_directory_and_clean_up, OldLibrariesException
|
||||
from workspace_tools.targets import TARGET_NAMES, EXPORT_MAP
|
||||
from workspace_tools.targets import TARGET_NAMES, EXPORT_MAP, TARGET_MAP
|
||||
|
||||
from project_generator_definitions.definitions import ProGenDef
|
||||
|
||||
EXPORTERS = {
|
||||
'uvision': uvision4.Uvision4,
|
||||
|
@ -60,7 +62,7 @@ def export(project_path, project_name, ide, target, destination='/tmp/',
|
|||
if tempdir is None:
|
||||
tempdir = tempfile.mkdtemp()
|
||||
|
||||
report = {'success': False}
|
||||
report = {'success': False, 'errormsg':''}
|
||||
if ide is None or ide == "zip":
|
||||
# Simple ZIP exporter
|
||||
try:
|
||||
|
@ -73,13 +75,27 @@ def export(project_path, project_name, ide, target, destination='/tmp/',
|
|||
report['errormsg'] = ERROR_MESSAGE_NOT_EXPORT_LIBS
|
||||
else:
|
||||
if ide not in EXPORTERS:
|
||||
report['errormsg'] = "Unsupported toolchain"
|
||||
report['errormsg'] = ERROR_MESSAGE_UNSUPPORTED_TOOLCHAIN % (target, ide)
|
||||
else:
|
||||
Exporter = EXPORTERS[ide]
|
||||
target = EXPORT_MAP.get(target, target)
|
||||
if target not in Exporter.TARGETS:
|
||||
report['errormsg'] = ERROR_MESSAGE_UNSUPPORTED_TOOLCHAIN % (target, ide)
|
||||
# use progen targets or mbed exporters targets, check progen attribute
|
||||
use_progen = False
|
||||
supported = True
|
||||
try:
|
||||
if Exporter.PROGEN_ACTIVE:
|
||||
use_progen = True
|
||||
except AttributeError:
|
||||
pass
|
||||
if use_progen:
|
||||
if not ProGenDef(ide).is_supported(TARGET_MAP[target].progen_target):
|
||||
supported = False
|
||||
else:
|
||||
if target not in Exporter.TARGETS:
|
||||
supported = False
|
||||
|
||||
if supported:
|
||||
# target checked, export
|
||||
try:
|
||||
exporter = Exporter(target, tempdir, project_name, build_url_resolver, extra_symbols=extra_symbols)
|
||||
exporter.scan_and_copy_resources(project_path, tempdir)
|
||||
|
@ -87,6 +103,8 @@ def export(project_path, project_name, ide, target, destination='/tmp/',
|
|||
report['success'] = True
|
||||
except OldLibrariesException, e:
|
||||
report['errormsg'] = ERROR_MESSAGE_NOT_EXPORT_LIBS
|
||||
else:
|
||||
report['errormsg'] = ERROR_MESSAGE_UNSUPPORTED_TOOLCHAIN % (target, ide)
|
||||
|
||||
zip_path = None
|
||||
if report['success']:
|
||||
|
|
|
@ -12,9 +12,13 @@ from workspace_tools.utils import mkdir
|
|||
from workspace_tools.toolchains import TOOLCHAIN_CLASSES
|
||||
from workspace_tools.targets import TARGET_MAP
|
||||
|
||||
from project_generator.generate import Generator
|
||||
from project_generator.project import Project
|
||||
from project_generator.settings import ProjectSettings
|
||||
|
||||
class OldLibrariesException(Exception): pass
|
||||
|
||||
class Exporter():
|
||||
class Exporter(object):
|
||||
TEMPLATE_DIR = dirname(__file__)
|
||||
DOT_IN_RELATIVE_PATH = False
|
||||
|
||||
|
@ -42,6 +46,38 @@ class Exporter():
|
|||
self.toolchain.copy_files(r, trg_path, rel_path=src_path)
|
||||
return resources
|
||||
|
||||
def progen_get_project_data(self):
|
||||
""" Get ProGen project data """
|
||||
# provide default data, some tools don't require any additional
|
||||
# tool specific settings
|
||||
sources = []
|
||||
for r_type in ['c_sources', 'cpp_sources', 's_sources']:
|
||||
for file in getattr(self.resources, r_type):
|
||||
sources.append(file)
|
||||
|
||||
project_data = {
|
||||
'common': {
|
||||
'sources': {
|
||||
'Source Files': sources + self.resources.hex_files +
|
||||
self.resources.objects + self.resources.libraries,
|
||||
},
|
||||
'includes': {
|
||||
'Include Files': self.resources.headers,
|
||||
},
|
||||
'target': [TARGET_MAP[self.target].progen_target],
|
||||
'macros': self.get_symbols(),
|
||||
'export_dir': [self.inputDir],
|
||||
'linker_file': [self.resources.linker_script],
|
||||
}
|
||||
}
|
||||
return project_data
|
||||
|
||||
def progen_gen_file(self, tool_name, project_data):
|
||||
"""" Generate project using ProGen Project API """
|
||||
settings = ProjectSettings()
|
||||
project = Project(self.program_name, [project_data], settings)
|
||||
project.generate(tool_name, copied=True)
|
||||
|
||||
def __scan_all(self, path):
|
||||
resources = []
|
||||
|
||||
|
|
|
@ -123,6 +123,7 @@ 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'
|
||||
|
||||
class LPC1114(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -131,6 +132,7 @@ 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'
|
||||
|
||||
class LPC11U24(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -140,6 +142,7 @@ class LPC11U24(LPCTarget):
|
|||
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "IAR"]
|
||||
self.default_toolchain = "uARM"
|
||||
self.detect_code = ["1040"]
|
||||
self.progen_target = 'lpc11u24_201'
|
||||
|
||||
class OC_MBUINO(LPC11U24):
|
||||
def __init__(self):
|
||||
|
@ -149,6 +152,7 @@ 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'
|
||||
|
||||
class LPC11U24_301(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -180,6 +184,7 @@ 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'
|
||||
|
||||
class LPC11U35_501(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -188,6 +193,7 @@ 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'
|
||||
|
||||
class LPC11U35_501_IBDAP(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -243,6 +249,7 @@ class LPC11U68(LPCTarget):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.detect_code = ["1168"]
|
||||
self.progen_target ='lpc11u68'
|
||||
|
||||
class LPC1347(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -250,6 +257,7 @@ class LPC1347(LPCTarget):
|
|||
self.core = "Cortex-M3"
|
||||
self.extra_labels = ['NXP', 'LPC13XX']
|
||||
self.supported_toolchains = ["ARM", "GCC_ARM","IAR"]
|
||||
self.progen_target = 'lpc1347'
|
||||
|
||||
class LPC1549(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -260,6 +268,7 @@ class LPC1549(LPCTarget):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.detect_code = ["1549"]
|
||||
self.progen_target ='lpc1549'
|
||||
|
||||
class LPC1768(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -268,6 +277,7 @@ class LPC1768(LPCTarget):
|
|||
self.extra_labels = ['NXP', 'LPC176X', 'MBED_LPC1768']
|
||||
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "GCC_CS", "GCC_CR", "IAR"]
|
||||
self.detect_code = ["1010"]
|
||||
self.progen_target = 'mbed-lpc1768'
|
||||
|
||||
class ARCH_PRO(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -277,6 +287,7 @@ class ARCH_PRO(LPCTarget):
|
|||
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "GCC_CS", "GCC_CR", "IAR"]
|
||||
self.macros = ['TARGET_LPC1768']
|
||||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.progen_target ='arch-pro'
|
||||
|
||||
class UBLOX_C027(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -286,6 +297,7 @@ class UBLOX_C027(LPCTarget):
|
|||
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "GCC_CS", "GCC_CR", "IAR"]
|
||||
self.macros = ['TARGET_LPC1768']
|
||||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.progen_target ='ublox-c027'
|
||||
|
||||
class XBED_LPC1768(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -329,6 +341,7 @@ class LPC812(LPCTarget):
|
|||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.is_disk_virtual = True
|
||||
self.detect_code = ["1050"]
|
||||
self.progen_target = 'lpc812m101'
|
||||
|
||||
class LPC824(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -339,6 +352,7 @@ class LPC824(LPCTarget):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.is_disk_virtual = True
|
||||
self.progen_target = 'lpc824m201'
|
||||
|
||||
class SSCI824(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -356,6 +370,7 @@ 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'
|
||||
|
||||
def init_hooks(self, hook, toolchain_name):
|
||||
if toolchain_name in ['ARM_STD', 'ARM_MICRO']:
|
||||
|
@ -400,6 +415,7 @@ 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'
|
||||
|
||||
class LPC4330_M0(LPCTarget):
|
||||
def __init__(self):
|
||||
|
@ -414,7 +430,7 @@ class LPC4337(LPCTarget):
|
|||
self.core = "Cortex-M4F"
|
||||
self.extra_labels = ['NXP', 'LPC43XX', 'LPC4337']
|
||||
self.supported_toolchains = ["ARM"]
|
||||
|
||||
self.progen_target = 'lpc4337'
|
||||
class LPC1800(LPCTarget):
|
||||
def __init__(self):
|
||||
LPCTarget.__init__(self)
|
||||
|
@ -430,7 +446,7 @@ 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'
|
||||
|
||||
### Freescale ###
|
||||
|
||||
|
@ -443,6 +459,7 @@ class KL05Z(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.is_disk_virtual = True
|
||||
self.progen_target ='frdm-kl05z'
|
||||
|
||||
class KL25Z(Target):
|
||||
def __init__(self):
|
||||
|
@ -453,6 +470,7 @@ class KL25Z(Target):
|
|||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.is_disk_virtual = True
|
||||
self.detect_code = ["0200"]
|
||||
self.progen_target ='frdm-kl25z'
|
||||
|
||||
class KL26Z(Target):
|
||||
def __init__(self):
|
||||
|
@ -471,6 +489,7 @@ class KL43Z(Target):
|
|||
self.supported_toolchains = ["GCC_ARM", "ARM"]
|
||||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.is_disk_virtual = True
|
||||
self.progen_target ='frdm-kl43z'
|
||||
|
||||
class KL46Z(Target):
|
||||
def __init__(self):
|
||||
|
@ -481,6 +500,7 @@ class KL46Z(Target):
|
|||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.is_disk_virtual = True
|
||||
self.detect_code = ["0220"]
|
||||
self.progen_target ='frdm-kl46z'
|
||||
|
||||
class K20D50M(Target):
|
||||
def __init__(self):
|
||||
|
@ -490,6 +510,7 @@ class K20D50M(Target):
|
|||
self.supported_toolchains = ["GCC_ARM", "ARM", "IAR"]
|
||||
self.is_disk_virtual = True
|
||||
self.detect_code = ["0230"]
|
||||
self.progen_target = 'frdm-k20d50m'
|
||||
|
||||
class TEENSY3_1(Target):
|
||||
OUTPUT_EXT = 'hex'
|
||||
|
@ -501,7 +522,7 @@ class TEENSY3_1(Target):
|
|||
self.supported_toolchains = ["GCC_ARM", "ARM"]
|
||||
self.is_disk_virtual = True
|
||||
self.detect_code = ["0230"]
|
||||
|
||||
self.progen_target ='teensy-31'
|
||||
|
||||
def init_hooks(self, hook, toolchain_name):
|
||||
if toolchain_name in ['ARM_STD', 'ARM_MICRO', 'GCC_ARM']:
|
||||
|
@ -526,6 +547,7 @@ class K22F(Target):
|
|||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.is_disk_virtual = True
|
||||
self.detect_code = ["0201"]
|
||||
self.progen_target = 'frdm-k22f'
|
||||
|
||||
class K64F(Target):
|
||||
def __init__(self):
|
||||
|
@ -538,6 +560,7 @@ class K64F(Target):
|
|||
self.is_disk_virtual = True
|
||||
self.default_toolchain = "ARM"
|
||||
self.detect_code = ["0240"]
|
||||
self.progen_target = 'frdm-k64f'
|
||||
|
||||
class MTS_GAMBIT(Target):
|
||||
def __init__(self):
|
||||
|
@ -548,7 +571,7 @@ 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'
|
||||
|
||||
### STMicro ###
|
||||
|
||||
|
@ -561,6 +584,7 @@ class NUCLEO_F030R8(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0725"]
|
||||
self.progen_target ='nucleo-f030r8'
|
||||
|
||||
class NUCLEO_F031K6(Target):
|
||||
def __init__(self):
|
||||
|
@ -571,6 +595,7 @@ class NUCLEO_F031K6(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.detect_code = ["0791"]
|
||||
self.progen_target ='nucleo-f031k6'
|
||||
|
||||
class NUCLEO_F042K6(Target):
|
||||
def __init__(self):
|
||||
|
@ -581,6 +606,7 @@ class NUCLEO_F042K6(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.detect_code = ["0785"]
|
||||
self.progen_target ='nucleo-f042k6'
|
||||
|
||||
class NUCLEO_F070RB(Target):
|
||||
def __init__(self):
|
||||
|
@ -591,6 +617,7 @@ class NUCLEO_F070RB(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0755"]
|
||||
self.progen_target ='nucleo-f070rb'
|
||||
|
||||
class NUCLEO_F072RB(Target):
|
||||
def __init__(self):
|
||||
|
@ -601,6 +628,7 @@ class NUCLEO_F072RB(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0730"]
|
||||
self.progen_target ='nucleo-f072rb'
|
||||
|
||||
class NUCLEO_F091RC(Target):
|
||||
def __init__(self):
|
||||
|
@ -611,6 +639,7 @@ class NUCLEO_F091RC(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0750"]
|
||||
self.progen_target ='nucleo-f091rc'
|
||||
|
||||
class NUCLEO_F103RB(Target):
|
||||
def __init__(self):
|
||||
|
@ -621,6 +650,7 @@ class NUCLEO_F103RB(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0700"]
|
||||
self.progen_target ='nucleo-f103rb'
|
||||
|
||||
class NUCLEO_F302R8(Target):
|
||||
def __init__(self):
|
||||
|
@ -631,6 +661,7 @@ class NUCLEO_F302R8(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0705"]
|
||||
self.progen_target ='nucleo-f302r8'
|
||||
|
||||
class NUCLEO_F303K8(Target):
|
||||
def __init__(self):
|
||||
|
@ -641,7 +672,7 @@ class NUCLEO_F303K8(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.detect_code = ["0775"]
|
||||
|
||||
self.progen_target ='nucleo-f303k8'
|
||||
|
||||
class NUCLEO_F303RE(Target):
|
||||
def __init__(self):
|
||||
|
@ -652,6 +683,7 @@ class NUCLEO_F303RE(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0745"]
|
||||
self.progen_target ='nucleo-f303re'
|
||||
|
||||
class NUCLEO_F334R8(Target):
|
||||
def __init__(self):
|
||||
|
@ -662,6 +694,7 @@ class NUCLEO_F334R8(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0735"]
|
||||
self.progen_target ='nucleo-f334r8'
|
||||
|
||||
class NUCLEO_F401RE(Target):
|
||||
def __init__(self):
|
||||
|
@ -672,6 +705,7 @@ class NUCLEO_F401RE(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0720"]
|
||||
self.progen_target ='nucleo-f401re'
|
||||
|
||||
class NUCLEO_F410RB(Target):
|
||||
def __init__(self):
|
||||
|
@ -682,6 +716,7 @@ class NUCLEO_F410RB(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0740"]
|
||||
self.progen_target ='nucleo-f410rb'
|
||||
|
||||
class NUCLEO_F411RE(Target):
|
||||
def __init__(self):
|
||||
|
@ -692,6 +727,7 @@ class NUCLEO_F411RE(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0740"]
|
||||
self.progen_target ='nucleo-f411re'
|
||||
|
||||
class ELMO_F411RE(Target):
|
||||
def __init__(self):
|
||||
|
@ -712,6 +748,7 @@ class NUCLEO_F446RE(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0777"]
|
||||
self.progen_target ='nucleo-f446re'
|
||||
|
||||
class B96B_F446VE(Target):
|
||||
def __init__(self):
|
||||
|
@ -732,6 +769,7 @@ class NUCLEO_L053R8(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0715"]
|
||||
self.progen_target ='nucleo-l053r8'
|
||||
|
||||
class NUCLEO_L073RZ(Target):
|
||||
def __init__(self):
|
||||
|
@ -742,6 +780,7 @@ class NUCLEO_L073RZ(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0760"]
|
||||
self.progen_target ='nucleo-l073rz'
|
||||
|
||||
class NUCLEO_L152RE(Target):
|
||||
def __init__(self):
|
||||
|
@ -752,6 +791,7 @@ class NUCLEO_L152RE(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0710"]
|
||||
self.progen_target ='nucleo-l152re'
|
||||
|
||||
class NUCLEO_L476RG(Target):
|
||||
def __init__(self):
|
||||
|
@ -762,6 +802,7 @@ class NUCLEO_L476RG(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO", "MORPHO"]
|
||||
self.detect_code = ["0765"]
|
||||
self.progen_target ='nucleo-l476rg'
|
||||
|
||||
class STM32F3XX(Target):
|
||||
def __init__(self):
|
||||
|
@ -786,6 +827,7 @@ 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'
|
||||
|
||||
def program_cycle_s(self):
|
||||
return 2
|
||||
|
@ -822,6 +864,7 @@ 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'
|
||||
|
||||
class DISCO_F407VG(Target):
|
||||
def __init__(self):
|
||||
|
@ -829,6 +872,7 @@ 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'
|
||||
|
||||
class DISCO_F429ZI(Target):
|
||||
def __init__(self):
|
||||
|
@ -837,6 +881,7 @@ 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'
|
||||
|
||||
class DISCO_F469NI(Target):
|
||||
def __init__(self):
|
||||
|
@ -847,6 +892,7 @@ class DISCO_F469NI(Target):
|
|||
self.default_toolchain = "uARM"
|
||||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.detect_code = ["0788"]
|
||||
self.progen_target ='disco-f469ni'
|
||||
|
||||
class DISCO_L053C8(Target):
|
||||
def __init__(self):
|
||||
|
@ -855,6 +901,7 @@ 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'
|
||||
|
||||
class DISCO_F746NG(Target):
|
||||
def __init__(self):
|
||||
|
@ -864,6 +911,7 @@ class DISCO_F746NG(Target):
|
|||
self.supported_toolchains = ["ARM", "uARM", "IAR", "GCC_ARM"]
|
||||
self.default_toolchain = "uARM"
|
||||
self.detect_code = ["0815"]
|
||||
self.progen_target ='disco-f746ng'
|
||||
|
||||
class DISCO_L476VG(Target):
|
||||
def __init__(self):
|
||||
|
@ -873,6 +921,7 @@ 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'
|
||||
|
||||
class MTS_MDOT_F405RG(Target):
|
||||
def __init__(self):
|
||||
|
@ -883,6 +932,7 @@ 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'
|
||||
|
||||
class MTS_MDOT_F411RE(Target):
|
||||
def __init__(self):
|
||||
|
@ -892,6 +942,7 @@ 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'
|
||||
|
||||
def init_hooks(self, hook, toolchain_name):
|
||||
if toolchain_name in ['GCC_ARM', 'ARM_STD', 'ARM_MICRO']:
|
||||
|
@ -933,6 +984,7 @@ 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'
|
||||
|
||||
def init_hooks(self, hook, toolchain_name):
|
||||
if toolchain_name in ['GCC_ARM', 'ARM_STD', 'ARM_MICRO']:
|
||||
|
@ -974,6 +1026,7 @@ class MOTE_L152RC(Target):
|
|||
self.supported_toolchains = ["ARM", "uARM", "IAR", "GCC_ARM"]
|
||||
self.default_toolchain = "uARM"
|
||||
self.detect_code = ["4100"]
|
||||
self.progen_target ='stm32l151rc'
|
||||
|
||||
class DISCO_F401VC(Target):
|
||||
def __init__(self):
|
||||
|
@ -1000,6 +1053,7 @@ class NZ32SC151(Target):
|
|||
self.extra_labels = ['STM', 'STM32L1', 'STM32L151RC']
|
||||
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM"]
|
||||
self.default_toolchain = "uARM"
|
||||
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
|
||||
|
@ -1227,6 +1281,7 @@ 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'
|
||||
|
||||
class NRF51822_BOOT(MCU_NRF51_16K_BOOT):
|
||||
def __init__(self):
|
||||
|
@ -1244,6 +1299,7 @@ class ARCH_BLE(MCU_NRF51_16K):
|
|||
def __init__(self):
|
||||
MCU_NRF51_16K.__init__(self)
|
||||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.progen_target ='arch-ble'
|
||||
|
||||
class ARCH_BLE_BOOT(MCU_NRF51_16K_BOOT):
|
||||
def __init__(self):
|
||||
|
@ -1283,6 +1339,7 @@ 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'
|
||||
|
||||
class SEEED_TINY_BLE_BOOT(MCU_NRF51_16K_BOOT):
|
||||
def __init__(self):
|
||||
|
@ -1300,6 +1357,7 @@ class HRM1017(MCU_NRF51_16K):
|
|||
def __init__(self):
|
||||
MCU_NRF51_16K.__init__(self)
|
||||
self.macros += ['TARGET_NRF_LFCLK_RC']
|
||||
self.progen_target ='hrm1017'
|
||||
|
||||
class HRM1017_BOOT(MCU_NRF51_16K_BOOT):
|
||||
def __init__(self):
|
||||
|
@ -1317,6 +1375,7 @@ class RBLAB_NRF51822(MCU_NRF51_16K):
|
|||
def __init__(self):
|
||||
MCU_NRF51_16K.__init__(self)
|
||||
self.supported_form_factors = ["ARDUINO"]
|
||||
self.progen_target ='rblab-nrf51822'
|
||||
|
||||
class RBLAB_NRF51822_BOOT(MCU_NRF51_16K_BOOT):
|
||||
def __init__(self):
|
||||
|
@ -1373,6 +1432,7 @@ 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'
|
||||
def program_cycle_s(self):
|
||||
return 10
|
||||
|
||||
|
@ -1399,6 +1459,7 @@ 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'
|
||||
|
||||
class NRF51_DK_BOOT(MCU_NRF51_32K_BOOT):
|
||||
def __init__(self):
|
||||
|
@ -1419,6 +1480,7 @@ 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'
|
||||
|
||||
class NRF51_DONGLE_BOOT(MCU_NRF51_32K_BOOT):
|
||||
def __init__(self):
|
||||
|
@ -1566,6 +1628,7 @@ class MAXWSNENV(Target):
|
|||
self.macros = ['__SYSTEM_HFX=24000000']
|
||||
self.supported_toolchains = ["GCC_ARM", "IAR", "ARM"]
|
||||
self.default_toolchain = "ARM"
|
||||
self.progen_target ='maxwsnenv'
|
||||
|
||||
class MAX32600MBED(Target):
|
||||
def __init__(self):
|
||||
|
@ -1575,7 +1638,7 @@ class MAX32600MBED(Target):
|
|||
self.macros = ['__SYSTEM_HFX=24000000']
|
||||
self.supported_toolchains = ["GCC_ARM", "IAR", "ARM"]
|
||||
self.default_toolchain = "ARM"
|
||||
|
||||
self.progen_target ='max32600mbed'
|
||||
|
||||
### Silicon Labs ###
|
||||
|
||||
|
@ -1664,6 +1727,7 @@ 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'
|
||||
|
||||
class SAMD21J18A(Target):
|
||||
def __init__(self):
|
||||
|
@ -1673,6 +1737,7 @@ 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'
|
||||
|
||||
class SAMD21G18A(Target):
|
||||
def __init__(self):
|
||||
|
@ -1682,6 +1747,7 @@ 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'
|
||||
|
||||
class SAML21J18A(Target):
|
||||
def __init__(self):
|
||||
|
@ -1691,7 +1757,7 @@ 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'
|
||||
|
||||
# Get a single instance for each target
|
||||
TARGETS = [
|
||||
|
|
Loading…
Reference in New Issue