def linker_script_config(config): config.query_bool_key('Use_Startup_Gen', default="False") if config.get_config('Use_Startup_Gen') == "True": config.query_bool_key('Has_Custom_Memory_Area_1', default="False") cnt = 1 while config.get_config('Has_Custom_Memory_Area_%d' % cnt) == "True": config.query_enum_key('Custom_Mem_%d_Kind' % cnt, ['ROM', 'RAM']) config.query_integer_key('Custom_Mem_%d_Addr' % cnt, 0) config.query_integer_key('Custom_Mem_%d_Size' % cnt, 0) config.query_string_key('Custom_Mem_%d_Name' % cnt, default="custom_mem_%d" % cnt) config.add_memory(config.get_config('Custom_Mem_%d_Kind' % cnt), config.get_config('Custom_Mem_%d_Name' % cnt), config.get_config('Custom_Mem_%d_Addr' % cnt), config.get_config('Custom_Mem_%d_Size' % cnt)) cnt += 1 config.query_bool_key('Has_Custom_Memory_Area_%d' % cnt, default="False") if len(config.memory_names()) > 0: config.query_string_key('Boot_Memory', default=config.memory_names()[0])
def linker_script_config(config): config.query_bool_key('Generate_Linker_Script', default="True") if config.get_config('Generate_Linker_Script') == "True": config.query_bool_key('Has_Custom_Memory_Area_1', default="False") cnt = 1 while config.get_config('Has_Custom_Memory_Area_%d' % cnt) == "True": config.query_enum_key('Custom_Mem_%d_Kind' % cnt, ['ROM', 'RAM']) config.query_integer_key('Custom_Mem_%d_Addr' % cnt, 0) config.query_integer_key('Custom_Mem_%d_Size' % cnt, 0) config.query_string_key('Custom_Mem_%d_Name' % cnt, default="custom_mem_%d" % cnt) config.add_memory(config.get_config('Custom_Mem_%d_Kind' % cnt), config.get_config('Custom_Mem_%d_Name' % cnt), config.get_config('Custom_Mem_%d_Addr' % cnt), config.get_config('Custom_Mem_%d_Size' % cnt)) cnt += 1 config.query_bool_key('Has_Custom_Memory_Area_%d' % cnt, default="False") config.query_bool_key('Custom_Memory_Layout', default='False') if config.get_config('Custom_Memory_Layout') == "True": config.query_enum_key('Linker_Text_Section', config.memory_names(), default=config.default_rom_area()) config.query_enum_key('Linker_RO_Data_Section', config.memory_names(), default=config.default_rom_area()) config.query_enum_key('Linker_Data_Section', config.memory_names(), default=config.default_ram_area()) config.query_enum_key('Linker_BSS_Section', config.memory_names(), default=config.default_ram_area()) print("\nLinker script:") config.print_linker_script()
def runtime_config(config): config.query_string_key('Has_ZFP_Runtime', default="False") config.query_string_key('Has_Ravenscar_SFP_Runtime', default="False") config.query_string_key('Has_Ravenscar_Full_Runtime', default="False") profiles = [] if config.get_config("Has_Ravenscar_Full_Runtime") == "True": profiles.append("ravenscar-full") if config.get_config("Has_Ravenscar_SFP_Runtime") == "True": profiles.append("ravenscar-sfp") if config.get_config("Has_ZFP_Runtime") == "True": profiles.append("zfp") if len(profiles) > 0: config.query_enum_key('Runtime_Profile', profiles, default=profiles[0]) config.query_string_key('Runtime_Name_Suffix') suffix = config.get_config("Runtime_Name_Suffix") profile = config.get_config("Runtime_Profile") config.query_string_key('Runtime_Name', default=profile + "-" + suffix)