Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PIC12F675
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
username_1
help.gifhelp.gifhelp.gif

Люди, помогите, пожалуйста, снял информацию с PIC12F675.
А как ее перевести на нормальный язык программирования (C , Borland , Pascal , … ) ?
help.gifhelp.gifhelp.gif
Samrat
Значит так по языки высокого уровня сразу забываем. Перевсти можно только в ассемблер. Дизассемблеры такие IDAPro версии 4.15, но на неё жалуются, PICSimilatorIDE вроде не плох MPLAB тоже имеет дизассемблер, но не все программаторы выдают HEX файл "правильного" с её точки зрения формата. wink.gif wink.gif wink.gif Опытные люди советуют дизассемблировать подобное в ворде.
greg
Наверное лучше его дезассемблировать. Во всяком случае структура программы может
угадываться. Чем выше уровень языка, тем ужасней результат. А с помощью дизассемблера
это делаем следующим образом:
- запускаем MPLAB IDE (бесплатная, на сайте www.microchip.com);
- открываем закладку File + Import, появляется окно ОТКРЫТЬ, где нужно указать требуемый
hex-файл и открыть его;
- после чего входим в закладку View + Program Memory - в окошке появляется дезассемблированный
файл. Вот и всё.

P.S. Да, чуть не забыл, перед всей этой процедурой необходимо зайти в закладку
Configure + Select Device и выбрать pic12f675.
Samrat
Слышь greg, а у тебя какая версия Лабы? Я пробовал это на 6.51 и 7.20 Всё время выдавал ошибку: не могу распознать формат файла. И не только для тех файлов, которые генерирует Хайтек, но и для тех что идут вместе с МПЛАБ.
Samrat
Короче .hex лаба не переваривает, а вот .cod или .cof пожалуйста.
greg
MPLAB IDE v7.30, лежит на www.microchip.com, доступная для всех... И никаких ошибок!
Возможно у тебя не hex-файл. Просто, перед тем как считывать содежимое контроллера на программаторе, необходимо установить формат файла hex. Я это делал "сто тысяч миллионов" раз на программаторе ChipProg+ фирмы Phyton (Москва) и всё Ok.
Alich
Цитата(greg @ Feb 10 2006, 08:28) *
MPLAB IDE v7.30, лежит на www.microchip.com, доступная для всех... И никаких ошибок!
Возможно у тебя не hex-файл. Просто, перед тем как считывать содежимое контроллера на программаторе, необходимо установить формат файла hex. Я это делал "сто тысяч миллионов" раз на программаторе ChipProg+ фирмы Phyton (Москва) и всё Ok.


Действительно, только насчет отсутствия ошибок в МПЛАБЕ - ржунемогу. Сам же неоднократно и сталкивался наверняка. А вот разобраться в дизасемлерной программе - занятие не для слабонервных. Если решение имеет прямая задача (программирование), то обратная решения может и не иметь. А если нет опыта в испольщовании пиков - дело почти безнадежное.
afe
Цитата(Samrat @ Feb 9 2006, 04:42) *
Значит так по языки высокого уровня сразу забываем. Перевсти можно только в ассемблер. Дизассемблеры такие IDAPro версии 4.15, но на неё жалуются, PICSimilatorIDE вроде не плох MPLAB тоже имеет дизассемблер, но не все программаторы выдают HEX файл "правильного" с её точки зрения формата. wink.gif wink.gif wink.gif Опытные люди советуют дизассемблировать подобное в ворде.


V IDA 4.8 supported:

PIC 12XX (4.18), PIC 14XX(4.18), PIC 18XX(4.18), PIC 16XXX
Samrat
Слышь а где её скачать, 4.8, с лекарством, намекни.
Mishel
Огромное преимущество ИДА перед МПЛАБ (в смысле дизассемблирования) - в том, что ИДА позволяет писать свои комментарии, давать осмысленные имена переменным и функциям, даёт средства навигации по тексту. ИДА - это спец-инструмент для исследования программ. А МПЛАБ для этого не предназначен в принципе, у него другие задачи. Можно конечно увидеть дизасм-листинг и в МПЛАБ, но использовать его для реального исследования в данной области, имхо, несерьёзно. Разве что в совсем тривиальных случаях.
Засим, по существу:
На прямой вопрос прямой ответ: задача в том виде, как она поставлена, практического решения не имеет. Здесь остаётся задать наводящий вопрос: а для чего, собственно, Вы хотите получить исходный текст, чего добиться?
Вариантов, по сути, тут два:
1. Есть программа, которая умеет делать что-то уникальное, и требуется понять, как она это делает. Решение - использовать ИДА. Полная версия, в которой только и есть поддержка всякоразных процессоров типа ПИК и иже с ними.
2. Требуется внести исправления в программу, чтобы она работала немного иначе. Решение- опять таки анализ в ИДА, в дальшейшем дамп ассемблерного листинга и правка команд в нём, или добавление собственного блока команд, и новая компиляция.
В любом случае всё это очень непросто. Так что если бы вы хорошо разбирались в том, что называется reverse engineering, то и вопросов таких задавать не стали бы. А раз выходит, что нет - не стоит и голову греть, тема огромна и с наскока тут ничего не добиться. Забудьте об этом.
afe
Цитата(Samrat @ Feb 24 2006, 04:57) *
Слышь а где её скачать, 4.8, с лекарством, намекни.


V luchku, kuda nebud' vilozhu ...
Samrat
Попробовал я тут Иду 4,7 и пожалел, что вообще её рекомендовал. Что -то её создатели упустили.... А под 4.15 надо отдельн4ую систему ставить- под ХРсп2 не работает. Может в версии 4.8 это поправили. С Michel отчасти согласен, если бы не всё вышеизложенное. Пока могу рекомендовать только PICSimulatorIDE там рабочий дизассемблер, ни на что не жалуется, его текст Лаба переваривает с минимальной коррекцией. Собственно я и Иду рекомендовал только для получения листинга, а работать лучше в Лабе.
Samrat
А вообще лучше хороший программатор, который выдаёт .cod файлы. И возвращаясь к напечатаному username_1 лучше свяжись с greg и попроси его просто конвертировать твой .hex в .cod, если софт его программатора это позволяет. Ну а дальше сам и с нашей помощью.
Samrat
Продолжая тему привожу пример работы разных дизассемблеров на одном и том же hex-файле
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.