Прошить pic через arduino

rweather/ardpicprog

Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Arduino-based PIC programmer

This distribution contains an Arduino-based solution for programming PIC microcontrollers from Microchip Technology Inc, such as the PIC16F628A and friends. The solution has three parts:

  • Circuit that is built on one or more prototyping shields to interface to the PIC and provide the 13V programming voltage.
  • Sketch called ProgramPIC that is loaded into an Arduino to directly interface with the PIC during programming. The sketch implements a simple serial protocol for interfacing with the host.
  • Host program called ardpicprog; a drop-in replacement for picprog that implements the serial protocol and controls the PIC programming process on the computer side.

See the documentation for more information on the project.

The sources for Plang are available from the project git repository. Then read the installation instructions.

For more information on Ardpicprog, to report bugs, or to suggest improvements, please contact the author Rhys Weatherley via email. Patches to support new device types are very welcome.

About

Arduino-based solution for programming PIC microcontrollers.

Источник

magedrifaat/Arduino-PIC-programmer

Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

This projects enables programming PIC devices using Arduino only i.e. it should (in ideal cases) replace pickit and other programming devices. It currently only supports a very small number of devices which are PIC16F87XA family and uses Low voltage programming mode for obvious reasons. It should be able to work with some other devices as well but that is not guaranteed. Also, this only supports HEX files of Intel HEX format (which is the most common format, I believe).

Support for more devices should be added in the next updates.

All you need to start using this project is:

  • An Arduino uno (or any other Arduino but probably with a little modification to the pin numbers in the sketch).
  • The Arduino IDE.
  • And any python environment.

After you have installed the Arduino IDE and any python environment you need to install pyserial library in your python environment. It is usually done by typing this command in your console:

But it might not be that simple depending on your environment so if it didn’t work just search how to install a library in your environment.

Next thing is you get the sketch file and the hextoserial.py file from this project, upload the sketch to the arduino using the IDE, connect the Arduino to the PIC as described in the beginning of the sketch.

Having connected the arduino to the PIC as described in the sketch, and the arduino connected to your computer using USB, find out which port is your arduino connected to on your computer. This can be seen from the arduino IDE by opening port under Tools menu, You should find the port name (In windows, It is typically COMX where X is the port number), Remember that port name for the next step.

Now run hextoserial.py in your environment. You will be asked for the name of the port where the arduino is connected. After entering it you will be asked to enter the full path of the hex file. Then it asks you to enter P for programming, V for verification or D for verification with debugging, You should start by Entering P then after the programming is done enter V.

If the programming was done correctly the verification process shouldn’t produce any error messages and end with «Verification done», otherwise you will get an error message saying verification failed. You may then try reprogramming by entering P or verify with debugging using D to show you the difference between the file and the data it reads from the chip.

After you are done stop the process in the console, this should close the serial communication with the arduino and close the hex file.

Here is a circuit diagram of the connection:

Make sure you put a 10K resistor on the MCLR pin and a 100nF capacitor to the ground as shown above.

Connecting the arduino to the computer and uploading the sketch, then running the python file:

Entering the communication port and the path to the hex file:

Choosing P to program then V to verify programming:

And that’s it. Now connect the pic in its normal connection or if it is on a board remove the connections to the arduino and restart.

Источник

Arduino программатор PIC-ов.

Иногда встречаются очень интересные проекты выполненные на микросхемах PIC. Это микроконтроллеры с RISC архитектурой,
производимые фирмой Microchip Technology. Программаторы для PIC сложные и дорогие. Чтобы сделать программатор для PIC, нужен программатор для PIC, замкнутый круг для самодельщина. Но у нас есть Arduina! Сделаем из ардуины очень дешевый, очень простой, но работающий как очень дорогие HVSP программаторы микроконтроллеров от Microchip Technology.

