Перейти к основному содержимому

mp.target_builder — 9 функций

ФункцияВозвратОписание
create(def)tableОбернуть описание в handle {_def, name}; без валидации (та — при add/modify)
add_to_family(family, handle)ok, errСохранить таргет (валидирует имя и хотя бы 1 регион)
modify(family, currentName, handle)ok, errОбновить существующий таргет
delete_target(family, name)voidУдалить таргет
export_json(path, vendor, family, prog, {handles})errЭкспорт семейства в JSON
import_json(path)table{vendor, family, programmer, targets[], error?}
user_targets_dir()stringПапка пользовательских таргетов
package_types()tableМассив поддерживаемых корпусов (QFP, LQFP, QFN, …)
programmer_pins(type)tableИмена пинов для "stlink" | "usbdm" | "tgsn" | "esp" (case- и separator-insensitive); содержит .power и .reference

Пример

local t = mp.target_builder.create({
name = "MY_CHIP",
bl_size = 1024,
fixed_vdd = "3.3v",
regions = {
{name = "Flash", start_addr = 0x08000000, size = 65536, cell_size = 1},
},
connection_images = {
{
chip_name = "MY_CHIP", package = "LQFP", pin_count = 48,
connections = {
{pin = 34, mcu_pin = "PA13/SWDIO", prog_pin = "SWDIO"},
-- …
},
},
},
})

mp.target_builder.export_json("targets.json", "Vendor", "Family",
"ST-Link", {t})
mp.target_builder.add_to_family("Family", t) -- добавить без перезапуска