Marco Zecchini
/
Example_RTOS
Rtos API example
Embed:
(wiki syntax)
Show/hide line numbers
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", "usb" 00028 00029 build_list = ( 00030 { "target": "LPC1768", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00031 { "target": "LPC11U24", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00032 { "target": "OC_MBUINO", "toolchains": "GCC_ARM", "libs": [] }, 00033 00034 { "target": "LPC11U24_301", "toolchains": "GCC_ARM", "libs": [] }, 00035 00036 { "target": "B96B_F446VE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00037 { "target": "NUCLEO_L053R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00038 { "target": "NUCLEO_L152RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00039 { "target": "NUCLEO_F030R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00040 { "target": "NUCLEO_F031K6", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00041 { "target": "NUCLEO_F042K6", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00042 { "target": "NUCLEO_F070RB", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00043 { "target": "NUCLEO_F072RB", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00044 { "target": "NUCLEO_F091RC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00045 { "target": "NUCLEO_F103RB", "toolchains": "GCC_ARM" }, 00046 { "target": "NUCLEO_F207ZG", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00047 { "target": "NUCLEO_F302R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00048 { "target": "NUCLEO_F303K8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00049 { "target": "NUCLEO_F303RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00050 { "target": "NUCLEO_F303ZE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00051 { "target": "NUCLEO_F334R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00052 { "target": "NUCLEO_F401RE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00053 { "target": "NUCLEO_F410RB", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00054 { "target": "NUCLEO_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00055 { "target": "NUCLEO_F412ZG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00056 { "target": "NUCLEO_L432KC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00057 { "target": "NUCLEO_L476RG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00058 { "target": "NUCLEO_L011K4", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00059 { "target": "NUCLEO_L031K6", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00060 { "target": "NUCLEO_L073RZ", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00061 { "target": "NUCLEO_F429ZI", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00062 { "target": "NUCLEO_F446RE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00063 { "target": "NUCLEO_F446ZE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00064 { "target": "NUCLEO_F746ZG", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00065 { "target": "NUCLEO_F767ZI", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00066 { "target": "NUCLEO_L496ZG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00067 00068 { "target": "MOTE_L152RC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00069 00070 { "target": "ELMO_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00071 00072 { "target": "MTS_MDOT_F405RG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00073 { "target": "MTS_MDOT_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00074 { "target": "MTS_DRAGONFLY_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00075 { "target": "ARCH_MAX", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00076 00077 { "target": "DISCO_F051R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00078 { "target": "DISCO_F303VC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00079 { "target": "DISCO_F334C8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00080 { "target": "DISCO_F401VC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00081 00082 { "target": "DISCO_F407VG", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00083 { "target": "DISCO_F413ZH", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00084 { "target": "DISCO_F429ZI", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00085 { "target": "DISCO_F469NI", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00086 { "target": "DISCO_F746NG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00087 { "target": "DISCO_F769NI", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00088 { "target": "DISCO_L475VG_IOT01A", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00089 { "target": "DISCO_L476VG", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00090 { "target": "DISCO_L072CZ_LRWAN1", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00091 00092 { "target": "LPC1114", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00093 { "target": "LPC11U35_401", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00094 { "target": "UBLOX_C027", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00095 { "target": "LPC11U35_501", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00096 { "target": "LPC11U68", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00097 { "target": "LPC11U37H_401", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00098 00099 { "target": "KL05Z", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00100 { "target": "KL25Z", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00101 { "target": "KL27Z", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00102 { "target": "KL43Z", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00103 { "target": "KL46Z", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00104 { "target": "K20D50M", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00105 { "target": "TEENSY3_1", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00106 { "target": "K64F", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00107 { "target": "K22F", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00108 { "target": "LPC4088", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00109 { "target": "ARCH_PRO", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00110 { "target": "LPC1549", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00111 { "target": "NRF51822", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00112 { "target": "DELTA_DFCM_NNN40", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00113 { "target": "NRF51_DK", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00114 { "target": "NRF51_MICROBIT", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00115 00116 { "target": "EFM32ZG_STK3200", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00117 { "target": "EFM32HG_STK3400", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00118 { "target": "EFM32LG_STK3600", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00119 { "target": "EFM32GG_STK3700", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00120 { "target": "EFM32WG_STK3800", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00121 { "target": "EFM32PG_STK3401", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00122 00123 { "target": "MAXWSNENV", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00124 { "target": "MAX32600MBED", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00125 { "target": "MAX32620HSP", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00126 00127 { "target": "SAMR21G18A", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00128 { "target": "SAMD21J18A", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00129 { "target": "SAMD21G18A", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00130 { "target": "SAML21J18A", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00131 00132 { "target": "NUMAKER_PFM_NUC472", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00133 { "target": "NUMAKER_PFM_M453", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00134 { "target": "NUMAKER_PFM_M487", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, 00135 ) 00136 00137 ################################################################################ 00138 # Configure example test building (linking against external mbed SDK libraries) 00139 00140 linking_list = [ 00141 {"target": "LPC1768", 00142 "toolchains": "GCC_ARM", 00143 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_15", "MBED_16", "MBED_17"], 00144 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00145 } 00146 }, 00147 {"target": "K64F", 00148 "toolchains": "GCC_ARM", 00149 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00150 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00151 } 00152 }, 00153 {"target": "K22F", 00154 "toolchains": "GCC_ARM", 00155 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00156 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00157 } 00158 }, 00159 {"target": "KL43Z", 00160 "toolchains": "GCC_ARM", 00161 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00162 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00163 } 00164 }, 00165 {"target": "NUCLEO_F446RE", 00166 "toolchains": "GCC_ARM", 00167 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00168 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00169 } 00170 }, 00171 {"target": "NUCLEO_F446ZE", 00172 "toolchains": "GCC_ARM", 00173 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00174 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00175 } 00176 }, 00177 {"target": "NUCLEO_F401RE", 00178 "toolchains": "GCC_ARM", 00179 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00180 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00181 } 00182 }, 00183 {"target": "NUCLEO_F411RE", 00184 "toolchains": "GCC_ARM", 00185 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00186 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00187 } 00188 }, 00189 {"target": "NUCLEO_F412ZG", 00190 "toolchains": "GCC_ARM", 00191 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00192 } 00193 }, 00194 {"target": "NUCLEO_F429ZI", 00195 "toolchains": "GCC_ARM", 00196 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00197 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00198 } 00199 }, 00200 {"target": "NUCLEO_F207ZG", 00201 "toolchains": "GCC_ARM", 00202 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00203 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00204 } 00205 }, 00206 {"target": "NUCLEO_F746ZG", 00207 "toolchains": "GCC_ARM", 00208 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00209 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00210 } 00211 }, 00212 {"target": "NUCLEO_F767ZI", 00213 "toolchains": "GCC_ARM", 00214 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00215 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00216 } 00217 }, 00218 {"target": "NUCLEO_L476RG", 00219 "toolchains": "GCC_ARM", 00220 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00221 } 00222 }, 00223 {"target": "DISCO_F429ZI", 00224 "toolchains": "GCC_ARM", 00225 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00226 } 00227 }, 00228 {"target": "DISCO_F407VG", 00229 "toolchains": "GCC_ARM", 00230 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00231 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00232 } 00233 }, 00234 {"target": "DISCO_F413ZH", 00235 "toolchains": "GCC_ARM", 00236 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00237 } 00238 }, 00239 {"target": "NUCLEO_F303ZE", 00240 "toolchains": "GCC_ARM", 00241 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00242 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00243 } 00244 }, 00245 {"target": "DISCO_L475VG_IOT01A", 00246 "toolchains": "GCC_ARM", 00247 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00248 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00249 } 00250 }, 00251 {"target": "DISCO_L476VG", 00252 "toolchains": "GCC_ARM", 00253 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00254 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00255 } 00256 }, 00257 {"target": "DISCO_L072CZ_LRWAN1", 00258 "toolchains": "GCC_ARM", 00259 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00260 } 00261 }, 00262 {"target": "NUMAKER_PFM_NUC472", 00263 "toolchains": "GCC_ARM", 00264 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00265 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00266 } 00267 }, 00268 {"target": "NUMAKER_PFM_M453", 00269 "toolchains": "GCC_ARM", 00270 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00271 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00272 } 00273 }, 00274 {"target": "NUMAKER_PFM_M487", 00275 "toolchains": "GCC_ARM", 00276 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00277 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00278 } 00279 } 00280 ] 00281 00282 ################################################################################ 00283 00284 # Driver 00285 00286 def run_builds(dry_run): 00287 for build in build_list: 00288 toolchain_list = build["toolchains"] 00289 if type(toolchain_list) != type([]): toolchain_list = [toolchain_list] 00290 for toolchain in toolchain_list: 00291 cmdline = "python tools/build.py -m %s -t %s -j 4 -c --silent "% (build["target"], toolchain) 00292 libs = build.get("libs", []) 00293 if libs: 00294 cmdline = cmdline + " ".join(["--" + l for l in libs]) 00295 print "Executing: " + cmdline 00296 if not dry_run: 00297 if os.system(cmdline) != 0: 00298 sys.exit(1) 00299 00300 00301 def run_test_linking(dry_run): 00302 """ Function run make.py commands to build and link simple mbed SDK 00303 tests against few libraries to make sure there are no simple linking errors. 00304 """ 00305 for link in linking_list: 00306 toolchain_list = link["toolchains"] 00307 if type(toolchain_list) != type([]): 00308 toolchain_list = [toolchain_list] 00309 for toolchain in toolchain_list: 00310 tests = link["tests"] 00311 # Call make.py for each test group for particular library 00312 for test_lib in tests: 00313 test_names = tests[test_lib] 00314 test_lib_switch = "--" + test_lib if test_lib else "" 00315 cmdline = "python tools/make.py -m %s -t %s -c --silent %s -n %s " % (link["target"], toolchain, test_lib_switch, ",".join(test_names)) 00316 print "Executing: " + cmdline 00317 if not dry_run: 00318 if os.system(cmdline) != 0: 00319 sys.exit(1) 00320 00321 def run_test_testsuite(dry_run): 00322 cmdline = "python tools/singletest.py --version" 00323 print "Executing: " + cmdline 00324 if not dry_run: 00325 if os.system(cmdline) != 0: 00326 sys.exit(1) 00327 00328 if __name__ == "__main__": 00329 run_builds("-s" in sys.argv) 00330 run_test_linking("-s" in sys.argv) 00331 run_test_testsuite("-s" in sys.argv)
Generated on Sun Jul 17 2022 08:25:20 by 1.7.2