Сейчас на форуме: tyns777, zombi-vadim (+3 невидимых) |
![]() |
eXeL@B —› Программирование —› из HEX в C |
Посл.ответ | Сообщение |
|
Создано: 04 марта 2008 16:15 · Поправил: socker · Личное сообщение · #1 Здравствуйте! Я хочу сделать сам себе mp3 плеер, но у меня возникла проблема: программа написанная для контроллера есть только в формате HEX, а так хочется посмотреть как реализовано взаимодействие программы и железа. Первоначально программа написана на Си компилятор --> CCS compiler <-- http://www.ccsinfo.com/pcwide.shtml , программа предназначена для контролера --> PIC18LF452 PLCC44 <-- http://ww1.microchip.com/downloads/en/DeviceDoc/39564b.pdf . Сам я пробовал получить исходники, но у меня мало что получилось максимум чего удалось достичь это получить кривые коды ASM с помощью программы PicDis18. Исходники HEX в архиве Пожалуйста помогите получить исходники на Си или хотябы на ASM (с которыми можно работать в MPLA v8)!!! СПАСИБО!!! ![]() |
|
Создано: 04 марта 2008 16:42 · Личное сообщение · #2 |
|
Создано: 04 марта 2008 16:50 · Личное сообщение · #3 |
|
Создано: 04 марта 2008 16:51 · Личное сообщение · #4 Работаю с PIC-ами, но ни разу не встречал преобразования из HEX в C. Можно еще понять HEX в ASM (имея набор инструкций данного проца это легко). Думаю, запрашиваемое преобразование невозможно, т.к. разным процам соответсвуют разные наборы инструкций, а значит, преобразование одного и того же C-кода дает разный HEX для разных процов. Т.е. теоретически возвожно, но врядли кто-то возьмется реазизовывать такой reverse для отдельно взятой модели pic... ![]() |
|
Создано: 04 марта 2008 18:58 · Поправил: dosikus · Личное сообщение · #5 socker Тему здесь создай http://kazus.ru/forum/2/index.html http://kazus.ru/forum/2/index.html . Чем могу помогу , был я на том сайте , правда полгода назад, плеер этот не заметил . А жаль ... Исходники на сайте платные , этот плеер вроде ~ 150$. В принципе хекс импортируешь в мплаб и уже асм готовый, в иде еще потрудиться надо , хекс она криво грузит. Но вот асм проанализировать Ида самое то . Короче заходи разберемся , сам заинтересовался... Прилагаю то что выдала мплаб , сразу скажу компилировать его бесполезно -куча мусора ... править и еще раз править. Адреса оставил . ![]() |
|
Создано: 04 марта 2008 20:39 · Личное сообщение · #6 |
|
Создано: 05 марта 2008 12:36 · Личное сообщение · #7 |
|
Создано: 05 марта 2008 15:15 · Поправил: tundra37 · Личное сообщение · #8 socker пишет: так хочется посмотреть как реализовано взаимодействие программы и железа Ну, во-первых , текст можно купить, причем прямо с деталями. Во-вторых, кроме PIC там еще один процессор есть и для него наверняка текст не дадут. Т.ч. если ты надеешься кодеки другие заложить - забудь. А PIC внешний интерфейс обеспечивает - эти блоки можно и так добыть. Взаимодействие программы и железа лучше всего на специальных отладчиках смотреть. Про отладчики я бы спросил на форуме telesys.ru - там серьезный народ тусуется. ![]() |
|
Создано: 05 марта 2008 15:37 · Личное сообщение · #9 |
|
Создано: 05 марта 2008 17:55 · Поправил: dosikus · Личное сообщение · #10 |
|
Создано: 06 марта 2008 14:14 · Личное сообщение · #11 socker пишет: --> здесь <-- вроде проэто не чего не говорится? Там четко сказано, что есть еще железка VL..... и для HEX в скобках указаны обе железки(наверно не спроста). ============================ Для ДВД-плееров прошивка тоже общая для всех процессоров - я собственно про это думал. На MP3-плеерах возможно все не так страшно. dosikus Тогда вообще глупо. socker надо либо покупать сырцы, либо самому писать на Си - разбираться в чужой проге дольше придется. ![]() |
|
Создано: 06 марта 2008 17:53 · Личное сообщение · #12 Если ты про это , то здесь просто указано что прошивка под пик PIC18LF452 работающий на частоте 20 мГц и vs на 25 мГц , и даты прошивок. 020_v1429.HEX (PIC18LF452 @ 20MhZ and VS1002D @ 25MhZ) October 12, 2007. 020_v1430.HEX (PIC18LF452 @ 20MhZ and VS1002D @ 25MhZ) February 8, 2008. В принципе для socker наверно не так важно перелопатить все это в С , а как он и писал -"посмотреть как реализовано взаимодействие программы и железа" . А это реально.... ![]() |
|
Создано: 07 марта 2008 09:59 · Личное сообщение · #13 dosikus пишет: VS полностью аппаратный кодек... Мы друг друга не поняли : я и имел ввиду, что он сможет поменять только интерфейс плеера и подключить другие входные устройства. Играть другую музыку(с кодеками которые VS1002D не поддерживает) он вряд ли сможет. socker Прошивку я посмотрел(сам HEX) - она действительно только для PIC. Надпись подразумевает, что прога только эту железяку поддерживает(vs1002d). Я сначала про MPLab не понял - это компилятор на Си. По моему у них есть и симулятор и он должен позволять грузить сразу, либо HEX, либо bin(есть утилиты для перекодирования). Для PIC маловато инструментов, но тоже есть. Чем мучится с дизасмом - лучше погонять HEX в симуляторе. ![]() |
|
Создано: 07 марта 2008 11:25 · Личное сообщение · #14 |
|
Создано: 08 марта 2008 11:53 · Личное сообщение · #15 socker Ты уточни, что тебя интересует в интерфейсе с аппаратурой, тогда подскажем - стоит ли вообще HEX ковырять. Тебе нужен любой отладчик для PIC18, который позволяет грузить HEX или BIN. forum.intuit.ru/printthread.php?s=a443b351014e668e4882619e2044b60b&t=1200 В MPLAB IDE возможно загрузить HEX для отладки, "рыба" ассемблера у тебя есть. Дальше в ходе "отладки"-трассировки правишь ассемблер. Советую HEX перевести в BIN и посмотреть "визуально" - наверняка там текстовых строчек много, часть которых дизассемблер перевел в команды... Хотя возможно эти строчки зашифрованы, но в отладчике должен добраться - либо по начальному сообщению сразу найдешь прогу расшифровки, либо либо найдешь прогу выдачи на экран(если оно не шифровано) и дальше нетрудно найти остальные "шифрованные" выдачи... ![]() |
|
Создано: 08 марта 2008 12:19 · Поправил: dosikus · Личное сообщение · #16 tundra37 Ты не владеешь вопросом... Там нет шифрованых строк и мплаб это не компилятор а иде . И для того чтоб загрузить хекс пиковское и начать отладку ему все равно нужна отладочная информация. Которую он сможет получить только КОМПИЛИРУЯ исходник. Почему и надо восстановить асм. ЧТО ДЛЯ МПЛАБ, ЧТО ДЛЯ ПРОТЕУСА. Конечно можно запихать хекс в Протеус , но единственное что можно будет увидеть это мигание выводов . ![]() |
|
Создано: 08 марта 2008 12:41 · Поправил: dosikus · Личное сообщение · #17 Строчки там действительно обязаны присутствовать , но не в зашифрованном виде а в что ни наесть обыкновенном. Для формирования букв и цифр на этом жки необходим знакогенератор , битовое(растровое ) отображение этих самых символов. Но и это не самое главное, самое трудное с чем столкнется товарищ это работа с MMC и даже не на "железном", самом низком уровне .Там реализована fat32 . Но и это победимо , на форуме компилятора есть примеры работы с этой MMC. Многие говорят что есть масса исходников этих самых плееров , но все они под AVR а это далеко не одно и то же. ![]() |
|
Создано: 09 марта 2008 12:06 · Личное сообщение · #18 dosikus пишет: Там нет шифрованых строк и мплаб это не компилятор а иде . И для того чтоб загрузить хекс пиковское и начать отладку ему все равно нужна отладочная информация. Про MPLAB спорить не буду - я его не видел и говорю с чужих слов. Но в Keil прекрасно грузятся бинарки и HEX, и даже в Visual Studio грузятся экзешки без отладочной инфы и отлаживаются. В ссылке, которую я привел, это же самое утверждается для MPLAB - не вижу причины не верить. У Keil кстати есть плугин для Протеус или наоборот, вот только про PIC я не в курсе - платы с отладчиком под PIC18 Keil продает, но есть ли Keil IDE под PIC - не знаю. ![]() |
|
Создано: 09 марта 2008 20:38 · Личное сообщение · #19 По ссылке что ты дал написано тоже самое что написал я в первом посте . КАК ПОЛУЧИТЬ АСМ ИЗ ХЕКС. Ничего про отладку там нет ... И надо не предполагать а знать , если ты не работал с программами не надо человека грузить... Повторю хекс грузиться и в мплаб и в протеус ( про кейл не надо здесь ничего писать ) но работать ты с ним не сможешь... ![]() |
![]() |
eXeL@B —› Программирование —› из HEX в C |