Пример #1
0
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])
Пример #2
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()