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()