HVSP — это High Voltage Serial Programming, высоковольтное последовательное программирование. Высоковольтное программирование позволяет сделать рабочим окирпиченный PIC контроллер из за неправильно выставленных фьюзов или заблокированных ног используемых при низковольтном программировании. В общем без разницы в каком состоянии Вам пришлют хитрые китайцы микроконтроллер, главное, чтобы он был аппаратно живой. А разлочить можно и ардуиной. Запрограммировать можно и ардуиной.

Сборка на макетной плате.

Настройка Step-UP DC-DC

Пример работы программатора сделанного из ардуино нано в макете с парой дополнительных деталей которые можно выдрать из старой техники. Единственное для удобства я использовал повышающий преобразователь для получения 13V нужных для высоковольтного программирования. Удобство заключается в том, что просто вставляете программатор в USB и работаете не заморачиваясь на необходимости подачи внешнего питания. Иначе просто можно подать это напряжение от внешнего блока питания и схема станет еще проще.


Вложения

Комментарии

nobilia7

Вложения

nobilia7

Eig
Вот о этом я Вам и толкую. На самом деле хекс, записанный в чип рабочий. В этом наверняка можно убедиться, впаяв его в соответствующее железо. Но!! если Вы сохраняете СЧИТАННЫЙ хекс для последующей работы (архив и пр.) , то здесь Вас ждет Засада. Файл считан и сохранен неправильно!
В принципе, если в редакторе Вы удалите первые 3 символа и пересохранитесь, то получите рабочую прошивку. Но это садомазохизм. И известен только Вам. . Это — то, что сохранила программа. А это Ваш Оригинал:.

На это «безобразие» Автор ответил следующее:
«. Es sieht so aus, als ob die Datei eine UTF-8-Byte-Ordnungsmarke enthält. Ich weiß nicht, wie das passiert ist, es sei denn, es wurde von der C ++ — Bibliothek ausgeführt, als Sie das Host-Programm erstellt haben. Sie können versuchen, das zweite Argument in die fopen () -Aufrufe von «w» in «wb» zu ändern, damit der Textmodus nicht verwendet wird. »
В принципе. вот только у меня нет компилятора.
Да, должно сохраняться в Интел.

@nobilia7, Вот тут
разработчик утверждает, что этот баг пофиксил. «Last change: 01/11/2014 : fixed bugs in Intel hex file export (checksum calculation, format for EEPROM data)».
Вот тут скомпилированная версия файла от 2016 года.

@nobilia7, ну понятно. Видимо, он недофиксил.
В принципе, у меня на работе Win10, 15-ая студия и 17-ая студии стоят. Попробую через какое-то время сделать то, что он рекомендует. Дома искать образ старой студии и устанавливать запаришься. Я только не уверен, что у меня компонент VB там установлен.

Источник

Arduino программатор PIC-ов.

Иногда встречаются очень интересные проекты выполненные на микросхемах PIC. Это микроконтроллеры с RISC архитектурой,
производимые фирмой Microchip Technology. Программаторы для PIC сложные и дорогие. Чтобы сделать программатор для PIC, нужен программатор для PIC, замкнутый круг для самодельщина. Но у нас есть Arduina! Сделаем из ардуины очень дешевый, очень простой, но работающий как очень дорогие HVSP программаторы микроконтроллеров от Microchip Technology.

HVSP — это High Voltage Serial Programming, высоковольтное последовательное программирование. Высоковольтное программирование позволяет сделать рабочим окирпиченный PIC контроллер из за неправильно выставленных фьюзов или заблокированных ног используемых при низковольтном программировании. В общем без разницы в каком состоянии Вам пришлют хитрые китайцы микроконтроллер, главное, чтобы он был аппаратно живой. А разлочить можно и ардуиной. Запрограммировать можно и ардуиной.

Сборка на макетной плате.

Настройка Step-UP DC-DC

Пример работы программатора сделанного из ардуино нано в макете с парой дополнительных деталей которые можно выдрать из старой техники. Единственное для удобства я использовал повышающий преобразователь для получения 13V нужных для высоковольтного программирования. Удобство заключается в том, что просто вставляете программатор в USB и работаете не заморачиваясь на необходимости подачи внешнего питания. Иначе просто можно подать это напряжение от внешнего блока питания и схема станет еще проще.

