Прошить PIC изнутри

PIC версия программы(разные темы)

Прошить PIC изнутри

Сообщение Coder_83 (Сергей) » 17 апр 2019, 22:55

Доброго времени всем!
Извините за странный вопрос, но можно ли заменить несколько байт в программе изнутри самого кода? Само собой зная адрес и что записывать. Bootloader не подойдет...
Ник: Coder_83
Имя: Сергей
(Тула)
Заинтересованный
Заинтересованный
Информация о пользователе

Re: Прошить PIC изнутри

Сообщение щербатый (щербатый) » 17 апр 2019, 23:50

Coder_83 писал(а):можно ли заменить несколько байт в программе изнутри самого кода? Само собой зная адрес и что записывать.

Привет. Ничего странного. Скорее всего тебя заинтересовало то. Что многие называют чип тюнингом. Какой вообще говоря процессор (то что пик, это понятно, название какое)? Каким программатором пользуешься? И скорее всего, тебе придется плотнее работать с асемблером. Так как разово то ты бинарный код изменишь (это можно сделать прямо в оболочке программатора). Но если то дело что ты затеял пойдет. То нужно понимать не только предметную область где этот бинарник используется. Но и собственно что и как и на основании чего в этом коде корректировать. Хотя многие просто пробуют разные варианты. И смотрят что получилось по итогу на целевом устройстве.
Но как по мне сейчас. Легче написать новую программу, прошить ее. Чем разбираться в бинарном коде.
Ник: щербатый
Имя: щербатый
Гуру
Гуру
Информация о пользователе

Re: Прошить PIC изнутри

Сообщение Coder_83 (Сергей) » 18 апр 2019, 12:00

PIC18F2550, программатор PIC K150. Ну по логике то да, проще конечно разово в программаторе все сделать, но тут как раз суть в том, что контроллер по USB порту получает код и заливает его вместо старого, получается что-то типа bootloader'а, но только свой и работающий по своим правилам. Идея такая: в обычном режиме работает основная программа МК, по определенной команде (из собственной программы на ПК) попадаем в область где-нибудь почти в конце адресов, в которой лежит программа, которая получит по USB HEX новой основной программы МК и зальет ее. Все обмены данными по USB сделаю, но вот как перезаписать определенную программную область я никак не пойму. Покопался в поисковиках, ничего такого не нашел, почему и подумал, возможно ли такое вообще...
Ник: Coder_83
Имя: Сергей
(Тула)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Прошить PIC изнутри

Сообщение Enigm (Enigm) » 18 апр 2019, 14:00

Почитайте
http://proiot.ru/blog/posts/2012/10/03/ ... c16-pic18/
Тут исходники.
http://proiot.ru/blog/posts/2012/10/03/ ... loader.zip
Гляньте исходники и посмотрите как там сделана перезапись флешь.
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Гуру
Гуру
Информация о пользователе
Вернуться наверх

Re: Прошить PIC изнутри

Сообщение щербатый (щербатый) » 19 апр 2019, 02:31

Coder_83 писал(а):Ну по логике то да, проще конечно разово в программаторе все сделать.

Если надо просто попробовать, возможно подойдет программа DIY K150. Перебор значений в нескольких ячейках, дело недолгое. И даст возможность понять, в правильном ли направлении вы двигаетесь.
А вообще интересна предметная область, где это востребовано. Видимо у вас есть прошивка, которая решает какую то важную задачу. И вы хотели бы ее перенастроить под свое понимание задачи.
Ну не знаю. Я бы начал с другого конца. Снял логическим анализатором входные сигналы этого девайса, и реакцию на его выходах. И написал свой софт. Это дало бы намного большие возможности как по решению задачи. Так и по возможному развитию этого решения в будущем. Но без понимания предметной области, советовать что либо сложно. Ваш подход через бутлоадер тоже имеет право на жизнь, и по своему интересен.
В сети без труда находятся материалы на эту тему скажем здесь http://we.easyelectronics.ru/PIC/toyloa ... aniya.html Еще и процессор тот же. И автор темы похоже решает похожую задачу... И так как это все происходит очень быстро. То нет особой разницы. Меняете ли вы всю прошивку. либо ее часть... Для перебора методом грубой силы пары десятков значений. Ну как бы недолго.
И вот тут неплохо рассмотрена эта тема http://catcatcat.d-lan.dp.ua/skachat/sistemnyiy-soft/
Ник: щербатый
Имя: щербатый
Гуру
Гуру
Информация о пользователе
Вернуться наверх

