Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Прошить PIC по воздоху

Ср окт 20, 2021 13:19:21

Как прошивается PIC по Bluetooth ?
Вложения
yc1021.zip
(90.57 KiB) Скачиваний: 184
Bluetooth + PIC18F25K80_2.GIF
(23.06 KiB) Скачиваний: 200

Re: Прошить PIC по воздоху

Чт окт 21, 2021 17:40:45

Он не прошивается, а САМОпрошивается.
То есть в коде есть бутлоадер.
Естественно, что новый PIC18 так не прошить.

Re: Прошить PIC по воздоху

Пт окт 22, 2021 18:45:02

Может по этому я и не могу прошить свой PIC
https://radiokot.ru/forum/viewtopic.php ... 8#p4108128

Re: Прошить PIC по воздоху

Сб окт 23, 2021 10:30:08

ПОКА не вижу никакой связи между вашей неудачей прошивки и местной темой.
Прошивка PIC-ов всех семейств и разрядностей происходит через интерфейс ICSP, который состоит из:
1. Сброс МК - MCLR
2. Питание МК
3. Общий ("земля" схемы)
4. Данные - ICSPDAT (PGD)
5. Клоки - ICSPCLK (PGC)
Для этого используется специальный внешний аппаратный программатор (PICkit, ICD, Snap) и специальное ПО на компьютере, работающее с этим программатором.
Это единственный способ запрограммировать эти МК, если не считать интерфейс JTAG в некоторых старших семействах 16/32 разрядных МК Микрочипа.
Как вы пытались прошивать свой - вы ничего не написали.
Самопрограммирование МК никак не связано с выше упомянутой процедурой программирования.
Самопрограммирование - это ПЕРЕПРОШИВКА контроллера с помощью кода, который был в исходной прошивке. При самопрограммировании данные для этой процедуры могут быть получены по любому из ДОСТУПНЫХ ИСПОЛНЯЕМОМУ КОДУ в МК интерфейсов (включая UART, который упомянут вами в этой теме на приведенной схеме). То есть интерфейс ICSP в таком случае НЕДОСТУПЕН. Внешняя программно-аппаратная поддержка при самопрограммировании определяется тем, кто написал исходный код содержащий загрузчик. Это могут быть практически любые способы. От примитивного USB-UART моста и простенькой программы на ПК до сложных удаленных и шифрованных пробросов кода на устройство.

Re: Прошить PIC по воздоху

Сб окт 23, 2021 10:55:22

Самопрограммирование - это ПЕРЕПРОШИВКА контроллера с помощью кода, который был в исходной прошивке.


Думаю надо уточнить, что при самопрограммировании микроконтроллер перешивается не весь. Программа-загрузчик, которую изначально прошивали через контакты ICSP, остаётся на месте. Именно она принимает данные из внешнего источника (по тому же сом-порту через блютуз) и прошивает их на место старого куска программы.

:tea:

Re: Прошить PIC по воздоху

Сб окт 23, 2021 11:00:47

Программа-загрузчик, которую изначально прошивали через контакты ICSP, остаётся на месте.

Это не всегда так и это не обязательно. Исходный загрузчик в состоянии скопировать себя во временную область флеша и передать туда управление. После чего в состоянии обновить ВЕСЬ КОД, включая исходный загрузчик. Так же есть достаточно много МК содержащих режим работы с ДВУМЯ партициями. Тогда перепрошивка осуществляется в нерабочую партицию, а затем изменяется рабочая партиция. Изменение загрузчика при перепрошивке - это очень полезная фича, позволяющая изменять, в том числе, протокол обмена при самопрограммировании.

Re: Прошить PIC по воздоху

Сб окт 23, 2021 11:54:25

Если у МК имеются режим и команды самопрограммирования то можно все что угодно придумать...
:dont_know:

Re: Прошить PIC по воздоху

Вт фев 22, 2022 09:53:18

Я когда то писал загрузчик на прошивку с флеш карты. А на флешку записывал через Bluetooth
Ответить