Что мне нужно, чтобы поместить мой код в микроконтроллер?

8

Я узнал о кодировании контроллера, но никогда не помещал код на физическое устройство. Я пытаюсь понять, что мне нужно, чтобы начать разработку базовой встроенной системы.

Например, если у меня есть PIC18F1330, у меня есть MPLAB IDE и компилятор XC8. Отлично, у меня есть скомпилированный код, и я готов поставить его на контроллер. Что мне нужно для переноса скомпилированного кода на ПК на контроллер?

Я видел такие вещи, как встроенный отладчик и набор PIC. Я просто потерян в этот момент.

Адам
источник
Итак, когда у меня есть PICkit, PICkit позволяет мне физически подключить мой компьютер к микроконтроллеру?
Адам
Да, на PICKit, ICD и т. Д. Есть разъем, который вы подключаете к плате для внутрисхемного программирования и отладки.
Спехро Пефхани

Ответы:

4

Есть несколько способов прошить ваш код на микроконтроллер.

В Интернете вы найдете довольно много самодельных программистов, но они, как правило, также имеют самодельное программное обеспечение и (хорошо) не интегрированы в MPLAB IDE.

Самое дешевое решение от Microchip - это PicKit за ~ 40 €, который просто подключается к ПК через USB. Хотя у PicKit есть несколько опций отладки, есть и более мощный ICD «In Circuit Debugger» за ~ 180 €, который имеет больше функций отладки, но, конечно, может также прошивать чипы.

Я всегда чувствовал, что PicKit достаточно для меня.

Существуют сторонние версии, поскольку микрочип публикует микропрограммы и схемы для PicKit, но если вы покупаете их, убедитесь, что вы действительно получаете то, что думаете, то и получаете. Однажды я увидел предложение для PicKit 3, но я не был уверен, что это не PicKit 2.


Так же, как комментарий: Есть микрочипы Microchip, которые могут мигать сами. Например, мы использовали семейство PIC18F2450 / 2550/4450/4550 со встроенным USB и установили на него загрузчик. Когда перемычка закрыта, MCU входит в режим загрузчика при запуске, и вы можете прошить свой MCU своим кодом. Все это доступно от Microchip.

Чтобы использовать это, вам нужно внести несколько изменений в ваш код. И, конечно, вам нужен обычный программист, чтобы изначально прошить загрузчик на MCU. Таким образом, эта функция не имеет смысла, если у вас есть программист. Но хорошо, если вы хотите обновить прошивку для своих клиентов.

sweber
источник
12

Поскольку вы используете MPLAB IDE с компилятором XC8 C, вы можете проверить совместимость в меню Configure-> Select Device (зеленый индикатор означает, что полностью поддерживается, желтый - частично, а красный - не поддерживается).

Прямо сейчас лучшим выбором будет Pickit 3, ICD3 или RealICE (в порядке увеличения цены)

Вот совместимые программисты, отладчики:

Вы действительно хотите иметь поддержку отладки, а также поддержку программирования.

введите описание изображения здесь

После установки драйверов устройства вы можете выбрать и подключиться к нему (данное устройство может быть установлено только как отладчик или программист в данный момент времени):

введите описание изображения здесь

Затем, когда ваша программа скомпилирована (в форме отладки или выпуска), вы можете запрограммировать микроконтроллер с помощью кнопок, показанных ниже:

введите описание изображения здесь

Физически PICkit или другой модуль отладки / программирования имеет разъем, который вы подключаете к вашей системе. Есть 6 контактов, из которых 5 используются, включая питание и землю.

введите описание изображения здесь

Спехро Пефхани
источник
4

На момент написания статьи существует 3 основных способа записи двоичного файла в микроконтроллер. В зависимости от конкретного микро может быть доступно 3 любых из них. Самый старый метод - это программист / отладчик для конкретного устройства. В настоящее время для деталей Microchip используются Pickit3 / ICD3, они совместимы со всеми существующими микросхемами PIC и некоторыми старыми. Вы не можете использовать их для программирования деталей, изготовленных другими производителями.

Второй метод называется загрузчиком. Это небольшая программа, записанная в микроэлемент до того, как вы вступили во владение этой частью. Bootloader позволяет программировать через стандартный интерфейс micro [s] - UART, SPI, Ethernet и т. Д. Чипы ARM часто поставляются с предварительно загруженным загрузчиком, а также с AVR. Вам не нужны проприетарные программные средства, если присутствует загрузчик, но вы не сможете легко выполнить одношаговую отладку.

Третий называется JTAG. Это полуобобщенный интерфейс, вы можете запрограммировать много разных частей, а также отлаживать. Вам понадобится часть снаряжения под названием JTAG dongle. Некоторые части PIC имеют JTAG. Чипы ARM обычно имеют JTAG, а у многих нет другого интерфейса отладки.

Олег Мазуров
источник
3

Общий рецепт:

  1. Введите свой код в текстовом редакторе, используя язык на ваш выбор
  2. Переведите этот язык в машинный код с помощью компилятора. Машинный код представляет собой список шестнадцатеричных чисел: некоторые представляют собой инструкцию, остальные представляют собой аргументы / параметры для этих инструкций. Обычно называется "HEX-файл". Любая часть программы сводится к этой последовательности элементарных инструкций + их параметров.
  3. Перенесите этот машинный код в память программ вашего устройства. Это делается с помощью программиста. Программист поставляется с драйвером, который является частью программного обеспечения, управляющего программистом: предоставьте ему файл HEX, он сделает все остальное. Программист прочтет ваш HEX-файл и покачивает строки программирования устройства (вроде как азбукой Морзе), чтобы фактически записать память программы. Когда программа загружена, устройство перезагружается, а затем устройство автоматически начинает выполнение кода в самом начале памяти программы. Это твой код. Это грубо сказано, но это в значительной степени то, что вам нужно знать на данный момент.

Ты почти у цели . У вас есть интегрированная среда разработки, которая делает 1 и 2 очень удобным для пользователя способом. Он даже имеет интерфейсы для программистов, так что вам не нужно беспокоиться о том, что такое HEX-файл (нажмите «play», и все готово).

Однако вам все еще нужен физический программист для связи вашего устройства с ПК - для PIC существует целый ряд номеров. Pickit является одним из них. Если вы намерены серьезно заняться встроенным программированием, вам, вероятно, стоит инвестировать в In Circuit Debugger (ICD). Это программист, а также то, что позволяет вам заглядывать или тыкать в переменные и регистры в микро, и даже шагать и останавливать программу по желанию.

Мистер Мистер
источник
3

Устройство программирования микроконтроллера - то, что вам нужно. Это аппаратное обеспечение, которое подключается к вашему ПК и микроконтроллеру, чтобы выполнять необходимые функции для загрузки программы в микросхему. В схемном отладчике это устройство, которое обладает большей функциональностью, чем программист, например, отладка вашего кода во время его работы на чипе. Вы можете использовать ICD или PIC Kit для программирования ОК. Или, если хотите, вы можете использовать очень простую схему, например, JDM- программист.

Обратите внимание, что MPLAB IDE поддерживает PIC Kit и ICD. Но если вы используете JDM-программист, вам придется использовать другое программное обеспечение, такое как PICPgm, для загрузки вашего скомпилированного чипа.

chamod
источник