mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			Make ArmPackManager cache a static variable (to avoid reading index.json for each target).
							parent
							
								
									b9bac0516b
								
							
						
					
					
						commit
						d8fc362c11
					
				| 
						 | 
				
			
			@ -30,6 +30,7 @@ class DeviceCMSIS():
 | 
			
		|||
    """CMSIS Device class
 | 
			
		||||
 | 
			
		||||
    Encapsulates target information retrieved by arm-pack-manager"""
 | 
			
		||||
    cache = Cache(True, False)
 | 
			
		||||
    def __init__(self, target):
 | 
			
		||||
        target_info = self.check_supported(target)
 | 
			
		||||
        if not target_info:
 | 
			
		||||
| 
						 | 
				
			
			@ -48,17 +49,16 @@ class DeviceCMSIS():
 | 
			
		|||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def check_supported(target):
 | 
			
		||||
        cache = Cache(True, False)
 | 
			
		||||
        t = TARGET_MAP[target]
 | 
			
		||||
        try:
 | 
			
		||||
            cpu_name = t.device_name
 | 
			
		||||
            target_info = cache.index[cpu_name]
 | 
			
		||||
            target_info = DeviceCMSIS.cache.index[cpu_name]
 | 
			
		||||
        # Target does not have device name or pdsc file
 | 
			
		||||
        except:
 | 
			
		||||
            try:
 | 
			
		||||
                # Try to find the core as a generic CMSIS target
 | 
			
		||||
                cpu_name = DeviceCMSIS.cpu_cmsis(t.core)
 | 
			
		||||
                target_info = cache.index[cpu_name]
 | 
			
		||||
                target_info = DeviceCMSIS.index[cpu_name]
 | 
			
		||||
            except:
 | 
			
		||||
                return False
 | 
			
		||||
        target_info["_cpu_name"] = cpu_name
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -234,7 +234,7 @@ def main():
 | 
			
		|||
        # Export to selected toolchain
 | 
			
		||||
    exporter, toolchain_name = get_exporter_toolchain(options.ide)
 | 
			
		||||
    if options.mcu not in exporter.TARGETS:
 | 
			
		||||
        args_error(parser, "%s not supported by %s")
 | 
			
		||||
        args_error(parser, "%s not supported by %s"%(options.mcu,options.ide))
 | 
			
		||||
    profile = extract_profile(parser, options, toolchain_name)
 | 
			
		||||
    export(options.mcu, options.ide, build=options.build,
 | 
			
		||||
           src=options.source_dir, macros=options.macros,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue