КАК ПРОШИТЬ PIC КОНТРОЛЛЕР
В данной статье мы разберемся, как же прошить pic-контроллер, на примере металлоискателя Малыш FM. Для достижения данной цели нам потребуется:
1) Компьютер, в котором есть COM порт (ноутбуки не подходят).
2) Программатор.
3) Прошивающий софт.
Начнем разбираться по порядку.
Программатор pic-контроллера
Поиск схемы программатора провел по буржуйским сайтам. В итоге нашёл вот эту схему, развел под нее плату. Схема программатора:
Для более качественного просмотра схемы кликните на изображение. Единственный элемент управления в данной схеме – это переключатель S1, которым включается режим высоковольтного программирования. Хочу заметить то, что в данной схеме программатора общий провод схемы ни в коем случае нельзя объединять с 5 выводом (GND) COM порта. У меня получилась вот такая штуковина.
При подключении программатора к COM порту через удлиняющий кабель, длина последнего не должна превышать 0,5 метра.
Далее выполняем настройку самой программы Настройки>>Опции, где важны следующие закладки.
Когда все будет настроено, приступаем к самому процессу прошивки.
Прошивка pic-контроллера
У контроллера PIC12F629 на заводе записана калибровочная константа внутреннего тактового генератора. Ее желательно сохранить, а то вдруг припрет использовать микросхему в другом девайсе, в котором нет кварца. Для этого в IC-Prog выбираем тип контроллера и нажимаем кнопку «Читать микросхему». Константу ищем здесь.
Теперь выбираем файл прошивки Файл>>Открыть файл. В итоге все будет выглядеть вот так.
Небольшое отступление по поводу конфигурации (правая часть окна). Значение конфигурационных битов прописано в даташите на данный контроллер в разделе 9.1, русский перевод качать отсюда www.microchip.ru. Галочки напротив битов конфигурации в IC-Prog означают установку бита в 0. Не трогайте состояние бита MCLR если это не предусмотрено прошивкой! Все значения конфигурации прописываются при написании прошивки. Итак, продолжим. Загрузили прошивку, теперь нажимаем кнопку «Программировать микросхему» и пойдет процесс прошивки. На такой вопрос отвечать «Нет», иначе затрется калибровочная константа.
А у кого нет COM порта, то можно прикупить такую штуковину или просто собрать ее самому.
Объяснил как сумел — думаю всем всё понятно. Если появились вопросы — пишите на форум. Рисунок печатной платы программатора и схему в формате SPL7 качаем здесь. Автор: skateman.
Форум по микроконтроллерам
Форум по обсуждению материала КАК ПРОШИТЬ PIC КОНТРОЛЛЕР
Прошивка PIC микроконтроллеров с «нуля». / Микроконтроллеры / Блоги по электронике
Итак, пришло время изучать микроконтроллеры, а потом и их программировать, а так же хотелось собирать устройства на них, схем которых сейчас в интернете ну просто море. Ну нашли схему, купили контроллер, скачали прошивку….а прошивать то чем??? И тут перед радиолюбителем, начинающим осваивать микроконтроллеры, встает вопрос – выбор программатора! Хотелось бы найти оптимальный вариант, по показателю универсальность — простота схемы — надёжность. «Фирменные» программаторы и их аналоги были сразу исключены в связи с довольно сложной схемой, включающей в себя те же микроконтроллеры, которые необходимо программировать. То есть получается «замкнутый круг»: что бы изготовить программатор, необходим программатор. Вот и начались поиски и эксперименты! В начале выбор пал на PIC JDM. Работает данный программатор от com порта и питается от туда же. Был опробован данный вариант, уверенно запрограммировал 4 из 10 контроллеров, при питании отдельном ситуация улучшилась, но не на много, на некоторых компьютерах он вообще отказался что либо делать да и защиты от «дурака» в нем не предусмотрено. Далее был изучен программатор Pony-Prog. В принципе, почти тоже самое что и JDM.Программатор «Pony-prog», представляет очень простую схему, с питанием от ком-порта компьютера, в связи с чем, на форумах, в Интернете, очень часто появляются вопросы по сбоям при программировании того, или иного микроконтроллера. В результате, выбор был остановлен на модели «Extra-PIC». Посмотрел схему – очень просто, грамотно! На входе стоит MAX 232 преобразующая сигналы последовательного порта RS-232 в сигналы, пригодные для использования в цифровых схемах с уровнями ТТЛ или КМОП, не перегружает по току COM-порт компьютера, так как использует стандарт эксплуатации RS232, не представляет опасности для COM-порта.Вот первый плюс!И питается это все от своего собственного источника питания!
Было решено – надо собирать! Так в журнале Радио 2007 №8 был найден доработанный вариант этого программатора. Он позволял программировать микроконтроллеры в двух режимах.
Известны два способа перевода микроконтроллеров PICmicro в режим программирования:
2.При выключенном напряжении Vcc поднять напряжение Vpp от нуля до 12В, затем включить напряжение Vcc
Первый режим — в основном для приборов ранних разработок, он накладывает ограничения на конфигурацию вывода -MCLR, который в этом случае может служить только входом сигнала начальной установки, а во многих микроконтроллерах предусмотрена возможность превратить этот вывод в обычную линию одного из портов. Это еще один плюс данного программатора. Схема его приведена ниже:
Крупнее
Все было собрано на макетке и опробовано. Все прекрасно и устойчиво работает, глюков замечено небыло!
depositfiles.com/files/mk49uejin
все было собрано в открытый корпус, фото которого ниже.
Соединительный кабель был изготовлен самостоятельно из отрезка восьмижильного кабеля и стандартных комовских разьемах, никакие нуль модемные тут не прокатят, предупреждаю сразу! К сборке кабеля следует отнестись внимательно, сразу избавитесь от головной боли в дальнейшем. Длина кабеля должна быть не более полутора метров.
Фото кабеля
Итак, программатор собран, кабель тоже, наступил черед проверки всего этого хозяйства на предмет работоспособности, поиск глюков и ошибок.
icprog.exe — файл оболочки программатора.
icprog.sys — драйвер, необходимый для работы под Windows NT, 2000, XP. Этот файл всегда должен находиться в каталоге программы.
icprog.chm — файл помощи (Help file).
Установили, теперь надо бы ее настроить.
Для этого:
1.(Только для Windows XP): Правой кнопкой щёлкните на файле icprog.exe. «Свойства» >> вкладка «Совместимость» >> Установите «галочку» на «Запустить программу в режиме совместимости с:» >>выберите «Windows 2000».
Согласитесь с утверждением «You need to restart IC-Prog now» (нажмите «Ok»). Оболочка программатора перезапустится.
Настройки» >> «Программатор
1.Проверьте установки, выберите используемый вами COM-порт, нажмите „Ok“.
2.Далее, „Настройки“ >> „Опции“ >> выберите вкладку „Общие“ >> установите „галочку“ на пункте „Вкл. NT/2000/XP драйвер“ >> Нажмите „Ok“ >> если драйвер до этого не был устновлен на вашей системе, в появившемся окне „Confirm“ нажмите „Ok“. Драйвер установится, и оболочка программатора перезапустится.
Для очень „быстрых“ компьютеров возможно потребуется увеличить параметр „Задержка Ввода/Вывода“. Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы.
3.»Настройки» >> «Опции» >> выберите вкладку «I2C» >> установите «галочки» на пунктах: «Включить MCLR как VCC» и «Включить запись блоками». Нажмите «Ok».
4.«Настройки» >> «Опции» >> выберите вкладку «Программирование» >> снимите «галочку» с пункта: «Проверка после программирования» и установите «галочку» на пункте «Проверка при программировании». Нажмите «Ok».
Вот и настроили!
Далее, в программе IC-PROG, в меню, запустите: Настройки >> Тест Программатора
Перед выполнением каждого пункта методики тестирвания, не забывайте устанавливать все «поля» в исходное положение (все «галочки» сняты), как показано на рисунке выше.
1.Установите «галочку» в поле «Вкл. Выход Данных», при этом, в поле «Вход Данных» должна появляться «галочка», а на контакте (DATA) разъёма X2, должен установиться уровень лог. «1» (не менее +3,0 вольт). Теперь, замкните между собой контакт (DATA) и контакт (GND) разъёма X2, при этом, отметка в поле «Вход Данных» должна пропадать, пока контакты замкнуты.
2.При установке «галочки» в поле «Вкл. Тактирования», на контакте (CLOCK) разъёма X2, должен устанавливаться уровень лог. «1». (не менее +3,0 вольт).
3.При установке «галочки» в поле «Вкл. Сброс (MCLR)», на контакте (VPP) разъёма X3, должен устанавливаться уровень +13,0… +14,0 вольт, и светиться светодиод D4 (обычно красного цвета).Если переключатель режимов поставить в положение 1 то будет светится светодиод HL3
Если при тестировании, какой-либо сигнал не проходит, следует тщательно проверить весь путь прохождения этого сигнала, включая кабель соединения с COM-портом компьютера.
Тестирование канала данных программатора EXTRAPIC:
1. 13 вывод микросхемы DA1: напряжение от -5 до -12 вольт. При установке «галочки»: от +5 до +12 вольт.
2. 12 вывод микросхемы Da1: напряжение +5 вольт. При установке «галочки»: 0 вольт.
3. 6 вывод микросхемы DD1: напряжение 0 вольт. При установке «галочки»: +5 вольт.
3. 1 и 2 вывод микросхемы DD1: напряжение 0 вольт. При установке «галочки»: +5 вольт.
4. 3 вывод микросхемы DD1: напряжение +5 вольт. При установке «галочки»: 0 вольт.
5. 14 вывод микросхемы DA1: напряжение от -5 до -12 вольт. При установке «галочки»: от +5 до +12 вольт.
Если все тестирование прошло успешно, то программатор готов к эксплуатации.
Для подключения микроконтроллера к программатору можно использовать подходящие панельки или же сделать адаптер на основе ZIF панельки (с нулевым усилием прижатия), например как здесь radiokot.ru/circuit/digital/pcmod/18/.
Теперь несколько слов про ICSP — Внутрисхемное программирование
PIC-контроллеров.
При использовании ICSP на плате устройства следует предусмотреть возможность подключения программатора. При программировании с использованием ICSP к программатору должны быть подключены 5 сигнальных линий:
1. GND (VSS) — общий провод.
2. VDD (VCC) — плюс напряжение питания
3. MCLR’ (VPP)- вход сброса микроконтроллера / вход напряжения программирования
4. RB7 (DATA) — двунаправленная шина данных в режиме программирования
5. RB6 (CLOCK) Вход синхронизации в режиме программирования
Остальные выводы микроконтроллера не используются в режиме внутрисхемного программирования.
Вариант подключения ICSP к микроконтроллеру PIC16F84 в корпусе DIP18:
1.Линия MCLR’ развязывается от схемы устройства перемычкой J2, которая в режиме внутрисхемного программирования (ICSP) размыкается, передавая вывод MCLR в монопольное управление программатору.
2.Линия VDD в режиме программирования ICSP отключается от схемы устройства перемычкой J1. Это необходимо для исключения потребления тока от линии VDD схемой устройства.
3.Линия RB7 (двунаправленная шина данных в режиме программирования) изолируется по току от схемы устройства резистором R1 номиналом не менее 1 кОм. В связи с этим максимальный втекающий/стекающий ток, обеспечиваемый этой линией будет ограничен резистором R1. При необходимости обеспечить максимальный ток, резистор R1 необходимо заменить (как в случае c VDD) перемычкой.
4.Линия RB6 (Вход синхронизации PIC в режиме программирования) так же как и RB7 изолируется по току от схемы устройства резистором R2, номиналом не менее 1 кОм. В связи с этим максимальный втекающий/стекающий ток, обеспечиваемый этой линией будет ограничен резистором R2. При необходимости обеспечить максимальный ток, резистор R2 необходимо заменить (как в случае с VDD) перемычкой.
Расположение выводов ICSP у PIC-контроллеров:
Эта схема только для справки, выводы программирования лучше уточнить из даташита на микроконтроллер.
Теперь рассмотрим прошивку микроконтроллера в программе IC-prog. Будем рассматривать на примере конструкции вот от сюда rgb73.mylivepage.ru/wiki/1952/579
Вот схема устройства
вот прошивка
Прошиваем контроллер PIC12F629. Данный микроконтроллер для своей работы использует константу osccal — представляет собой 16-ти ричное значение калибровки внутреннего генератора МК, с помощью которого МК отчитывает время при выполнении своих программ, которая записана в последней ячейке данных пика. Подключаем данный микроконтроллер к программатору.
Ниже на сриншоте красными цифрами показана последовательность действий в программе IC-prog.
1. Выбрать тип микроконтроллера
2. Нажать кнопку «Читать микросхему»
В окне «Программный код» в самой последней ячейке будет наша константа для данного контроллера. Для каждого контроллера константа своя!Не сотрите ее, запишите на бумажку и наклейте ее на микросхему!
Идем далее
3. Нажимаем кнопку «Открыть файл…», выбираем нашу прошивку. В окне программного кода появится код прошивки.
4. Спускаемся к концу кода, на последней ячейке жмем правой клавишей мыши и выбираем в меню «править область», в поле «Шестнадцатеричные» вводим значение константы, которую записали, нажимаем «ОК».
5. Нажимаем «программировать микросхему».
Пойдет процесс программирования, если все прошло успешно, то программа выведет соответствующее уведомление.
Вытаскиваем микросхему из программатора и вставляем в собранный макет. Включаем питание. Нажимаем кнопку пуск.Ура работает! Вот видео работы мигалки
video.mail.ru/mail/vanek_rabota/_myvideo/1.html
С этим разобрались. А вот что делать если у нас есть файл исходного кода на ассемблере asm, а нам нужен файл прошивки hex? Тут необходим компилятор. и он есть — это Mplab, в этой программе можно как писать прошивки так и компилировать. Вот окно компилятора
Устанавливаем Mplab
Находим в установленной Mplab программу MPASMWIN.exe, обычно находится в папке — Microchip — MPASM Suite — MPASMWIN.exe
Запускаем ее. В окне (4) Browse находим наш исходник (1) .asm, в окне (5) Processor выбираем наш микроконтроллер, нажимаем Assemble и в той же папке где вы указали исходник появится ваша прошивка .HEX Вот и все готово!
Надеюсь эта статья поможет начинающим в освоении PIC контроллеров! Удачи!
Как прошить микроконтроллер PIC?
Работа с программой PicKit2 Programmer
Если вы уже собрали USB программатор PIC своими руками, то пора научиться им пользоваться. Для этого нам необходимо установить программную оболочку «PICkit 2 Programmer», которая разрабатывалась специально для управления программатором PICkit2.
Для работы программы требуется .NET Framework. Если этот пакет не установлен на компьютере, то его нужно установить. Также можно воспользоваться дистрибутивом «PICkit 2 Programmer» с интегрированным пакетом — PicKit 2 V2.61 Install with .NET Framework. Скачать его можно здесь.
Итак, если программа установлена, приступим к изучению её возможностей.
Устанавливаем микроконтроллер в панель программации, подключаем программатор к компьютеру и запускаем «PICkit 2 Programmer».
При запуске программа производит опрос программатора и автоматически определяет тип программируемого микроконтроллера по идентификационным битам (так называемому device ID). Внимание! Микросхемы семейства Baseline, а также микросхемы EEPROM и KeeLOG не имеют device ID. Чтобы программа смогла работать с этими микросхемами, нужно выбрать конкретное изделие через меню «Device Family».
Если вместо такой дружелюбной картинки покажется вот такая…
…, то нужно проверить корректно ли подключен usb-кабель, и через меню «Tools» — «Check Communication» произвести переподключение устройства.
Открытие файла с прошивкой.
Чтобы записать программу МК в его память, необходимо выбрать в меню пункт «File» — «Import Hex».
Затем выбрать в открывшемся окне нужный файл прошивки.
После этого в окне памяти программ (Program Memory) и данных (EEPROM Data) отобразится содержимое .hex файла.
Запись программы в МК.
Теперь можно программировать МК. Для этого жмём кнопку «Write». Процесс записи занимает 3 — 5 секунд.
Об успешном выполнении процедуры записи уведомит надпись «Programming Successful».
Для большей уверенности можно провести процедуру проверки. При нажатии на кнопку «Verify» программа сравнивает данные hex-файла и данные, записанные в МК. Если верификация прошла успешно, то в окне сообщений появится надпись «Verification Successful».
Внимание! Если вы прошиваете микроконтроллеры PIC12F675, PIC12F629 и аналогичные с внутренним тактовым генератором, то при верификации может выскакивать ошибка. Дело в том, что PICkit2 Programmer (версии 6.21) сохраняет калибровочную константу, а затем записывает её в последнюю ячейку памяти МК. Понятно, что исходный файл прошивки и записанные данные в памяти будут отличаться. О калибровочной константе будет рассказано далее.
Быстрые кнопки.
Кнопка «Auto Import Hex + Write Device» понравиться тем, кто хочет «загонять прошивку» в МК нажатием одной кнопки. Один щелчок и программа предложит выбрать файл прошивки, а затем незамедлительно запишет её в МК.
Кнопка «Read Device + Export Hex File» выполняет обратную функцию — производит считывание данных с МК и предлагает сохранить файл прошивки в .hex файл.
Изменение битов конфигурации.
Биты конфигурации задают основные параметры работы МК. Это и тип генератора (кварц, RC-цепь), включение/отключение так называемого «сторожевого таймера», установка защиты от считывания памяти программ и некоторые другие. Как правило, при написании алгоритма работы МК (программы) прописываются значения, которые нужно записать в биты конфигурации. При «прошивке» программная оболочка берёт данные о конфигурации из самого файла прошивки и принудительно указывать эти данные не требуется.
Но, нам, как начинающим не будет лишним знать, как можно просмотреть или изменить конкретные биты конфигурации. Для этого щёлкаем по надписи «Configuration». Откроется окно редактирования битов конфигурации.
Если нужно поменять 0 на 1, то меняем — жмём «Save». Естественно, менять надо осознанно. Повторяю, при использовании готового файла прошивки менять ничего не надо, программа сделает всё автоматически.
Выбор модели микроконтроллера.
Микроконтроллеры бывают разные. Поэтому при программировании МК бывает необходимость указать конкретную модель микроконтроллера. При выборе пункта меню «Device Family» выпадает список семейств микроконтроллеров. Есть среди этого списка и микросхемы памяти EEPROM.
В отличие от микроконтроллеров, микросхемы памяти EEPROM не определяются автоматически по команде «Tools» — «Check Communication». Поэтому при считывании/записи микросхем EEPROM в программе необходимо указать маркировку микросхемы.
В меню выбираем пункт «Device Family» — «EEPROMS» — «24LC».
Далее выбираем конкретную марку микросхемы в выпадающем списке «-Select Part-«. Как видим, у нас микросхема 24LC08B (аналоги 24C08, 24WC08L и др.).
Чтобы считать данные с микросхемы EEPROM жмём «Read». Если в памяти записаны данные, то в окне «Program Memory» значения обновятся.
Кнопки «Write» (считать), «Erase» (стереть) выполняют соответствующие функции.
Калибровочная константа.
Как известно, для работы микроконтроллера требуется тактовый генератор. Элементом, который задаёт частоту работы этого генератора, может быть внешний кварцевый резонатор, RC — цепь. Но среди микроконтроллеров PIC есть такие, которые содержат необходимые задающие цепи внутри самой микросхемы. К таким МК относятся, например PIC12F629, PIC12F675.
На заводе в память таких микроконтроллеров записывается специальная константа, которая задаёт параметры встроенного генератора на 4 МГц. Эта калибровочная константа вида 34хх записывается в последнюю ячейку памяти программ по адресу 0x3FF.
При программировании микроконтроллера эту константу легко стереть. И хоть PICkit2 Programmer версии 2.61 автоматически сохраняет эту константу и затем записывает её при программации, не лишним будет записать значение константы OSCCAL.
При необходимости константу легко указать вручную. Для этого в меню выбираем пункт «Tools» — «OSCCAL» — «Set Manually».
В поле «OSCCAL value» указываем ранее записанное значение константы. Жмём кнопку «Set» (установить).
Теперь, когда вы знакомы с основными возможностями PICkit2 Programmer, можно смело начать сборку какого-нибудь устройства на микроконтроллере, например, RGB-светильника на PIC12F629/675.
Главная » Микроконтроллеры » Текущая страница
Также Вам будет интересно узнать:
cxema.org — Прошивка микроконтроллеров PIC
У многих радиолюбителей, захотевших повторить ту или иную конструкцию, напроч отпадает желание и мысли о сборке, когда они видят в составе устройства микроконтроллер. Для них непреодолимой стеной встаёт вопрос прошивки микроконтроллера. Чем, как, что для этого нужно и т.п.? Смотрят на него как на диковенный предмет.
На самом деле, тут нет ничего сложного. Устройства, собранные с применением микроконтроллеров как правило просты, не нуждаются в наладке и подборе элементов. Весь функционал устройства реализован програмно.
Самое широкое распространение среди радиолюбителей получили две линейки микроконтроллеров, PIC и AVR. Для их программирования разработано большое количество программаторов и программ. Для начала необходимо определится, на каком микроконтроллере выполнено устройство и в соответствии с этим выбрать программатор. С PIC микроконтроллерами понятно, у них название начинается именно с этих трёх букв, а AVR серии микроконтроллеры разделены на группы ATtiny, ATmega, ATxmega.
Своё знакомство с микроконтроллерами я начал с линей ки PIC. Для прошивки микроконтроллера, им оказался PIC16F84, я собрал простейший JDM программатор.
Детали программматора разместил в подходящем корпусе от переходника.
Дальнейшее знакомство с микроконтроллерами заставило меня постоянно вносить изменения, модернизировать программатор под тот или иной микроконтроллер. В один прекрасный момент я решил соблрать универсальный программатор под всю линейку PIC микроконтроллеров.
Очень хороший программатор, программирует всю линейку PIC. Не требует дополнительного питания.
Для прошивки PIC контроллеров я пользуюсь программой IC-Prog. Сам процесс прошивки очень простой:
Запускаем программу
заходим в настройки и выбираем свой программатор
Пробуем читать память микроконтроллера.
Если всё настроено правильно, программа прочитает микроконтроллер и выведет код, прошитый в памяти. Если микроконтроллер никогда не прошивался, Вся память будет заполнена кодом 3FFF и FF в области данных.
Следующий шаг, это открытие HEX файла, предназначенного для прошивки микроконтроллера, после открытия её код отобразится в соответствующих окнах.
Нажимаем кнопку записи, праграмм спросит, уверены, что хотите программировать, нажимаем утвердительно ДА. Пойдёт процесс программирование.
После программирования программа автоматически считывает только что зашитый код и сверяет с тем, что программировала. В случае удачной прошивки программа выдаст об этом соответсвующее сообщение.
Если прошивка прошла со сбоями или область программы защищена от чтения, как в моём случае, программа выдаст сообщение об ошыбке.
С PIC микроконтроллерами всё понятно. Для AVR микроконтроллеров требуются другие программаторы и программы.
Самый простой — это так называемый «5 проводков». Весь программатор состоит из всего четырёх резисторов.
Собрал я его минут за десять, но воспользоваться не смог, ввиду того, что на моём компьютере отсутствует принтерный порт LPT, к которому этот программатор подключается.
Тогда я собрал для самых ходовых у радиолюбителей микроконтроллеров семейства AVR программаторы. Первый для ATMEGA8, второй для ATtiny2313.
Схема программатора очень проста, для питания микроконтроллера требуется дополнительный источник питания. Для себя я спаял небольшой длинны провод, подключающий программатор к порту USB.
Номера выводов для подключения линий программатора отображены на рисунке
Собранный программатор позволил мне собрать программатор для AVR, подключаемый к USB порту
Удобство применения программатора с USB интерфейсом омрачается поиском драйверов на различные системы, в частности на win7 и 8. Для программаторов, использующих COM-порт таких проблем не возникает. Они прекрасно работают во всей линейке windows, да и в unix системах проблем не возникает. Впрочем unix система очень дружелюбна ко всем программаторам, адаптерам и прочей периферии.
Вот мой весь арсенал для прошивки микроконтроллеров
Небольшой видеообзор, который наглядно покажет весь процесс прошивки микроконтроллера
Как проще всего прошить микроконтроллер? — Eddy site
Регулярно получаю этот вопрос от тех радиолюбителей, которые раньше с PIC-контроллерами дела не имели, используя «более простые и народные» AVR-контроллеры.
Второй по частоте вопрос: где фузы к прошивкам? Как фузы надо выставлять??
Так как я слегка ленюсь многократно писать одно и то же, я решил снять короткое видео о том, как прошивать PIC контроллер с помощью программатора PICkit2 или PICkit3, который на Алиэкспресс стоит 8 долларов:
https://aliexpress.ru/af/PICkit2.html?d=y&origin=n&SearchText=PICkit2&catId=0&initiative_id=SB_20210309101908
Это ВЕСЬ процесс прошивки в PIC12F629 последнего моего проекта «мягкого будильника». От начала и до конца. Больше ничего не надо делать. Только впаять контроллер в плату.
И всё.
🙂
На момент начала записи контроллер уже находится в панельке. При запуске программатор автоматически определяет наличие и тип контроллера и сам не него настраивается.
То же самое происходит и при открытии файла прошивки.
Исключение — мелкие контроллеры PIC10 — у них нет DivicID, по которой программатор определяет вставленный в панельку чип. Для десятой серии надо контроллер выбирать вручную (меню Device Family -> Baseline) — на экране появится окошко с полем выбора контроллера.
После выбора типа контроллера дальше всё как в видео. Ничего другого делать больше не надо.
Для прошивки новых семейств микроконтроллеров от Microchip, имеющих низковольтное ядро (4-5 знаков после буквы F в названии), нужно обновить файл описаний контроллеров у программатора (гугол ищет за секунду) и сделать на один клик больше, указав низковольтное ядро.
Ну и прошивка крошки PIC10F200.
Архив файла конфигурации с поддержкой новых контроллеров скачать можно бесплатно тут.
(его нужно положить в папку установленной программы управления PICkit2 или PICkit3 взамен старого)
P.S. Если Вам этого мало и Вы хотите полнее использовать возможности программаторов, очень неплохая инструкция на русском языке есть на этом ресурсе
В том числе и обновления для новых контроллеров:
http://pickit2.ru/doku.php/%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D0%B5.%D1%85%D0%B8%D1%82%D1%80%D0%BE%D1%81%D1%82%D0%B8#%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B0%D0%BD%D0%BE%D0%B2%D1%8B%D1%85%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%BE%D0%B2%D0%B2pickit2
Если у Вас возникнут вопросы или Вы захотите связаться со мной, сделайте это с помощью формы на страничке «Обратная связь»
Arduino программатор PIC-ов. | AlexGyver Community
Вот тут Вы сильно ошибаетесьСоставители официальной документации узнав про программирование PIC-ов с помощью какой то ардуины, поперхнулись бы от такого факта и стали бы отрицать возможность этого.
Жаль не грузится файлик, размер большой.
In-Circuit Serial Programming Guide DS30277
DS41227
DS41226
DS30228 и т.д.
В этих документах досконально описаны режимы программирования, алгоритмы и даже схемки есть простенькие.
К сожалению все режимы программирования задокументированы.В начале темы приведен проверенно работающий на не документированных возможностях, программатор из ардуины
А кто на чём собирать будет, его право.
MicroCHIP не заставляет пользоваться их программатором.
Хотя в свободном доступе есть схемы PicKIT2 и PicKIT3. И прошивки на них в свободном доступе.
А они позволяют осуществлять внутрисхемную отладку.
Так что ардуину можно использовать один раз для программирования PicKIT.
Кто его знает они или нет. Но это слово встречается только в их документации.Они его придумали?
По этимологии что оно значит? Как-то задавался таким вопросом, но инфы не нашёл.
В документации на другие микроконтроллеры используется , основном, понятие — конфигурационные биты.
Да называйте как хотите. Просто знайте, когда будете разговаривать с человеком, который проработал всю жизнь с PIC микроконтроллерами и ничего не знает об Atmel, Вас никогда не поймёт, если вы будете дуть ему в уши про «фьюзы»и «Скетчи» (Скетч) — короткая одноактная пьеса комедийного содержания с небольшим числом действующих лиц (как правило двумя, реже — тремя). Это выше понимания как прошивка может называться «Одноактной пьесой»И поскольку программатор из ардуины отсутствует в официально возможных к применению программаторов PIC-ов, я буду называть конфигурационные биты PIC-ов фьюзами.
Программатор для PIC или про то как мне захотелось самодельных электронных часов
Старым стал наверное, стал испытывать проблемы, при попытке разглядеть, сколько там времени на дисплее ресивера за тюлевой занавеской.Хотелось что либо сколхозить.
А так как на столе, уже около года, валялись пара сегментных дисплейчика, была выбрана схема на PIC (простейшая, с возможностью регулировки хода)
А для программирования PIC требовался как раз программатор
Чтоб узнать что из этого получилось, добро пожаловать под кат
В выбранной мной схеме часы собирались на основе PIC16F628A
В списке поддерживаемых программатором микроконтроллеров — был указан и мой
Это и повлияло на выбор
Список поддерживаемых микроконтроллеров
10 Серия:PIC10F200 * PIC10F202 * PIC10F204 * PIC10F206 *
PIC10F220 * PIC10F222 *
12C серии:
PIC12C508 PIC12C508A PIC12C509 PIC12C509A
PIC12C671 PIC12C672 PIC12CE518 PIC12CE519
PIC12CE673 PIC12CE674
12F серии:
PIC12F509 PIC12F629 PIC12F635
PIC12F675 PIC12F683
16C серии:
PIC16C505 PIC16C554 PIC16C558 PIC16C61
PIC16C62 PIC16C62A PIC16C62B PIC16C63
PIC16C63A PIC 16C64 PIC16C64A PIC16C65
PIC16C65A PIC16C65B PIC16C66 PIC16C66A
PIC16C67 PIC16C620 PIC16C620A PIC16C621
PIC16C621A PIC16C622 PIC16C622A PIC16C71
PIC16C71A PIC16C72 PIC16C72A PIC16C73
PIC16C73A PIC16C73B PIC16C74 PIC16C74A
PIC16C74B PIC16C76 PIC16C77 PIC16C710
PIC16C711 PIC16C712 PIC16C716 PIC16C745
PIC16C765 PIC16C773 PIC16C774 PIC16C83
PIC16C84
16F серии:
PIC16F505 PIC16F506 PIC16F54 PIC16F57 *
PIC16F59 * PIC16F627 PIC16LF627A PIC16F627A
PIC16F628 PIC16LF628A PIC16F628A PIC16F630
PIC16F631 PIC16F631-1 PIC16F636 PIC16F636-1
PIC16F639 * PIC16F639-1 * PIC16F648A PIC16F676
PIC16F677 PIC16F677-1 PIC16F684 PIC16F685 *
PIC16F685-1 * PIC16F687 * PIC16F687 *-1 PIC16F688
PIC16F689 * PIC16F689-1 * PIC16F690 * PIC16F690-1 *
PIC16F72 PIC16F73 PIC16F74
PIC16F76 PIC16F77 PIC16F737 PIC16F747
PIC16F767 PIC16F777 PIC16F83 PIC16F84
PIC16F84A PIC16F87 PIC16F88 PIC16F818
PIC16F819 PIC16F870 PIC16F871 PIC16F872
PIC16F873 PIC16F873A PIC16LF873A PIC16F874
PIC16F874A PIC16F876 PIC16F876A PIC16F877
PIC16F877A
18 Серия:
PIC18F242 PIC18F248 PIC18F252 PIC18F258 PIC18F442 PIC18F448
PIC18F452 PIC18F458 PIC18F1220 PIC18F1320 PIC18F2220 PIC18F2320
PIC18F2321 PIC18F4210 PIC18F2331 PIC18F2450 PIC18F2455 PIC18F2480
PIC18F2510 PIC18F2515 PIC18F2520 PIC18F2550 PIC18F2580
PIC18F2585 PIC18F2610 PIC18F2620 PIC18F2680 PIC18F4220 PIC18F4320
PIC18F6525 PIC18F6621 PIC18F8525 PIC18F8621 PIC18F2331 PIC18F2431
PIC18F4331 PIC18F4431 PIC18F2455 PIC18F2550 PIC18F4455 PIC18F4580 PIC18F2580 PIC18F2420 PIC18F2520 PIC18F2620 PIC18F6520 PIC18F6620 PIC18F6720 PIC18F6585 PIC18F6680 PIC18F8585 PIC18F8680
Заказ был сделан 19.08.2016, а уже 15.09.2016 был у меня
Фотографии упаковки не сохранилось, но комплектация соответствовала фото продавца, всё упаковано в отдельные пакетики, пакетики в общем большем пакете, а тот в свою очередь в почтовый жёлтый пакет с пупыркой
Внешний вид платы программатора — спаяно аккуратно, но плата не отмыта от слова СОВСЕМ
Но, плата оказалась вполне рабочей
Для работы с ним потребуется программа и драйвера, скачать их можно например тут
Программа интуитивно понятная, выбираем микроконтроллер, указываем путь к файлу прошивки, прошиваем
Как установить микроконтроллер в разъёме программатора — программа подскажет
Мой необходимо было установить первой ногой во второй контакт
Обычно я жму считать чип, чтоб убедиться, что программа видит микроконтроллер, потом заливаю прошивку
В общем-то программатор вполне работоспособный и прошить мой PIC мне удалось
Фузы я не выставлял — заводские, по умолчанию, — вполне прокатили
Короче, плата программатора грязная, элементы впаяны нормально, комплектация точно как указана продавцом и представлена на его странице на картинках, упаковано нормально, доставлено относительно оперативно
Минус за грязь
Скорее всего рекомендую к покупке, чем нет
Теперь о том для чего я всё это затеял
Самодельные часы
Проект взят отсюдаСхема:
Там-же описание, прошивка, рисунок платы
Попытка найти подходящий корпус привела к товарищу, у которого завалялся корпус, в виде домика
Под него была нарисована односторонняя плата
И получились часики:
В качестве питания — зарядка от мобилки
Часы показывают попеременно время и температуру, уличный датчик — не задействовал
Так-же были изготовлены ещё одни маленькие под самодельный корпус:
плата
Конструкция — простейшая, минимум деталей, запускаются без каких либо танцев с бубном
Но, если честно, мне они не понравились, т.к. с этой прошивкой они работают только если не вносить коррекции времени
Как только вносишь коррекцию — часы виснут, и помогает только передёргивание питания
По этому захотелось чего ни будь большего
Так что ПРОДОЛЖЕНИЕ СЛЕДУЕТ…
Объяснение извлечения микропрограмм из микроконтроллеров Microchip PIC
Этот блог — третья часть из четырех статей о взломе оборудования для специалистов по безопасности и исследователей. Обязательно ознакомьтесь с первой частью, посвященной микроконтроллерам Atmel, и второй частью, посвященной микроконтроллерам Nordic RF.
В этом блоге мы проведем дальнейшие упражнения по извлечению прошивки и рассмотрим микроконтроллер Microchip PIC (PIC32MX695F512H).Чтобы получить доступ к микропрограммному обеспечению микроконтроллеров PIC, нам потребуется считывать данные напрямую с контроллера через внутрисхемный последовательный программатор (ICSP).
ICSP — это еще один метод, который позволяет программировать или перепрограммировать микроконтроллер (MCU) во время работы в схеме. Для этого мы будем использовать следующие инструменты и программное обеспечение:
PICkit 3 — недорогой внутрисхемный отладчик. Доступны и более дешевые универсальные версии устройства.По нашему опыту, как фирменные, так и универсальные версии хорошо себя зарекомендовали.
PICkit 3 | Функция |
---|---|
VPP (или MCLR) | Программируемое напряжение (обычно 13 В) |
VCC или VDD | Питание (обычно 5В) |
VSS или GND | Земля (0 вольт) |
ICSPDAT \ PGD | Data — обычный порт и подключение RB7 (PGED) |
ICSPCLK \ PGC | Clock — обычный порт и подключение RB6 (PGEC) |
PGM — LVP | Программирование низкого напряжения — обычный порт и соединение RB3 / RB4 |
При подключении PICkit 3 к печатной плате для отладки нередко можно найти связанный заголовок на печатной плате для PIC ICSP.Пример этого показан ниже:
Также важно предположить, что заголовок ICSP не может быть закреплен должным образом, а это означает, что простое подключение PICkit 3 может не дать ожидаемых результатов. Мы рекомендуем сначала проверить распиновку. Лучше всего это сделать с помощью таблицы данных для MCU и мультиметра, установленного на непрерывность, чтобы прозвонить заголовок ICSP на фактические контакты на микросхеме.
В этом примере, используя техническое описание микроконтроллера PIC32MX695F512H и мультиметра, мы обнаружили, что распиновка заголовка предназначена для ICSP микроконтроллера, но расположение выводов не соответствует правильному порядку выводов для прямого подключения, как показано ниже:
Как видите, полезно всегда перепроверять распиновку перед подключением отладчика или анализатора к печатной плате.Это избавит вас от многих головных болей в дороге и поможет предотвратить повреждение поврежденных компонентов. Также обратите внимание, что контакт 6 PGM — LVP на PICkit 3 не используется. Этот вывод нужен только при программировании определенных устройств MCU и, насколько я понимаю, никогда не нужен при чтении флеш-памяти.
После успешного подключения PICkit 3 к целевому устройству вам необходимо загрузить и установить программное обеспечение MPLab X IDE, доступное от Microchip. После установки пора извлечь прошивку из MCU.
Откройте программу MPLAB X IDE и создайте новый проект. Вы можете использовать значения по умолчанию для Категории и Типа проекта. Когда будет предложено выбрать устройство, выберите Семейство и тип тестируемого устройства. В нашем примере мы использовали следующее:
- Семейство: 32-разрядные микроконтроллеры (PIC32)
- Устройство: PIC32MX695F512H
Когда будет предложено выбрать инструмент, выберите используемый отладчик (в нашем случае PICkit 3). На следующем шаге вам нужно будет выбрать Компилятор для распаковки прошивки.Вам это не понадобится, но это необходимо для создания проекта. Выберите то, что доступно, или, если вы впервые используете этот инструмент, вам может потребоваться загрузить компилятор. Последний шаг — дать вашему проекту имя и выбрать Готово.
На этом этапе вы должны быть готовы к чтению памяти из MCU. Для этого выберите значок, изображенный здесь:
Затем выберите «Чтение памяти устройства».
При правильной настройке и подключении индикатор состояния PICkit 3 должен начать мигать красным, и вы должны увидеть следующую информацию в приложении MPLAB, а затем запрос на сохранение файла:
При сохранении файла он будет сохранен как файл типа Intel Hex.Чтобы иметь возможность изучить и протестировать микропрограммное обеспечение в дальнейшем, вам необходимо преобразовать его в двоичный тип файла. Это легко сделать с помощью приложения Linux hex2bin, как показано ниже:
После преобразования в двоичный код вы сможете провести дальнейшее тестирование с помощью встроенного ПО и использовать другие приложения, такие как Binwalk, для извлечения данных.
Мы также рекомендуем изучить возможности MBLab X IDE. Например, после извлечения прошивки загляните в меню битов конфигурации.Это покажет вам конфигурацию чипа и настройки безопасности.
Вернитесь на следующей неделе, чтобы увидеть четвертую и последнюю часть этой серии статей, в которой подробно рассматриваются радиочастотные микроконтроллеры Texas Instrument.
Нужна помощь в защите вашего IoT? Узнайте больше о наших услугах по тестированию безопасности Интернета вещей.
НачатьЗагрузка микропрограмм микроконтроллера с помощью MPLAB X IDE
Введение
Этот раздел предоставляет новым пользователям пошаговые инструкции по загрузке обновленного микропрограммного обеспечения (программы или машинных кодов) на вашу печатную плату с помощью микроконтроллера Microchip.
Вещи, которые нужно приготовить
- Печатная плата микроконтроллера Microchip
- Инструмент для программирования (PICkit)
- MPLAB X IDE (интегрированная среда разработки)
- Прошивка (файл с шестнадцатеричным кодом * .hex или файлы проекта, содержащие программу вашего контроллера)
После того, как вы будете готовы, вы можете шаг за шагом приступить к загрузке микропрограммы в микроконтроллер.
Печатная плата микрочипа
Большинство микросхемных плат, разработанных PIC-CONTROL, оснащены портом программирования, который позволяет нам загружать программу на микросхему микроконтроллера на плате.
Имеется стандартный порт программирования микрочипа, также известный как ICSP, к которому вы можете подключиться с помощью своего инструмента программирования.
Программирование порта разъема на печатной плате продукта
Порт программирования обычно расположен у края печатной платы. Это ряд из 6 отверстий, сгруппированных в прямоугольную коробку (штифты заголовка с шагом 2,54 мм).
Вы должны знать, как определить контакт № 1 на этом порту. Контакт номер 1 посадочного места обозначен треугольной стрелкой.Вы также можете определить этот штифт 1 по скошенному углу прямоугольной коробки.
Ниже приведены некоторые фотографии того, как порт программирования ICSP выглядит на вашей печатной плате.
ICSP (специальная версия без отверстий)
Вы должны подключить инструмент программатора к этому порту ICSP, выровняв его по контакту 1.
Подробная информация о процедуре будет представлена в следующем разделе ниже.
Инструмент для программирования
Вам понадобится инструмент для программирования.Инструменты программиста помогут вам подключить компьютер к микросхеме микроконтроллера. Он используется для загрузки микропрограммы микроконтроллера (программы контроллера) в микроконтроллер на вашей печатной плате.
Существует ряд инструментов для программирования, которые позволяют загружать вашу прошивку. В этом примере мы используем официальный инструмент программирования PICkit 3 или PICkit 4 от Microchip.
Другие широко известные инструменты программирования: ICD4 (внутрисхемный отладчик), ICD3 , PM3 и REAL ICE .
Обратите внимание на контакт № 1 на программаторе. Вы должны идентифицировать этот контакт и совместить его с контактом 1 порта ICSP на вашей печатной плате.
Инструмент программирования PICkit 3
PICkit 3
PICkit 4 (новая версия)
Распиновка инструмента программирования PICkit
Это распиновка программатора PICkit. Эта распайка также известна как порт программирования ICSP.
Обратите внимание, что контакт №1 обозначен треугольной стрелкой.
MPLAB X IDE (интегрированная среда разработки для микроконтроллера Microchip)
Последнее, что вам нужно, это программное обеспечение, которое позволяет вам разрабатывать и загружать вашу программу в микросхему микроконтроллера.
MPLAB X IDE — это бесплатное программное обеспечение для разработки микроконтроллеров. Это полноценная платформа для разработки кода прошивки.
Теперь вам следует загрузить следующее:
- Программное обеспечение MPLAB X IDE (версия для Windows).
- Компилятор MPLAB XC.
Загрузите и установите программное обеспечение MPLAB X IDE
Вы можете щелкнуть эту ссылку, чтобы загрузить последнюю версию программного обеспечения MPLAB X IDE (версия для Windows). Если эти ссылки не работают, выполните следующие действия, чтобы загрузить их с официального сайта Microchip.
https://www.microchip.com/mplab/mplab-x-ide
- Щелкните здесь, чтобы перейти на веб-сайт Microchip для программного обеспечения MPLAB X IDE.
- Прокрутите страницу вниз и найдите вкладку «Загрузки», чтобы щелкнуть по ней.
- Перейдите к соответствующей версии (Windows, Linux или Mac) и загрузите программное обеспечение.
- На данный момент программное обеспечение имеет версию «MPLAB® X IDE v5.05».
Установите это программное обеспечение на свой компьютер.
Загрузите и установите компилятор MPLAB X
Компилятор преобразует исходный код программы в машинный код, прежде чем вы сможете загрузить программу в микросхему микроконтроллера. Для другого микроконтроллера потребуется соответствующий компилятор.Рекомендуется устанавливать все компиляторы следующим образом.
http://www.microchip.com/mplab/compilers
Установите эти компиляторы MPLAB XC8 и MPLAB XC16 на свой компьютер.
Пошаговая процедура загрузки микропрограммы в микросхему микроконтроллера
Теперь, когда у вас есть
- Печатная плата
- Инструмент для программирования
- MPLAB X
готово…
Мы можем начать загрузку вашего проекта или *.шестнадцатеричный файл ..
Есть два режима загрузки прошивки в микроконтроллер.
- Метод 1: Загрузите шестнадцатеричный * файл (машинный код) с помощью программного обеспечения MPLAB X IPE .
- Метод 2: Загрузить проект (исходный код) с помощью программного обеспечения MPLAB X IDE .
Метод 1. Загрузка микропрограммы с помощью программного обеспечения IPE
Этот метод обычно используется для производства. Программисту операторам будет предоставлен файл *.шестнадцатеричный файл, чтобы они могли загрузить прошивку в микросхему микроконтроллера.
Преимущество этого метода в том, что он прост и не раскрывает фактический исходный код вашего проекта.
Шаг 1: Запустите программу MPLAB X IPE software.
Шаг 2: В разделе « Device: » выберите номер детали микроконтроллера, на который вы хотите загрузить микропрограммное обеспечение. Обратитесь к вашей схеме для получения точного номера детали микроконтроллера.
Щелкните по кнопке « Применить ».
Шаг 3: Подключите программный инструмент к компьютеру.
Вы должны заметить, что программное обеспечение обновляет раздел «Инструмент:» после обнаружения вашего инструмента.
Нажмите кнопку « Connect », чтобы начать соединение с вашим программатором.
Вы должны увидеть следующее распечатанное сообщение…
*********************************************** ****
Подключение к MPLAB PICkit 3…
Прошивка, загруженная в настоящее время на PICkit 3
Firmware Suite Version…..01.51.08 *
Тип прошивки ………… .. Enhanced Midrange
Шаг 4: В разделе « Hex File: » загрузите файл * .hex для своей продукции. Это файл машинного кода для вашей печатной платы. Это единственный файл, необходимый для производства.
Для начала, этот файл находится в папке вашего проекта. Например…
Каталог вашего проекта -> «yourProject.X \ dist \ default \ production \ yourProject.X.production.hex »
Шаг 5: Подключите инструмент программатора к порту ICSP на печатной плате.Убедитесь, что контакт 1 на вашем разъеме правильно выровнен. Затем включите доску.
Шаг 6: Нажмите кнопку «Программа», чтобы начать загрузку микропрограммы в микросхему микроконтроллера на печатной плате.
Да, готово. Поздравление.
Ваша плата успешно загружена с микропрограммой.
Метод 2: загрузка исходного кода проекта с помощью программного обеспечения IDE
Этот метод обычно используется при разработке.Инженер может редактировать исходный код и загружать изменения прошивки напрямую в микросхему микроконтроллера.
Рекомендуется поддерживать вашу версию прошивки, пока вы выполняете работы по редактированию и улучшению. Необходимо сохранить исходную работоспособную версию. Вы всегда можете вернуться к исходной копии, если испортите исходные коды проекта.
Шаг 1: Запустите программу MPLAB X IDE software.
Шаг 2: Откройте файлы проекта.Перейдите в File> Open Project…
Выберите файлы проекта. Это папка проекта, которая заканчивается на * .X. Например, «yourProject.X»
Проект загрузится.
Шаг 3: Подключите программный инструмент к компьютеру.
Шаг 4: Подключите программатор к порту ICSP на печатной плате.
Убедитесь, что контакт 1 на разъеме правильно совмещен. Затем включите доску.
Шаг 5: Щелкните значок стрелки вниз под строкой меню.
Выберите «Сделать и запрограммировать устройство», чтобы начать загрузку микропрограммы в микросхему микроконтроллера на печатной плате.
Да, готово. Поздравление.
Ваша плата успешно загружена с микропрограммой.
Подробнее…
Для получения более подробной информации вы можете проверить официальный сайт Microchip
или YouTube для получения более подробных инструкций.
Установка и обновление прошивки | Руководство по установке и обновлению программного обеспечения Junos® OS
показать версию (MX240, MX480, MX960, MX2010, MX2020)
user @ host> показать версию
Имя хоста: mxHost
Модель: mx480
Юнона: 15.1I20160816_2117_yyin
64-разрядное ядро ОС JUNOS (WITNESS) [20160723.102341_fbsd-builder_stable_10]
Библиотеки ОС JUNOS [20160723.102341_fbsd-builder_stable_10]
Среда выполнения ОС JUNOS [20160723.102341_fbsd-builder_stable_10]
Информация о часовом поясе ОС JUNOS [20160723.102341_fbsd-builder_stable_10]
...
Прошивка JUNOS j [20160628.005233_builder_release_151_f_throttle]
Интернет-документация JUNOS [20160812.205759_yyin_release_151_f_throttle]
Утилиты режима JUNOS FIPS [20160816.211724_yyin_release_151_f_throttle]
....
показать версию (PTX3000 и PTX5000)
user @ host> показать версию
Имя хоста: ptxHost
Модель: ptx3000
Юнона: 15.1F-20160720.0
Загрузка базовой ОС JUNOS [15.1F-20160720.0]
Программный пакет JUNOS Base OS [15.1F-20160720.0]
Программный пакет платформы JUNOS [15.1F-20160720.0]
Веб-управление JUNOS [15.1F-20160720.0]
Программный пакет времени выполнения JUNOS [15.1F-20160720.0]
Интерактивная документация JUNOS [15.1F-20160720.0]
...
Прошивка JUNOS j [20160628.005233_builder_release_151_f_throttle]
Пакет программного обеспечения для 64-разрядной среды выполнения JUNOS [15.1F-20160720.0]
Пакет моделирования механизма пересылки пакетов JUNOS [15.1F-20160720.0]
Поддержка механизма пересылки пакетов JUNOS (M / T / EX Common) [15.1F-20160720.0]
Поддержка механизма пересылки пакетов JUNOS (серия T) [15.1F-20160720.0]
Пакет программного обеспечения для маршрутизации JUNOS [15.1F-20160720.0]
показать версию (ACX6360)
user @ host> показать версию
Имя хоста: ГГГ
Модель: ACX6360-OR
Юнос: 18.3I20180430_1917_XXX
64-разрядное ядро ОС JUNOS (WITNESS) [20180413.173511_fbsd-builder_stable_11]
Библиотеки ОС JUNOS [20180413.173511_fbsd-builder_stable_11]
Среда выполнения ОС JUNOS [20180413.173511_fbsd-builder_stable_11]
Информация о часовом поясе ОС JUNOS [20180413.173511_fbsd-builder_stable_11]
...
Прошивка JUNOS j [20180430.191738_XXX_dev_common]
Интерактивная документация JUNOS [20180430.191738_XXX_dev_common]
...
Если вывод команды show version
отображает JUNOS jfirmware ..
среди списка пакетов, которые
на роутере установлены предыдущая версия прошивки
пакет установлен на роутере. Если вывод показывает
версия
не отображает JUNOS jfirmware ..
среди списка пакетов, установленных на маршрутизаторе,
на роутере не установлен пакет прошивки.
Virtual Edge Platform
Обновление прошивки BIOS, CPLD и PIC с помощью пакета обновления прошивки
Пакет обновления микропрограмм для серии VEP1405 предоставляет вам возможность обновлять микропрограммы BIOS, CPLD и PIC.
ПРИМЕЧАНИЕ Этот пакет обновления микропрограмм можно использовать для обновления микропрограмм BIOS, CPLD и PIC на платформах операционных систем CentOS, Debian 9.8 / 9.9, Ubuntu18.04 и Versa.
Чтобы обновить прошивку в системе серии VEP1405, выполните следующие действия:
- Загрузите Unified Firmware Updater (UFW) с сайта поддержки Dell и разархивируйте vep1400x_ufw_1.6.zip, чтобы получить Скрипт vep1400x_ufw_1.6 (Unified Firmware Updater).
- Вставьте внешний USB-накопитель в USB-порт системы серии VEP1405.
ПРИМЕЧАНИЕ Если SSD / dev / sda, USB обычно выглядит как / dev / sdb.
корень @ dellemc-diag-os: ~ # ls / dev / sd * / dev / sda / dev / sda1 / dev / sda2 / dev / sdb / dev / sdb1 корень @ dellemc-diag-os: ~ #
- С сервера Microsoft Windows или Linux скопируйте
образ vep1400x_ufw_1.6 на внешнюю флешку
ПРИМЕЧАНИЕ Рекомендуется внешний USB-накопитель емкостью 2 ГБ или больше.
корень @ dellemc-diag-os: ~ # mkdir / mnt / usb
- Подключите внешний USB-накопитель к вновь созданному каталогу.
ПРИМЕЧАНИЕ Если ваш USB-накопитель разбит на разделы, запомните, какой раздел нужно монтировать.
В следующем примере показано, как подключиться к разделу:корень @ dellemc-diag-os: ~ # монтировать / dev / sdb / mnt / usb mount: / dev / sdb защищен от записи, монтирование только для чтения корень @ dellemc-diag-os: ~ # ls / mnt / usb boot initrd.xz vmlinuz корень @ dellemc-diag-os: ~ # umount / mnt / usb корень @ dellemc-diag-os: ~ # монтировать / dev / sdb1 / mnt / usb корень @ dellemc-diag-os: ~ # ls / mnt / usb EFI корень @ dellemc-diag-os: ~ # cd / mnt / usb
- Скопируйте vep1400x_ufw_1.6 изображение из Каталог / mnt / usb в корневой каталог в системе серии VEP1405.
- После копирования файлов отключите USB.
- Запустите программу обновления прошивки, используя следующую команду: Ниже приведен пример выполнения обновления прошивки BIOS, CPLD и PIC вручную с помощью
Образ vep1400x_ufw_1.6 на системах серии VEP1405:
root @ dellemc-diag-os: ~ # ./vep1400x_ufw_1.6 интерактивный Создание каталога temp Проверка целостности архива... 100% контрольные суммы MD5 в порядке. Все хорошо. Распаковка релиза 100% firmware_updater / обновление_прошивки / прошивки / firmware_updater / firmwares / VEP1400-X-BIOS-3.48.0.9-11.bin firmware_updater / firmwares / vep1400-x_cpld_v07_20191030.vme firmware_updater / firmwares / N1406-PIC_App_V20J_190731.bin обновление_прошивки / common_tools / обновление_прошивки / common_tools / updatetool обновление_прошивки / common_tools / pltool обновление_прошивки / common_tools / nvramtool обновление_прошивки / common_tools / i2ctool обновление_прошивки / common_tools / gpiotool обновление_прошивки / common_tools / vmetool обновление_прошивки / common_tools / configs / обновление_прошивки / common_tools / configs / default_gpio_list.xml обновление_прошивки / common_tools / configs / default_vme_list.cfg обновление_прошивки / common_tools / configs / default_update_device.xml обновление_прошивки / common_tools / configs / default_nvram_list.xml обновление_прошивки / common_tools / configs / default_pl_list.xml обновление_прошивки / common_tools / configs / default_i2c_devices.xml обновление_прошивки / common_tools / amifu обновление_прошивки / common_tools / libs / обновление_прошивки / common_tools / libs / libdiag_util.la обновление_прошивки / common_tools / libs / libxml2.so.2.9.1 обновление_прошивки / common_tools / libs / libdiag_util.а обновление_прошивки / common_tools / libs / libstdc ++. so.6.0.20 обновление_прошивки / common_tools / libs / libdiag_util.so.0.0.0 обновление_прошивки / common_tools / flashrom обновление_прошивки / common_tools / dmidecode firmware_updater / install.sh firmware_updater / lib_setup.sh firmware_updater / firmware.files обновление_прошивки / ОС / обновление_прошивки / ОС / centos / обновление_прошивки / ОС / centos / centos_init.sh обновление_прошивки / ОС / наоборот / обновление_прошивки / ОС / версия / драйвер / обновление_прошивки / ОС / версия / драйвер / i2c-ismt.ko обновление_прошивки / os / versa / versa_init.ш обновление_прошивки / ОС / Дебиан / обновление_прошивки / ОС / дебиан / драйвер / обновление_прошивки / os / debian / driver / 9.9 / обновление_прошивки / ОС / дебиан / драйвер / 9.9 / amifldrv_mod.o обновление_прошивки / os / debian / driver / 10.2 / обновление_прошивки / ОС / дебиан / драйвер / 10.2 / amifldrv_mod.o обновление_прошивки / os / debian / driver / 9.8 / обновление_прошивки / ОС / дебиан / драйвер / 9.8 / amifldrv_mod.o обновление_прошивки / os / debian / driver / 10.0 / обновление_прошивки / ОС / дебиан / драйвер / 10.0 / amifldrv_mod.o обновление_прошивки / os / debian / debian_init.sh обновление_прошивки / ОС / убунту / обновление_прошивки / os / ubuntu / ubuntu_init.ш ~ / темп ~ / темп ======== Пакет обновления прошивки VEP1400-X ======== Версия пакета: 1.6 Упакованные изображения: Версия образа BIOS: 3.48.0.9-11 Версия образа CPLD: 0x07 Версия изображения PIC: v20J [Выбор] 1. Автоматически обновлять все компоненты прошивки 2. Обновите образ BIOS [Текущая версия: 3.48.0.9-10] 3. Обновите образ CPLD [Текущая версия: 0x7] 4. Обновите образ PIC [Текущая версия: v20J] 5. Обновите образ BIOS с помощью обновления NVRAM [Текущая версия: 3.48.0.9-10] q. Выход Введите свой выбор: 1 ===== Обновить ВСЕ изображения ===== PIC сейчас находится в AppCode. Чтобы обновить прошивку PIC, сначала необходимо перезагрузиться, чтобы ввести BootCode. (пожалуйста, запустите программу обновления микропрограммы VEP1400-X еще раз, чтобы продолжить обновление после перезагрузки) После завершения обновления PIC автоматически повторно войдет в AppCode и снова перезагрузится. Вы хотите продолжить (y \ n): y
ПРИМЕЧАНИЕ В версиях CPLD до v0.6 будут встречаться случаи, когда обновление непрерывно прокручивает вывод.Если вы столкнулись с этим, перезагрузите систему серии VEP1405 и повторно запустите шаги обновления UFW, описанные в этом разделе.
- После завершения обновления прошивки введите q для выхода.
- После завершения обновления прошивки потребуется цикл питания системы. Вы можете выключить и снова включить систему, используя дистанционный цикл или вручную отключив, а затем снова подключив шнур питания.
4000: Обновление встроенного ПО PIC низкого уровня (устаревшее): онлайн-поддержка Transmille
Для обновления расширенного многофункционального калибратора серии 4000 существует два типа обновления.
Обычное обновление будет выполняться через порт USB на передней панели устройства и с использованием системы меню серии 4000 для добавления новых функций и функций.
Обновление встроенного ПО более низкого уровня менее вероятно, однако при внесении значительных изменений необходимо как обновление встроенного ПО высокого уровня, так и обновление встроенного ПО нижнего уровня.
Для выполнения низкоуровневого обновления прошивки требуется программист от Transmille. После установки программатора на настольный компьютер используйте следующие инструкции для выполнения обновления.
1) Отключите питание от сети 4000 Series.
2) Снимите 3 винта, удерживающие боковые ручки. По 3 винта с каждой стороны (всего 6).
3) Если есть, удалите 3 винта с полукруглой головкой в нижней части передней панели.
4) Передняя панель теперь будет свободной и ее можно будет осторожно потянуть вперед.
5) Если смотреть на калибратор спереди, в правом верхнем углу есть небольшой 10-канальный порт.Этот разъем обращен вперед, как показано ниже.
6) Подключите программатор MikroElektronica к этому порту. Разъем будет вставлен только в правильной ориентации.
7) Включите серию 4000 от сети.
8) Откройте программное обеспечение MikroElektronica MikroProg, в раскрывающемся списке «Семейство MCU» выберите «PIC24H-J».
9) В раскрывающемся списке «MCU» выберите «PIC24HJ256GP610» из раскрывающегося списка. Начиная с версии 2.34 программного обеспечения MicroElektronica, это последняя опция в раскрывающемся списке.
10) Перетащите файл 4000.hex, который был предоставлен в программное обеспечение MikroProg. Внизу появится полоса с надписью «Загрузка», этот процесс занимает примерно 1 секунду.
11) Убедитесь, что программа MikroProg выглядит как на следующем изображении.
12) Нажмите «Запись» в программе MikroProg.
13) Теперь микропрограмма низкого уровня будет перезаписана. Этот процесс занимает примерно 3 минуты. По завершении обновления калибратор выполнит аппаратный сброс.
14) Отключите питание серии 4000, снимите программатор MikroProg и затем повторно соберите блок, как в шагах 1-4 в обратном порядке.
Защита прошивки на контроллерах AVR и PIC
Большинство микроконтроллеров в наши дни имеют методы защиты встроенного микропрограммного обеспечения, специфичные для отдельных компонентов или производителя. Обычно это делается путем блокировки схем, которые обычно позволяют считывать кодовую память. (Вам нужно будет искать детали, относящиеся к конкретным деталям, в техническом описании или на веб-сайте производителя в соответствующих примечаниях к применению).
После блокировки невозможно считать кодовую память обычными методами. Это обеспечивает разумный уровень защиты, чтобы большинство хакеров не могли просмотреть машинный код вашего встроенного приложения.
Многие микроконтроллеры в наши дни имеют встроенную флэш-память для хранения программного кода. Ранее сохраненную и защищенную программу, хранящуюся во флэш-памяти, обычно можно заменить новым кодом, но для разблокировки механизма защиты требуется операция полного стирания флэш-памяти.После стирания деталь будет работать так же, как и до первоначального защитного замка. Если загружается новая программа, обычно можно повторно заблокировать часть, чтобы защитить вновь загруженный машинный код.
Любое обсуждение защиты кода в микроконтроллерах не будет полным без упоминания о том, что обычно нет гарантии, что любая схема защиты, предлагаемая производителем детали, является надежной. Производители даже заявят, что системы защиты не на 100% защищены от дурака.Одна из причин этого заключается в том, что существует целая индустрия черного рынка, где за определенную плату прилежные хакеры будут считывать код с защищенной части для любого, кто захочет заплатить. Они разработали различные схемы, позволяющие считывать код из ПЗУ или флэш-памяти на защищенных микроконтроллерах. Некоторые из этих схем невероятно умны, но в одних семьях они работают лучше, чем в других. Так что помните об этом факте, тогда вы попытаетесь защитить свою программу от посторонних глаз.
Как только кто-то получит в свои руки двоичный образ машинного кода, который был считан из микроконтроллера, независимо от того, был ли он защищенным микроконтроллером или нет, он может обработать машинный код с помощью инструмента, называемого дизассемблером. Это превратит двоичные данные обратно в код языка ассемблера, который можно изучить, чтобы попытаться узнать, как работают алгоритмы вашей программы. Выполнение точной дизассемблирования машинного кода — кропотливая работа, которая может потребовать огромных усилий. В конце концов, процесс может привести к коду ассемблера, как я описал.Если ваша программа была написана на каком-либо языке высокого уровня, таком как C, C ++ или Basic, ассемблерный код будет представлять только скомпилированный и связанный результат вашей программы. Как правило, невозможно полностью перепроектировать украденный код до уровня языка высокого уровня. Опытные хакеры могут подойти близко, имея достаточно времени и опыта.
Это означает, что написание встроенного микропрограммного обеспечения встроенного приложения на языке высокого уровня действительно дает преимущества. Он обеспечивает еще один уровень, который усложняет полную обратную разработку вашей программы.Еще большую выгоду можно получить, используя самые современные методы оптимизации компиляторов для компиляции встроенного приложения, потому что оптимизаторы с максимальной производительностью могут буквально превратить программу в огромную миску для спагетти, полную десятков вызовов коротких подпрограмм, которые очень сложны. расшифровать в дизассемблере.
Большинство опытных разработчиков встраиваемых систем посоветуют вам использовать любую схему защиты, которая предлагается на MCU в вашем приложении … но не полагаться на нее до конца для вашего продукта.Они скажут вам, что лучший способ опередить конкурентов — это постоянно обновлять свой продукт, чтобы старые версии устарели и не представляли интереса к тому времени, когда хакеры могли клонировать ваш код. Измените код, добавьте новые функции, время от времени вращайте платы вашего ПК, чтобы поменять местами все ваши вводы / выводы и любые другие вещи, о которых вы можете подумать. Таким образом, вы можете выигрывать гонку каждый раз.
Skyprodigy — прошивка микропрограммы управления двигателем на запрос прошивки PIC + — компьютерные телескопы Celestron
Всем привет.Это мой первый пост, и я думаю, это будет боевое крещение! Это довольно технический вопрос, и ни на минуту не думайте, что я точно знаю, о чем говорю, потому что я изучаю это по мере продвижения. Неделю назад я знал, что такое PIC и что некоторые из наших комплектов, которые я поддерживаю на работе, используют их … но мне никогда не приходилось программировать их до сих пор.
Итак, вот предыстория. Мне удалось раздобыть бывшую в употреблении сломанную монтировку Sky Prodigy со встроенной камерой для наблюдения за звездами. Неисправность заключалась в том, что пульт дистанционного управления (Starsense) не мог подключиться к камере после обновления прошивки.После приезда я проверил это и вот что я узнал. У меня нет трубки Starsense, у меня только пульт V4 Nexstar, обновленный до последней прошивки HC. Я понимаю, что они не предназначены для совместного использования, но в интересах науки я все равно попробовал (и это действительно работает! См. Ниже)
1. Подключение HC к порту HC — ошибка 16/17
2. Подключение HC к порту AUX — ошибка 16/17
3. Использование Skyportal V2 в порте AUX. Приложение Skyportal не может подключиться к прицелу или подключиться и согласовать с осциллографом.Использование в порту HC, без разницы. Ключ Skyportal работает нормально, Wi-Fi все работает.
4. Использование Celestron FWmanager и ключа skyportal в порту AUX. FWmanager видит ключ, а также камеру, указанную в starsense ACC и последнюю версию прошивки.
5. Выполнение 4, но с ключом, подключенным к порту HC, FWmanager не видит камеры, только ключ
6. Использование MCupdate с USB-RS232, подключенным к трубке — установка в порт AUX или HC, обновление MC не может видеть телескоп
7.Прошивка микропрограммы телефона Mike x9999 на nexstar HC и повторение 6. MC теперь видит телескоп (только когда HC подключен к порту AUX, не работает в порту HC)
8. Оставаясь на прошивке HC x999 и пытаясь использовать осциллограф с HC в порте AUX, установка, похоже, работала нормально, могла выполнить выравнивание. Двигатели работают после центровки. Все функции HC работают (goto, slew и т. Д.). Подключение HC к порту HC, ошибка 16/17
9. Оба двигателя возвращаются в MCupdate. Это аппаратная версия 8 и прошивка 6.17
Итак, теперь. Я думаю. Двигатели выглядят нормально, возможно, проблема с прошивкой MC. Насколько я могу судить с веб-сайта Celestron, ключ Skyportal должен нормально работать с этим телескопом и должен быть получен приложением Skyportal. Но это не так. Я тоже пробовал программу для ПК CPWI? По-прежнему не видит размаха.
У меня также есть крепление SLT, которое я использовал для перестановки взад и вперед. Крепление SLT снимается мгновенно через Wi-Fi, поэтому я знаю, что с Wi-Fi-ключом все в порядке.Я также знаю, что телефон в порядке (хотя и не предназначен для использования с этим креплением)
У меня проблема в том, что, поскольку не было обновлений микропрограммы управления двигателем для этого крепления, они не доступны для загрузки в MCupdate. Я связался с Майком, чтобы спросить его, но, к сожалению, у него нет оригинальной прошивки. Я также связался с Celestron по поводу этой прошивки, но пока жду ответа.
А пока продолжал играть с MCupdate.Кажется, что каждой печатной плате управления двигателем присвоен номер модели. Например, модель SLT — 7. Если вы попытаетесь прошить неправильную прошивку на плату управления двигателем, это не позволит вам, поскольку номер модели содержится в информации заголовка файла прошивки следующим образом:
;
; Формат загрузки прошивки celestron: версия 1.2
;
Filever = 12
FILENAME = SLT_Series_0518.cel
FILEDATE =
2011.06.02 КОММЕНТАРИИ = микропрограммы version_0617
ModelNumber = 16
MODELNAME = ДАРОВАНИЕ
HWREV = 8
DEVICE_ADDRESS_VERSION = AZM МОТОР, 16, MC2_0518
DEVICE_ADDRESS_VERSION = ALT МОТОР, 17, MC2_0518
V3_START_HEX = MC2_0518
: 060000000A128A110A2811
: 10000800FE000A0EFF0015308A007E2D831283162B
: 1000180014308A00F42C0313831259088A005B08F1
: 1000280082000030E01F2428E009DF09DE09DD092D
: 10003800DD0A0319DE0A0319DF0A0319E00A013091
Чтобы узнать, какой у Skyprodigy номер модели, я открыл прошивку SLT в блокноте и изменил номер модели, начиная с 1 и увеличиваясь.Затем после каждого изменения предпринималась попытка запустить (т.е. не прошивать, а просто добраться до экрана флеш-памяти) обновление прошивки. Это давало мне несоответствие номера модели каждый раз, пока я не добрался до 16. Затем появился экран выбора вспышки двигателя. Итак, теперь я знаю, что номер модели, который ожидают микроконтроллеры MC, — 16.
Итак, теперь мне, вероятно, следовало оставить его здесь и подождать, пока Celestron (надеюсь) пришлет мне файл прошивки . НО в интересах науки решил, какого хрена мне терять нечего, просто прошью прошивку SLT и посмотрю, что будет.Я слышу твои вздохи и крики «НЕЕЕЕЕЕЕЕТ». Прошивка прошивки завершилась успешно, но, как вы, наверное, догадались, поскольку это было безумно глупо, поскольку платы MC не совпадают, после перезагрузки HC больше не будет разговаривать с PIC управления двигателем с ошибкой 16/17. на обоих портах. MCupdate также больше не видит двигатели, и если вы отправляете команды RS232 на телефон, прокрутка записи замедляется.
Итак, теперь он как следует измотан. ТЕМ НЕ МЕНИЕ. Чтобы меня это не расстроило (в конце концов, это могло сработать, и это был бы совершенно другой пост), я начал искать, как это исправить.Я нашел много информации на сайте Майка, а также в этих двух активных обсуждениях:
https: //www.cloudyni…rmware-updates/
https: //www.cloudyni…re-update-info/
В частности, старая ветка nexstar MC, поскольку некоторые из вас, ребята, сделали то, что мне нужно сейчас сделать на старых устройствах nexstar … а именно принудительную прошивку правильной прошивки обратно в PICS с помощью заголовка флэш-памяти PCB. Я уже проделал некоторую работу над этим, чтобы разработать выводы программирования PIC, которые я поместил на изображение ниже.Распиновку разобрал мультиметром. У меня здесь нет программатора PIC, поэтому я заказал на Amazon одну из китайских копий, которая должна быть здесь в эти выходные. Что я собираюсь сделать, так это проверить, могу ли я подключиться к PICS и попробовать загрузить с них программу. Я обновлю пост, когда сделаю это.
Что я ДОЛЖЕН сделать, так это сделать это в самом начале, прежде чем я начну возиться, тогда у меня будет резервная копия программы … но ретроспективный взгляд — замечательная вещь.
Если это сработает, я смогу отменить процесс и снова прошить правильную прошивку skyprodigy.
Так что мне нужна помощь, пожалуйста, если кто-нибудь может, у Майка нет прошивки skyprodigy MC …
1. А есть ли еще у кого-нибудь?
2. если нет … и это большой вопрос …. может быть другое решение. , если у кого-то есть считыватель PICkit и он мечтает снять крышку со своего небесного аппарата, подключить его и загрузить свою программу PIC HEX, я смогу затем прошить его на свою плату. Я сказал, что это большой вопрос! Хотя я был бы очень признателен.
3. Замена платы управления двигателем. Номер детали — NXW450 rev D. Я нигде не могу найти такой по разумной цене. Я не хочу тратить на это слишком много денег, в основном это была проблема, чтобы посмотреть, смогу ли я это исправить. Моим основным креплением является SLT … хотя я надеюсь, что SLT не считает его безопасным от моих действий. Я мог бы попробовать прочитать программу из этой, чтобы посмотреть, смогу ли я это сделать. SLT также был подержанным покупателем на ebay, ему нужно было немного отрегулировать сцепление, но теперь все работает нормально.
Изображение ниже — это то, что у меня есть. (также прилагается)
Большое спасибо за любую помощь, которую вы можете оказать. Я так понимаю, вы, наверное, думаете … какой идиот за прошивку SLT прошивки !! Да, оглядываясь назад, возможно, это не лучшая идея и пара бокалов вина раньше, я бы абсолютно не стал этого делать … хотя тот факт, что порт HC, похоже, все равно не работает, может быть заменой платы, даже если я могу исправить проблему с PIC.Мне жаль, что я сначала не попытался отключить камеру, чтобы увидеть, не наводняет ли она шину RS232 изворотливыми данными, хотя FWmanager последовательно брал ее без проблем, хотя не забывайте, что skyportal просто не мог видеть прицел, так что, возможно, другая проблема там.