Источник

Arduino программатор PIC-ов.

Иногда встречаются очень интересные проекты выполненные на микросхемах PIC. Это микроконтроллеры с RISC архитектурой,
производимые фирмой Microchip Technology. Программаторы для PIC сложные и дорогие. Чтобы сделать программатор для PIC, нужен программатор для PIC, замкнутый круг для самодельщина. Но у нас есть Arduina! Сделаем из ардуины очень дешевый, очень простой, но работающий как очень дорогие HVSP программаторы микроконтроллеров от Microchip Technology.

HVSP — это High Voltage Serial Programming, высоковольтное последовательное программирование. Высоковольтное программирование позволяет сделать рабочим окирпиченный PIC контроллер из за неправильно выставленных фьюзов или заблокированных ног используемых при низковольтном программировании. В общем без разницы в каком состоянии Вам пришлют хитрые китайцы микроконтроллер, главное, чтобы он был аппаратно живой. А разлочить можно и ардуиной. Запрограммировать можно и ардуиной.

Сборка на макетной плате.

Настройка Step-UP DC-DC

Пример работы программатора сделанного из ардуино нано в макете с парой дополнительных деталей которые можно выдрать из старой техники. Единственное для удобства я использовал повышающий преобразователь для получения 13V нужных для высоковольтного программирования. Удобство заключается в том, что просто вставляете программатор в USB и работаете не заморачиваясь на необходимости подачи внешнего питания. Иначе просто можно подать это напряжение от внешнего блока питания и схема станет еще проще.


Вложения

Комментарии

johni5

apecks

ТехнарьКто

apecks

johni5

ТехнарьКто

Если стирание проходит успешно и запись проходит успешно, возможно просто все записалось? Если в прошивке стоит запрет на чтение, то в конце записи будет ошибка, обусловленная работой защиты. Попробуйте записанный pic в работе, может все работает и паника напрасна?

apecks

ТехнарьКто

У Вас два варианта.
1) Неисправен программатор.
2) Неисправен микроконтроллер.

Дистанционно узнать, что у Вас, это невозможно. Могу лишь пояснить.

1) Проверить собранную схему. Вы по первой схеме в этой ветке собирали или свое сделали? Если по первой схеме в этой ветке, то. Ардуина использована 5V и 16MГц. Попробуйте поставить сопротивление между 10 ногой пика и землей 300 Ом. Проверьте, что на 4 ногу пика подается 13 вольт, а при открытии транзистора эти 13 вольт резко уменьшаются до уровня логического нуля (менее 0.5V). Уровни программирования соответствуют логическим уровням 5V. Питание на PIC подается выше уровней программирования. То есть уровни программирования 4,75V, а питание PIC 5V. Питание ардуино те же 5V. Скетч в ардуино залит рекомендованный мной, а не непонятно как тут ребятами оптимизированный. Я понятия не имею, что они со скетчем сделали. Проверить драйвер в операционной системе потому, что например win10 связи санкциями, тихо гадит после обновлений. Проверить работу программатора на другой, более старой операционной системе win7, winXP. Проверить работу программатора с другим заведомо исправным pic16f628a. Если заработало, переходить к пункту (2).

2) Неисправен микроконтроллер. Например хитрозадые китайцы были застуканы на том, что продавали разово программируемые но определяющиеся как pic16f628a. Программировались всего один раз. Как уж китайцы это намухлевали мне не ведомо, но партия таких была продана через али. Возможно Вы банально сожгли чип. И так бывает. Если есть возможность, проверить pic на другом программаторе, то проверьте. Если возможности отсутствует то когда будет побежден пункт (1) проверите этот pic на своем программаторе. Если один перезаписывается, а второй pic нет, явно второй будет неисправен.

Если схема у Вас другая. Скетч у Вас иной. Тогда спрашивайте у тех, где Вы это брали.

PS Первая схема в этой ветке идеально работает на не обновляемой WIN7 c множеством PIC16F628a и прошивает и перепрошивает.

Источник