summaryrefslogtreecommitdiffstats
path: root/tmk_core/tool/mbed/mbed-sdk/workspace_tools/make.py
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/tool/mbed/mbed-sdk/workspace_tools/make.py')
-rwxr-xr-xtmk_core/tool/mbed/mbed-sdk/workspace_tools/make.py287
1 files changed, 0 insertions, 287 deletions
diff --git a/tmk_core/tool/mbed/mbed-sdk/workspace_tools/make.py b/tmk_core/tool/mbed/mbed-sdk/workspace_tools/make.py
deleted file mode 100755
index 828f3644a..000000000
--- a/tmk_core/tool/mbed/mbed-sdk/workspace_tools/make.py
+++ /dev/null
@@ -1,287 +0,0 @@
-#! /usr/bin/env python2
-"""
-mbed SDK
-Copyright (c) 2011-2013 ARM Limited
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-TEST BUILD & RUN
-"""
-import sys
-from time import sleep
-from shutil import copy
-from os.path import join, abspath, dirname
-
-# Be sure that the tools directory is in the search path
-ROOT = abspath(join(dirname(__file__), ".."))
-sys.path.insert(0, ROOT)
-
-from workspace_tools.utils import args_error
-from workspace_tools.paths import BUILD_DIR
-from workspace_tools.paths import RTOS_LIBRARIES
-from workspace_tools.paths import ETH_LIBRARY
-from workspace_tools.paths import USB_HOST_LIBRARIES, USB_LIBRARIES
-from workspace_tools.paths import DSP_LIBRARIES
-from workspace_tools.paths import FS_LIBRARY
-from workspace_tools.paths import UBLOX_LIBRARY
-from workspace_tools.tests import TESTS, Test, TEST_MAP
-from workspace_tools.tests import TEST_MBED_LIB
-from workspace_tools.targets import TARGET_MAP
-from workspace_tools.options import get_default_options_parser
-from workspace_tools.build_api import build_project
-try:
- import workspace_tools.private_settings as ps
-except:
- ps = object()
-
-
-if __name__ == '__main__':
- # Parse Options
- parser = get_default_options_parser()
- parser.add_option("-p",
- type="int",
- dest="program",
- help="The index of the desired test program: [0-%d]" % (len(TESTS)-1))
-
- parser.add_option("-n",
- dest="program_name",
- help="The name of the desired test program")
-
- parser.add_option("-j", "--jobs",
- type="int",
- dest="jobs",
- default=1,
- help="Number of concurrent jobs (default 1). Use 0 for auto based on host machine's number of CPUs")
-
- parser.add_option("-v", "--verbose",
- action="store_true",
- dest="verbose",
- default=False,
- help="Verbose diagnostic output")
-
- parser.add_option("--silent",
- action="store_true",
- dest="silent",
- default=False,
- help="Silent diagnostic output (no copy, compile notification)")
-
- parser.add_option("-D", "",
- action="append",
- dest="macros",
- help="Add a macro definition")
-
- # Local run
- parser.add_option("--automated", action="store_true", dest="automated",
- default=False, help="Automated test")
- parser.add_option("--host", dest="host_test",
- default=None, help="Host test")
- parser.add_option("--extra", dest="extra",
- default=None, help="Extra files")
- parser.add_option("--peripherals", dest="peripherals",
- default=None, help="Required peripherals")
- parser.add_option("--dep", dest="dependencies",
- default=None, help="Dependencies")
- parser.add_option("--source", dest="source_dir",
- default=None, help="The source (input) directory")
- parser.add_option("--duration", type="int", dest="duration",
- default=None, help="Duration of the test")
- parser.add_option("--build", dest="build_dir",
- default=None, help="The build (output) directory")
- parser.add_option("-d", "--disk", dest="disk",
- default=None, help="The mbed disk")
- parser.add_option("-s", "--serial", dest="serial",
- default=None, help="The mbed serial port")
- parser.add_option("-b", "--baud", type="int", dest="baud",
- default=None, help="The mbed serial baud rate")
- parser.add_option("-L", "--list-tests", action="store_true", dest="list_tests",
- default=False, help="List available tests in order and exit")
-
- # Ideally, all the tests with a single "main" thread can be run with, or
- # without the rtos, eth, usb_host, usb, dsp, fat, ublox
- parser.add_option("--rtos",
- action="store_true", dest="rtos",
- default=False, help="Link with RTOS library")
-
- parser.add_option("--eth",
- action="store_true", dest="eth",
- default=False,
- help="Link with Ethernet library")
-
- parser.add_option("--usb_host",
- action="store_true",
- dest="usb_host",
- default=False,
- help="Link with USB Host library")
-
- parser.add_option("--usb",
- action="store_true",
- dest="usb",
- default=False,
- help="Link with USB Device library")
-
- parser.add_option("--dsp",
- action="store_true",
- dest="dsp",
- default=False,
- help="Link with DSP library")
-
- parser.add_option("--fat",
- action="store_true",
- dest="fat",
- default=False,
- help="Link with FS ad SD card file system library")
-
- parser.add_option("--ublox",
- action="store_true",
- dest="ublox",
- default=False,
- help="Link with U-Blox library")
-
- parser.add_option("--testlib",
- action="store_true",
- dest="testlib",
- default=False,
- help="Link with mbed test library")
-
- # Specify a different linker script
- parser.add_option("-l", "--linker", dest="linker_script",
- default=None, help="use the specified linker script")
-
- (options, args) = parser.parse_args()
-
- # Print available tests in order and exit
- if options.list_tests is True:
- print '\n'.join(map(str, sorted(TEST_MAP.values())))
- sys.exit()
-
- # force program to "0" if a source dir is specified
- if options.source_dir is not None:
- p = 0
- n = None
- else:
- # Program Number or name
- p, n = options.program, options.program_name
-
- if n is not None and p is not None:
- args_error(parser, "[ERROR] specify either '-n' or '-p', not both")
- if n:
- # We will transform 'n' to list of 'p' (integers which are test numbers)
- nlist = n.split(',')
- for test_id in nlist:
- if test_id not in TEST_MAP.keys():
- args_error(parser, "[ERROR] Program with name '%s' not found"% test_id)
-
- p = [TEST_MAP[n].n for n in nlist]
- elif p is None or (p < 0) or (p > (len(TESTS)-1)):
- message = "[ERROR] You have to specify one of the following tests:\n"
- message += '\n'.join(map(str, sorted(TEST_MAP.values())))
- args_error(parser, message)
-
- # If 'p' was set via -n to list of numbers make this a single element integer list
- if type(p) != type([]):
- p = [p]
-
- # Target
- if options.mcu is None :
- args_error(parser, "[ERROR] You should specify an MCU")
- mcu = options.mcu
-
- # Toolchain
- if options.tool is None:
- args_error(parser, "[ERROR] You should specify a TOOLCHAIN")
- toolchain = options.tool
-
- # Test
- for test_no in p:
- test = Test(test_no)
- if options.automated is not None: test.automated = options.automated
- if options.dependencies is not None: test.dependencies = options.dependencies
- if options.host_test is not None: test.host_test = options.host_test;
- if options.peripherals is not None: test.peripherals = options.peripherals;
- if options.duration is not None: test.duration = options.duration;
- if options.extra is not None: test.extra_files = options.extra
-
- if not test.is_supported(mcu, toolchain):
- print 'The selected test is not supported on target %s with toolchain %s' % (mcu, toolchain)
- sys.exit()
-
- # Linking with extra libraries
- if options.rtos: test.dependencies.append(RTOS_LIBRARIES)
- if options.eth: test.dependencies.append(ETH_LIBRARY)
- if options.usb_host: test.dependencies.append(USB_HOST_LIBRARIES)
- if options.usb: test.dependencies.append(USB_LIBRARIES)
- if options.dsp: test.dependencies.append(DSP_LIBRARIES)
- if options.fat: test.dependencies.append(FS_LIBRARY)
- if options.ublox: test.dependencies.append(UBLOX_LIBRARY)
- if options.testlib: test.dependencies.append(TEST_MBED_LIB)
-
- build_dir = join(BUILD_DIR, "test", mcu, toolchain, test.id)
- if options.source_dir is not None:
- test.source_dir = options.source_dir
- build_dir = options.source_dir
-
- if options.build_dir is not None:
- build_dir = options.build_dir
-
- target = TARGET_MAP[mcu]
- try:
- bin_file = build_project(test.source_dir, build_dir, target, toolchain, test.dependencies, options.options,
- linker_script=options.linker_script,
- clean=options.clean,
- verbose=options.verbose,
- silent=options.silent,
- macros=options.macros,
- jobs=options.jobs)
- print 'Image: %s'% bin_file
-
- if options.disk:
- # Simple copy to the mbed disk
- copy(bin_file, options.disk)
-
- if options.serial:
- # Import pyserial: https://pypi.python.org/pypi/pyserial
- from serial import Serial
-
- sleep(target.program_cycle_s())
-
- serial = Serial(options.serial, timeout = 1)
- if options.baud:
- serial.setBaudrate(options.baud)
-
- serial.flushInput()
- serial.flushOutput()
-
- try:
- serial.sendBreak()
- except:
- # In linux a termios.error is raised in sendBreak and in setBreak.
- # The following setBreak() is needed to release the reset signal on the target mcu.
- try:
- serial.setBreak(False)
- except:
- pass
-
- while True:
- c = serial.read(512)
- sys.stdout.write(c)
- sys.stdout.flush()
-
- except KeyboardInterrupt, e:
- print "\n[CTRL+c] exit"
- except Exception,e:
- if options.verbose:
- import traceback
- traceback.print_exc(file=sys.stdout)
- else:
- print "[ERROR] %s" % str(e)