Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: blinky_max32630fthr
build_travis.py
00001 #!/usr/bin/env python2 00002 00003 """ 00004 Travis-CI build script 00005 00006 mbed SDK 00007 Copyright (c) 2011-2013 ARM Limited 00008 00009 Licensed under the Apache License, Version 2.0 (the "License"); 00010 you may not use this file except in compliance with the License. 00011 You may obtain a copy of the License at 00012 00013 http://www.apache.org/licenses/LICENSE-2.0 00014 00015 Unless required by applicable law or agreed to in writing, software 00016 distributed under the License is distributed on an "AS IS" BASIS, 00017 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00018 See the License for the specific language governing permissions and 00019 limitations under the License. 00020 """ 00021 00022 import os 00023 import sys 00024 00025 ################################################################################ 00026 # Configure builds here 00027 # "libs" can contain "dsp", "rtos", "eth", "usb_host", "usb", "ublox", "fat" 00028 00029 build_list = ( 00030 { "target": "LPC1768", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "eth", "usb_host", "usb", "ublox", "fat"] }, 00031 { "target": "LPC2368", "toolchains": "GCC_ARM", "libs": ["fat"] }, 00032 { "target": "LPC2460", "toolchains": "GCC_ARM", "libs": ["rtos", "usb_host", "usb", "fat"] }, 00033 { "target": "LPC11U24", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00034 { "target": "OC_MBUINO", "toolchains": "GCC_ARM", "libs": ["fat"] }, 00035 00036 { "target": "LPC11U24_301", "toolchains": "GCC_ARM", "libs": ["fat"] }, 00037 00038 { "target": "B96B_F446VE", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00039 { "target": "NUCLEO_L053R8", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00040 { "target": "NUCLEO_L152RE", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00041 { "target": "NUCLEO_F030R8", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00042 { "target": "NUCLEO_F031K6", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00043 { "target": "NUCLEO_F042K6", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00044 { "target": "NUCLEO_F070RB", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00045 { "target": "NUCLEO_F072RB", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00046 { "target": "NUCLEO_F091RC", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00047 { "target": "NUCLEO_F103RB", "toolchains": "GCC_ARM", "libs": ["rtos", "fat"] }, 00048 { "target": "NUCLEO_F207ZG", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00049 { "target": "NUCLEO_F302R8", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00050 { "target": "NUCLEO_F303K8", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00051 { "target": "NUCLEO_F303RE", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00052 { "target": "NUCLEO_F303ZE", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00053 { "target": "NUCLEO_F334R8", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00054 { "target": "NUCLEO_F401RE", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00055 { "target": "NUCLEO_F410RB", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00056 { "target": "NUCLEO_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00057 { "target": "NUCLEO_L432KC", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00058 { "target": "NUCLEO_L476RG", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00059 { "target": "NUCLEO_L011K4", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00060 { "target": "NUCLEO_L031K6", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00061 { "target": "NUCLEO_L073RZ", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00062 { "target": "NUCLEO_F429ZI", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00063 { "target": "NUCLEO_F446RE", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00064 { "target": "NUCLEO_F446ZE", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00065 { "target": "NUCLEO_F746ZG", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00066 { "target": "NUCLEO_F767ZI", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00067 00068 { "target": "MOTE_L152RC", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00069 00070 { "target": "ELMO_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00071 00072 { "target": "MTS_MDOT_F405RG", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos"] }, 00073 { "target": "MTS_MDOT_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos"] }, 00074 { "target": "MTS_DRAGONFLY_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00075 { "target": "ARCH_MAX", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00076 00077 { "target": "DISCO_F051R8", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00078 { "target": "DISCO_F334C8", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00079 { "target": "DISCO_F401VC", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00080 { "target": "DISCO_F407VG", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00081 { "target": "DISCO_F429ZI", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00082 { "target": "DISCO_F469NI", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00083 { "target": "DISCO_F746NG", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00084 { "target": "DISCO_F769NI", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00085 00086 { "target": "LPC1114", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00087 { "target": "LPC11U35_401", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00088 { "target": "UBLOX_C027", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00089 { "target": "LPC11U35_501", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00090 { "target": "LPC11U68", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00091 { "target": "LPC11U37H_401", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00092 00093 { "target": "KL05Z", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00094 { "target": "KL25Z", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00095 { "target": "KL27Z", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00096 { "target": "KL43Z", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00097 { "target": "KL46Z", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00098 { "target": "K20D50M", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00099 { "target": "TEENSY3_1", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00100 { "target": "K64F", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00101 { "target": "K22F", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00102 { "target": "LPC4088", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00103 { "target": "ARCH_PRO", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00104 { "target": "LPC1549", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00105 { "target": "NRF51822", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00106 { "target": "DELTA_DFCM_NNN40", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00107 { "target": "NRF51_DK", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00108 { "target": "NRF51_MICROBIT", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00109 00110 { "target": "EFM32ZG_STK3200", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00111 { "target": "EFM32HG_STK3400", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb"] }, 00112 { "target": "EFM32LG_STK3600", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb"] }, 00113 { "target": "EFM32GG_STK3700", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb"] }, 00114 { "target": "EFM32WG_STK3800", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb"] }, 00115 { "target": "EFM32PG_STK3401", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos"] }, 00116 00117 { "target": "MAXWSNENV", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00118 { "target": "MAX32600MBED", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00119 { "target": "MAX32620HSP", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00120 00121 { "target": "RZ_A1H", "toolchains": "GCC_ARM", "libs": ["fat"] }, 00122 00123 { "target": "SAMR21G18A", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00124 { "target": "SAMD21J18A", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00125 { "target": "SAMD21G18A", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00126 { "target": "SAML21J18A", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00127 ) 00128 00129 ################################################################################ 00130 # Configure example test building (linking against external mbed SDK libraries liek fat or rtos) 00131 00132 linking_list = [ 00133 {"target": "LPC1768", 00134 "toolchains": "GCC_ARM", 00135 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_15", "MBED_16", "MBED_17"], 00136 "eth" : ["NET_1", "NET_2", "NET_3", "NET_4"], 00137 "fat" : ["MBED_A12", "MBED_19", "PERF_1", "PERF_2", "PERF_3"], 00138 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00139 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00140 } 00141 }, 00142 {"target": "K64F", 00143 "toolchains": "GCC_ARM", 00144 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00145 "fat" : ["MBED_A12", "PERF_1", "PERF_2", "PERF_3"], 00146 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00147 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00148 } 00149 }, 00150 {"target": "K22F", 00151 "toolchains": "GCC_ARM", 00152 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00153 "fat" : ["MBED_A12", "PERF_1", "PERF_2", "PERF_3"], 00154 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00155 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00156 } 00157 }, 00158 {"target": "KL43Z", 00159 "toolchains": "GCC_ARM", 00160 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00161 "fat" : ["MBED_A12", "PERF_1", "PERF_2", "PERF_3"], 00162 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00163 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00164 } 00165 } 00166 ] 00167 00168 ################################################################################ 00169 00170 # Driver 00171 00172 def run_builds(dry_run): 00173 for build in build_list: 00174 toolchain_list = build["toolchains"] 00175 if type(toolchain_list) != type([]): toolchain_list = [toolchain_list] 00176 for toolchain in toolchain_list: 00177 cmdline = "python tools/build.py -m %s -t %s -j 4 -c --silent "% (build["target"], toolchain) 00178 libs = build.get("libs", []) 00179 if libs: 00180 cmdline = cmdline + " ".join(["--" + l for l in libs]) 00181 print "Executing: " + cmdline 00182 if not dry_run: 00183 if os.system(cmdline) != 0: 00184 sys.exit(1) 00185 00186 00187 def run_test_linking(dry_run): 00188 """ Function run make.py commands to build and link simple mbed SDK 00189 tests against few libraries to make sure there are no simple linking errors. 00190 """ 00191 for link in linking_list: 00192 toolchain_list = link["toolchains"] 00193 if type(toolchain_list) != type([]): 00194 toolchain_list = [toolchain_list] 00195 for toolchain in toolchain_list: 00196 tests = link["tests"] 00197 # Call make.py for each test group for particular library 00198 for test_lib in tests: 00199 test_names = tests[test_lib] 00200 test_lib_switch = "--" + test_lib if test_lib else "" 00201 cmdline = "python tools/make.py -m %s -t %s -c --silent %s -n %s " % (link["target"], toolchain, test_lib_switch, ",".join(test_names)) 00202 print "Executing: " + cmdline 00203 if not dry_run: 00204 if os.system(cmdline) != 0: 00205 sys.exit(1) 00206 00207 def run_test_testsuite(dry_run): 00208 cmdline = "python tools/singletest.py --version" 00209 print "Executing: " + cmdline 00210 if not dry_run: 00211 if os.system(cmdline) != 0: 00212 sys.exit(1) 00213 00214 if __name__ == "__main__": 00215 run_builds("-s" in sys.argv) 00216 run_test_linking("-s" in sys.argv) 00217 run_test_testsuite("-s" in sys.argv)
Generated on Tue Jul 12 2022 14:21:00 by
1.7.2