コード例 #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()
コード例 #3
0
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)