Интерфейс MultiProg
Элементы интерфейса
menu
– основное меню программы.actions toolbar
– самые используемые действия, дублируют меню.additional actions
– действия применимые к конкретному программатору или контроллеру. Меняются в зависимости от выбраного контроллера-программатора.programmer & target info
– короткая выдержка о подключенном программаторе и контроллере.hex buffer
– визуализация всех сегментов памяти контролера в виде hex буфера.log
– окошко логирования.memory/address bar
– показывает имя выбранного в hex буфере сегмента памяти и выделенный адрес.
Базовые действия по программированию
connect
– установка соединения с программатором и контроллером.read
– чтение каждого сегмента памяти в соотвествии с картой памяти, сохранение в буфер дампа каждого сегмента.write
– запись каждого сегмента памяти из буфера без предварительного массового стирания.verify
– сравнение каждого сегмента памяти на соотвествие содержимому буфера.erase
– массовое стирание каждого сегмента из буфера, если не предусмотрено иного механизма стирания производителем контроллера.
Быстрый старт
Обычный порядок действий:
- Откройте
Target
в меню или в actions toolbar. - Выберите программатор и контроллер, нажмите ОК.
- Убедитесь, что вы изучили руководство по настройке-установке программатора. Например руководство по USBDM.
- Посмотрите в меню
Info->Connection Image
, возможно для вашего контроллера есть картинка подключения. - Подключите программатор к контроллеру и нажмите
Connect
. - После успешного (SUCCESS) соединения все действия (
Read
,Write
,Erase
,Verify
) станут активными. - Поздравляю, вы разобрались 🚀
Hex буфер и memory/address bar
Hex буфер является зеркальным представлением памяти контроллера внутри программы.
В hex буфере может быть один или несколько табов с сегментами памяти. Перек лючение осуществляется нажатием на таб с названием сегмента.
Быстрая навигация
При нажатии на поле адреса можно быстро перейти по заданому смещению.
Копирование строки в hex/text
При нажатии правой кнопкой мышки можно определить формат копирования.
Опредление сегмента и адреса по memory/address bar
Почему на этом видео на ячейке 0x00-0x01 адрес всегда 0x00?
У данного контроллера (mc56f)
2
байта на 1
ячейку памяти.
Работа с файлами прошивок
-
menu->File->Open
загружает файл прошивки открытый в буфере раздел. -
menu->File->Import
загружает все разделы из выбранного файла прошивки. -
menu->File->Save
сохраняет в файл прошивки открытый в буфере раздел. Формат задается расширением (bin, s19 и т.д.). -
menu->File->Export
сохраняет все разделы из выбранного файла прошивки. Формат задается расширением (bin, s19 и т.д.). -
actions toolbar->Save
тоже самое, чтоmenu->File->Save
. -
actions toolbar->Open
тоже самое, чтоmenu->File->Open
.
Export-Import желательно производить в формате S19 (aka .mot, .srec). Формат задается расширением при сохранении файла.
Отличие Import/Export от Save/Options
Сегменты (регионы, разделы) в данном случае разделы памяти микроконтроллера (см memory map), не все контроллеры имеют несколько сегментов памяти.
-
Export
в форматеs19
, добавляет каждый сегмент в формате srec. -
Export
в форматеbin
, начиная с0x00
до начального адреса первого сегмента памяти заполняет файл0xFF
. Далее добавляет в файл первый сегмента, далее добавляет0xFF
размером до начала следующего сегмента, далее добавляет следующий сегмент и так пока не загрузит весь буфер.
Поэтому, Export
в формате bin
без необходимости не рекомендуется, так как файл прошивки может получится очень большим.
Import
в форматеs19
, разбирает файл srec, извлекает и загружает в буфер каждый сегмент.Import
в форматеbin
, отсчитывает начальное смещение по адресу первого сегмента памяти, извлекает из файла данные с (начальное смещение) и размером (размер сегмента) и так по очереди каждый сегмент в буфере.Save
- в форматеbin
просто сохраняет сегмента как есть, где нулевое смещение = начало сегмента. В s19 с адресацией.Open
- в форматеbin
загружает выбранный сегмент памяти с нулевого смещения т.е. как есть в файле. В s19 с адресацией.
Я сохранил считанную USBDM прошивку DSC(MC56f) и она размером больше чем должна быть
У данного контроллера (mc56f - DSC) 2
байта на 1
ячейку памяти.
Поэтому если адресов 0x0-0x7FFF байт вдвое больше.
Settings - меню настроек
-
License
ничего интересного, здесь информация о вашей лицензии и активация. -
Download log
сохраняет лог текущей сессии по указанному пути, может пригодиться. -
Reset default config
удаляет настройки и восстанавливает default. -
Check updates
проверка и установка обновлений.
Info->Connection image
В настоящий момент открывает картинку размещенную в папке MultiProg/connection_image с названием контроллера.
Help-about (версия)
Версию, время сборки и hash программы можно посмотреть в
menu->Help->About
.
Это может пригодится при обращении в поддержку