Перевод из assembler в язык СИ
Перевод из assembler в язык СИ
Добрый день!
Возможно есть специалисты знающие язык ассемблер, в идеале перенести код в СИ для последующей доработки и отладки на Arduino, но это в идеале, на это я не рассчитываю, многие говорят что проще написать с нуля, чем разбирается с уже написанным, но мне это не под силу, я не силён в программировании, а найти энтузиастов пока не получается.
Поэтому прошу помочь разобрать по полочкам исходник, для попытки воплощения аналога на Arduino. Вот ссылка на исходник. там есть вся история разработки, начиная с самой первой версии, возможно будет проще отслеживать изменения и решения автора.
Первая задача стоит в том чтоб ГУ увидело устройство. Для отладки всё есть, макет, Ардуинка и ГУ. Изначально собирал всё под PIC но с Асемблером вообще беда, никто его не знает, а вот с СИ проблем нет.
Возможно есть специалисты знающие язык ассемблер, в идеале перенести код в СИ для последующей доработки и отладки на Arduino, но это в идеале, на это я не рассчитываю, многие говорят что проще написать с нуля, чем разбирается с уже написанным, но мне это не под силу, я не силён в программировании, а найти энтузиастов пока не получается.
Поэтому прошу помочь разобрать по полочкам исходник, для попытки воплощения аналога на Arduino. Вот ссылка на исходник. там есть вся история разработки, начиная с самой первой версии, возможно будет проще отслеживать изменения и решения автора.
Первая задача стоит в том чтоб ГУ увидело устройство. Для отладки всё есть, макет, Ардуинка и ГУ. Изначально собирал всё под PIC но с Асемблером вообще беда, никто его не знает, а вот с СИ проблем нет.
-
driver_gv
- Потрогал лапой паяльник
- Сообщения: 399
- Зарегистрирован: Сб авг 08, 2009 23:02:57
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Перевод из assembler в язык СИ
Добрый день.
Знаю ассемблер и Си для PIC
Могу переписать для PIC на MPLAB X - ХС8
Также MPLAB X - ХС8 может компилировать для AVR
В Ардуинах не силен.
Знаю ассемблер и Си для PIC
Могу переписать для PIC на MPLAB X - ХС8
Также MPLAB X - ХС8 может компилировать для AVR
В Ардуинах не силен.
__________________
Все, что нельзя запрограммировать на ассемблере, приходится паять
Все, что нельзя запрограммировать на ассемблере, приходится паять
-
smart_pic
- Встал на лапы
- Сообщения: 132
- Зарегистрирован: Ср фев 11, 2015 19:16:32
- Контактная информация:
Re: Перевод из assembler в язык СИ
Переводить из НЕХ в ASM , потом сидеть разбираться с алгоритмом - еще то занятие.
А автору написать не вариант?
Может лучше алгоритм обмена найти и по нему сделать отладчик ?
А автору написать не вариант?
Может лучше алгоритм обмена найти и по нему сделать отладчик ?
Re: Перевод из assembler в язык СИ
Спасибо всем откликнувшимся, как я понимаю программа уже написана, и лежит в исходниках .ASM из HEX переводить не нужно, нужно понять что там за алгоритмы, и попробовать реализовать аналогичное под Ардуино
Вот ссылка на архивы исходника, от первой версии до последней...
Вот ссылка на архивы исходника, от первой версии до последней...
-
smart_pic
- Встал на лапы
- Сообщения: 132
- Зарегистрирован: Ср фев 11, 2015 19:16:32
- Контактная информация:
Re: Перевод из assembler в язык СИ
Разместите в теме исходники и все необходимое , а копать и рыться - нет желания.
Re: Перевод из assembler в язык СИ
[uquote="driver_gv",url="/forum/viewtopic.php?p=4368022#p4368022"]Добрый день.
Знаю ассемблер и Си для PIC
Могу переписать для PIC на MPLAB X - ХС8
Также MPLAB X - ХС8 может компилировать для AVR
В Ардуинах не силен.[/uquote]
Можешь посмотреть что лежит в исходнике .ASM вся программа целиком написана?
Вот немного информации по протоколу + архив ниже
Добавлено after 19 minutes 43 seconds:
итоговая задача законченного устройства, это с магнитолы управлять музыкой на телефоне по Bluetooth, есть вот такой Bluetooth модуль с дискретными входами (фото ниже)
в исходники была схожая задача, но управлялось ПК через ком порт, мне же по по факту нужны дискретные выхода по нужным командам...
Знаю ассемблер и Си для PIC
Могу переписать для PIC на MPLAB X - ХС8
Также MPLAB X - ХС8 может компилировать для AVR
В Ардуинах не силен.[/uquote]
Можешь посмотреть что лежит в исходнике .ASM вся программа целиком написана?
Вот немного информации по протоколу + архив ниже
Добавлено after 19 minutes 43 seconds:
итоговая задача законченного устройства, это с магнитолы управлять музыкой на телефоне по Bluetooth, есть вот такой Bluetooth модуль с дискретными входами (фото ниже)
в исходники была схожая задача, но управлялось ПК через ком порт, мне же по по факту нужны дискретные выхода по нужным командам...
- Вложения
-
- Bluetooth.jpg
- (151.4 КБ) 87 скачиваний
-
- GNUnilink-1.8.zip
- Исходник
- (37.89 КБ) 98 скачиваний
-
- www.zip
- По протоколу
- (60.06 КБ) 103 скачивания
-
driver_gv
- Потрогал лапой паяльник
- Сообщения: 399
- Зарегистрирован: Сб авг 08, 2009 23:02:57
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Перевод из assembler в язык СИ
Посмотрел, работы много. Но все можно сделать. Если вам для себя любимого - забудьте. Если вам продать от 200 штук то выйдете на ноль из за стоимости разработки.
__________________
Все, что нельзя запрограммировать на ассемблере, приходится паять
Все, что нельзя запрограммировать на ассемблере, приходится паять
-
smart_pic
- Встал на лапы
- Сообщения: 132
- Зарегистрирован: Ср фев 11, 2015 19:16:32
- Контактная информация:
Re: Перевод из assembler в язык СИ
[uquote="driver_gv",url="/forum/viewtopic.php?p=4368281#p4368281"]Но все можно сделать. Если вам для себя любимого - забудьте.[/uquote]
Сделать можно, но чтоб отладиться и потом описать весь протокол что бы переносить на любую платформу - так это нужна магнитола и комплект того с чего и чем управлять .
Если это конечно не тюнинг БМП (не путать с BMW) - то и на единичном экземпляре можно быть в профите
. кому интересно посмотрите тюниг этой техники.
А для себя любимого , проще сменить комплект аппаратуры. С блютуза не все так просто управлять . Если стандартные команды - то да с андроида почти все плеера шлют стандартный набор команд, а так же понимают основные команды приходящие от системы. А дальше уже приложение писать надо , потом версии поддерживать. А там начнут китайские иероглифы по блютузу гулять ... с ними бороться. есть небольшой опыт в этом направлении.
Сделать можно, но чтоб отладиться и потом описать весь протокол что бы переносить на любую платформу - так это нужна магнитола и комплект того с чего и чем управлять .
Если это конечно не тюнинг БМП (не путать с BMW) - то и на единичном экземпляре можно быть в профите
А для себя любимого , проще сменить комплект аппаратуры. С блютуза не все так просто управлять . Если стандартные команды - то да с андроида почти все плеера шлют стандартный набор команд, а так же понимают основные команды приходящие от системы. А дальше уже приложение писать надо , потом версии поддерживать. А там начнут китайские иероглифы по блютузу гулять ... с ними бороться. есть небольшой опыт в этом направлении.
Re: Перевод из assembler в язык СИ
Я наверно не с того начал, сейчас попробую разложить всё по полочкам.
Задача:
- эмулировать CD/MD устройство, чтоб ГУ увидела дивайс,
- в дискретном виде отдавать команды управления с ГУ ("следующий трек", "предыдущий трек", "следующая папка", "предыдущая папка" вывести их на отдельные выходы, чтоб при поступлении данной команды появлялась логическая 1, с "плей" и "паузой" тоже самое, только там один выход но разные задержки).
ГУ есть (менять не вариант, отсюда и заморочки), собран и подключён к магнитоле макет (фото 1 и schematic_v2), на шинах DATA и CLK наблюдаю импульсы, BUSON это логическая "1" при включении ГУ, чтоб разбудить устройство. Также есть Bluetooth модуль (фото 2).
Схематически я свяжу макет и модуль Bluetooth (главное получить нужные сигналу). Аудиосигнал в аналоге будет идти с Bluetooth модуля на вход ГУ.
Макет собирал под PIC16F648A (он тоже есть в наличии) но столкнулся с тем что язык Ассемблер никто из знакомых не знает и поправить исходник под мои задачи не может, поэтому и озадачился переводом в Си, как я понимаю это проблема. Можно подправить вышеупомянутые исходники под мои задачи скомпилировать HEX под PIC16F648A, этого будет достаточно для меня.
Просто хотел всё обкатать на Arduino, возможно ещё решить какие-нибудь задачи, например передавать название трека (протокол это позволяет) но тогда наверное надо использовать другой Bluetooth модуль, я ещё не изучал возможности QCC3031, но это уже лирика, есть знакомые готовые помочь допилить на языке Си под Arduino.
В исходниках есть хронология версий, возможно какая-то промежуточная уже содержит всё необходимое (разложенный протокол), без управления по СОМ порту, её и надо брать за основу.
Задача:
- эмулировать CD/MD устройство, чтоб ГУ увидела дивайс,
- в дискретном виде отдавать команды управления с ГУ ("следующий трек", "предыдущий трек", "следующая папка", "предыдущая папка" вывести их на отдельные выходы, чтоб при поступлении данной команды появлялась логическая 1, с "плей" и "паузой" тоже самое, только там один выход но разные задержки).
ГУ есть (менять не вариант, отсюда и заморочки), собран и подключён к магнитоле макет (фото 1 и schematic_v2), на шинах DATA и CLK наблюдаю импульсы, BUSON это логическая "1" при включении ГУ, чтоб разбудить устройство. Также есть Bluetooth модуль (фото 2).
Схематически я свяжу макет и модуль Bluetooth (главное получить нужные сигналу). Аудиосигнал в аналоге будет идти с Bluetooth модуля на вход ГУ.
Макет собирал под PIC16F648A (он тоже есть в наличии) но столкнулся с тем что язык Ассемблер никто из знакомых не знает и поправить исходник под мои задачи не может, поэтому и озадачился переводом в Си, как я понимаю это проблема. Можно подправить вышеупомянутые исходники под мои задачи скомпилировать HEX под PIC16F648A, этого будет достаточно для меня.
Просто хотел всё обкатать на Arduino, возможно ещё решить какие-нибудь задачи, например передавать название трека (протокол это позволяет) но тогда наверное надо использовать другой Bluetooth модуль, я ещё не изучал возможности QCC3031, но это уже лирика, есть знакомые готовые помочь допилить на языке Си под Arduino.
В исходниках есть хронология версий, возможно какая-то промежуточная уже содержит всё необходимое (разложенный протокол), без управления по СОМ порту, её и надо брать за основу.
- Вложения
-
- Bluetooth.jpg
- (151.4 КБ) 79 скачиваний
-
- schematic_v2.pdf
- (17.78 КБ) 94 скачивания
-
- фото 1.jpg
- (243.56 КБ) 81 скачивание
-
smart_pic
- Встал на лапы
- Сообщения: 132
- Зарегистрирован: Ср фев 11, 2015 19:16:32
- Контактная информация:
Re: Перевод из assembler в язык СИ
[uquote="bes_com",url="/forum/viewtopic.php?p=4368827#p4368827"]Макет собирал под PIC16F648A (он тоже есть в наличии) но столкнулся с тем что язык Ассемблер никто из знакомых не знает и поправить исходник под мои задачи не может, поэтому и озадачился переводом в Си, как я понимаю это проблема. Можно подправить вышеупомянутые исходники под мои задачи скомпилировать HEX под PIC16F648A, этого будет достаточно для меня.[/uquote]
Вы представляете во что выливается задача изменения исходников , похоже что нет,
По факту придется раз надцать править компилить , заливать прошивку в проц, смотреть лог анализатором обмен, вникать в протокол, потом описывать все это чтоб другим было понятно.
ASM для пиков хорошо знаю , как раз для 16 и 18 серии , для 32 серии уже СИ.
Вот два примера , как описывал другие протоколы чтоб было понятно. Вот тоже самое нужно сделать и с вашим протоколом и ГУ.
Реверс-инжиниринг протокола записи адресов микросхемы UCS512 https://habr.com/ru/post/678546/
О Multi-Drop Bus замолвите слово или торговый автомат по розливу воды с управлением по MDB https://habr.com/ru/post/704646/
Вы представляете во что выливается задача изменения исходников , похоже что нет,
По факту придется раз надцать править компилить , заливать прошивку в проц, смотреть лог анализатором обмен, вникать в протокол, потом описывать все это чтоб другим было понятно.
ASM для пиков хорошо знаю , как раз для 16 и 18 серии , для 32 серии уже СИ.
Вот два примера , как описывал другие протоколы чтоб было понятно. Вот тоже самое нужно сделать и с вашим протоколом и ГУ.
Реверс-инжиниринг протокола записи адресов микросхемы UCS512 https://habr.com/ru/post/678546/
О Multi-Drop Bus замолвите слово или торговый автомат по розливу воды с управлением по MDB https://habr.com/ru/post/704646/
Re: Перевод из assembler в язык СИ
а разве здесь не описан протокол?
-
smart_pic
- Встал на лапы
- Сообщения: 132
- Зарегистрирован: Ср фев 11, 2015 19:16:32
- Контактная информация:
Re: Перевод из assembler в язык СИ
[uquote="bes_com",url="/forum/viewtopic.php?p=4368893#p4368893"]а разве здесь не описан протокол?[/uquote]
НЕТ.
Там описан протокол SONY для камер, он достаточно известен. Применяем его для управления камерами в конференц залах.
А дальше описан протокол межблочного соединения, когда главное устройство принимает ИК команды и затем транслирует их дальше на другие устройства. Это сделано для того чтоб иметь один пульт , один ИК приемник , но иметь возможность управлять всей системой.
Там протокол - это те же ИК посылки , только без несущей 40кГц. и все тот же протокол RC5 для ИК управления. Но он без обратной связи . Только в одну сторону. И это используем для управления оборудованием в конференц залах.
А обратная связь уже идет по другим своим проприетарным протоколам .
Если бы все было просто - то в ардуино уже была бы библиотека
НЕТ.
Там описан протокол SONY для камер, он достаточно известен. Применяем его для управления камерами в конференц залах.
А дальше описан протокол межблочного соединения, когда главное устройство принимает ИК команды и затем транслирует их дальше на другие устройства. Это сделано для того чтоб иметь один пульт , один ИК приемник , но иметь возможность управлять всей системой.
Там протокол - это те же ИК посылки , только без несущей 40кГц. и все тот же протокол RC5 для ИК управления. Но он без обратной связи . Только в одну сторону. И это используем для управления оборудованием в конференц залах.
А обратная связь уже идет по другим своим проприетарным протоколам .
Если бы все было просто - то в ардуино уже была бы библиотека
-
smart_pic
- Встал на лапы
- Сообщения: 132
- Зарегистрирован: Ср фев 11, 2015 19:16:32
- Контактная информация:
Re: Перевод из assembler в язык СИ
Возможно, но без объяснения что к чему и почему видим такую картину - все это бесполезный цифровой мусор.
Тут два варианта , и о них уже писали выше. Либо вы сами собираете всю инфу и делаете это сами, либо отдавать весь комплект ГУ и чем управлять , ставите нормально задачу обсуждается бюджет и затраты и получаете готовый результат.
может быть еще гибридный вариант , когда вы все на своем месте измеряете , дистанционно показываете , в реал тайм все отлаживается с другим специалистом, но это не быстро , сложнее и т.д.
p.s. смотрел исходники , все относительно понятно , но нужно реальное железо что бы убедиться в правильности выводов . Зарисовать зафиксировать обмен , дать пояснения как реализовывать на других платформах.
А тетя SONY не будет против?
Тут два варианта , и о них уже писали выше. Либо вы сами собираете всю инфу и делаете это сами, либо отдавать весь комплект ГУ и чем управлять , ставите нормально задачу обсуждается бюджет и затраты и получаете готовый результат.
может быть еще гибридный вариант , когда вы все на своем месте измеряете , дистанционно показываете , в реал тайм все отлаживается с другим специалистом, но это не быстро , сложнее и т.д.
p.s. смотрел исходники , все относительно понятно , но нужно реальное железо что бы убедиться в правильности выводов . Зарисовать зафиксировать обмен , дать пояснения как реализовывать на других платформах.
А тетя SONY не будет против?
Re: Перевод из assembler в язык СИ
если ей не рассказывать то думаю она и не узнает, тем более у нас сейчас с ней отношения не очень...smart_pic писал(а):А тетя SONY не будет против?
Так я понял, беру творческую паузу, попробую ещё почитать интернет.
Кто сможет скомпилировать 1.8 версию под PIC16F648A и кинуть мне HEX под него, хочу проверить увидит его ГУ или нет, или подскажите в какой программе написан этот проект?
-
smart_pic
- Встал на лапы
- Сообщения: 132
- Зарегистрирован: Ср фев 11, 2015 19:16:32
- Контактная информация:
Re: Перевод из assembler в язык СИ
[uquote="bes_com",url="/forum/viewtopic.php?p=4369802#p4369802"]Кто сможет скомпилировать 1.8 версию под PIC16F648A и кинуть мне HEX под него, хочу проверить увидит его ГУ или нет, или подскажите в какой программе написан этот проект?[/uquote]
MPLAB подойдет .
Посмотрел , для pic16f827 компилится без ошибок в MPLAB, В проекте зависимости от процессоров прописаны . А вашего pic16f648A нет в конфигурационных настройках . Надо покопаться чтоб посмотреть где зависимый от проца код.
В личку напишите контакты.
MPLAB подойдет .
Посмотрел , для pic16f827 компилится без ошибок в MPLAB, В проекте зависимости от процессоров прописаны . А вашего pic16f648A нет в конфигурационных настройках . Надо покопаться чтоб посмотреть где зависимый от проца код.
В личку напишите контакты.
Re: Перевод из assembler в язык СИ
Спасибо за обратную связь..
вот наверное всё что есть, про этот протокол Sony UniLink (Sony Bus)
Добавлено after 26 minutes 17 seconds:
Кстати Reverse engineering был сделан китайцами, продаётся на ebay
Добавлено after 47 minutes 58 seconds:
вот ещё статейка на ATmega8
вот наверное всё что есть, про этот протокол Sony UniLink (Sony Bus)
Добавлено after 26 minutes 17 seconds:
Кстати Reverse engineering был сделан китайцами, продаётся на ebay
Добавлено after 47 minutes 58 seconds:
вот ещё статейка на ATmega8
-
smart_pic
- Встал на лапы
- Сообщения: 132
- Зарегистрирован: Ср фев 11, 2015 19:16:32
- Контактная информация:
Re: Перевод из assembler в язык СИ
Скомпилил по 16F648A
- Вложения
-
- GNUnilink.zip
- (1.96 КБ) 91 скачивание
Re: Перевод из assembler в язык СИ
Всем привет, если тут есть спецы по AVR, подскажите в каком софте написан данный код
Добавлено after 1 minute 45 seconds:
кстати, вот ещё статья по описанию протокола Sony Unilink
Добавлено after 1 minute 45 seconds:
кстати, вот ещё статья по описанию протокола Sony Unilink
- Вложения
-
- AVR-Unilink_v2.05.zip
- (120.46 КБ) 104 скачивания
Re: Перевод из assembler в язык СИ
bes_com, использованы AvrStudio 4 и WinAVR (GCC) 3.4.1
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com