Re: Прошить PIC изнутри

Сообщение щербатый (щербатый) » 19 апр 2019, 02:59

Coder_83 писал(а):можно ли заменить несколько байт в программе изнутри самого кода? Само собой зная адрес и что записывать.

Здесь какое то логическое противоречие. Есть смысл заменить несколько байт в прошивке, и заменить несколько раз прошивку целиком. Столько раз. Сколько нужно. Чем искать возможность менять только часть прошивки на самом процессоре.
То есть слить прошивку, скорректировать ее. И залить скорректированную по новой. Любым способом.
Ник: щербатый
Имя: щербатый
Гуру
Гуру
Информация о пользователе
Вернуться наверх

Re: Прошить PIC изнутри

Сообщение Coder_83 (Сергей) » 23 апр 2019, 21:24

В общем действительно проще пойти другим путем, смысл именно такой как Вы и написали: Есть прошивка, но необходимо менять некоторые байты в ней для прошивки разных девайсов (сама прошивка остается та-же самая, просто в ней меняются некоторые параметры). Решение проще нашлось именно для моей задачи, я буду действительно перед прошивкой каждого девайса менять просто эти байты, в самом HEX файле (какие и как уже знаю), иначе придется идти по пути изучения ASM, а у меня временные рамки установлены маленькие... В дальнейшем планирую, все-таки, сделать свой чип тюнинг!
Ник: Coder_83
Имя: Сергей
(Тула)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Прошить PIC изнутри

Сообщение Coder_83 (Сергей) » 23 апр 2019, 21:26

Enigm писал(а):Тут исходники.
http://proiot.ru/blog/posts/2012/10/03/ ... loader.zip
Гляньте исходники и посмотрите как там сделана перезапись флешь.

Спасибо за исходник! В будущем в любом случае планирую сделать типа своего bootloader'а. Буду изучать потихоньку этот пример на ASM...
Ник: Coder_83
Имя: Сергей
(Тула)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Прошить PIC изнутри

Сообщение щербатый (щербатый) » 27 апр 2019, 16:35

Coder_83 писал(а):сама прошивка остается та-же самая, просто в ней меняются некоторые параметры
В дальнейшем планирую, все-таки, сделать свой чип тюнинг!

Друг мой, это было видно и понятно с первых твоих строк... И это, далеко не убегай. Может я тоже тюнингом займусь. И тоже, если времени на все хватит.
Резюме. Сливаешь прошивку, корректируешь (хоть несколько бит, хоть всю). И заливаешь обратно. Обязательно сохраняешь в архиве исходник.

И рано, или поздно. Ты поймешь. Как обезьяна менять одни цифры на другие. Нерационально, и долго. Нужна обратная связь по коррекции. Как? Это второй вопрос... Есть мысли. Но их нужно сначала причесать.
Ник: щербатый
Имя: щербатый
Гуру
Гуру
Информация о пользователе
Вернуться наверх

Re: Прошить PIC изнутри

Сообщение Вячеслав (Вячеслав) » 28 апр 2019, 07:04

Coder_83 писал(а):....можно ли заменить несколько байт в программе изнутри самого кода?

Я- любитель. Иногда использую чужие hex файлы для своих самоделок. Бывает, что самому повторить удачное решение проще, чем перебирать варианты реализации. Использую чужой ум, да и все мы базируемся на чём то. Что-то может раздражать в заимствовании или чуть поправить хочется под себя. Реклама в преамбуле, имена и т.п. Чем править? Использую совет:
Правка в hex.rar

Может пригодится. Для PIC - подбери программу обслуживания своего прошивальщика с функцией чтения ASCII.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Вячеслав
Имя: Вячеслав
(Саратов)
Разработчик
Разработчик
Информация о пользователе
Вернуться наверх

След.

Вернуться в Flowcode PIC

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей