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) -- добавить без перезапуска