Перевод из assembler в язык СИ

Уборка сахарного тростника. Сезонная. Пайка кастрюль. Сдельная. Предложения работы.
Аватара пользователя
bes_com
Родился
Сообщения: 10
Зарегистрирован: Пн фев 06, 2023 23:04:09

Перевод из assembler в язык СИ

Сообщение bes_com »

Добрый день!
Возможно есть специалисты знающие язык ассемблер, в идеале перенести код в СИ для последующей доработки и отладки на Arduino, но это в идеале, на это я не рассчитываю, многие говорят что проще написать с нуля, чем разбирается с уже написанным, но мне это не под силу, я не силён в программировании, а найти энтузиастов пока не получается.

Поэтому прошу помочь разобрать по полочкам исходник, для попытки воплощения аналога на Arduino. Вот ссылка на исходник. там есть вся история разработки, начиная с самой первой версии, возможно будет проще отслеживать изменения и решения автора.

Первая задача стоит в том чтоб ГУ увидело устройство. Для отладки всё есть, макет, Ардуинка и ГУ. Изначально собирал всё под PIC но с Асемблером вообще беда, никто его не знает, а вот с СИ проблем нет.
schematic_v2.pdf
Схема
(17.78 КБ) 210 скачиваний
IMG_20230207_000212.jpg
Макет
(243.56 КБ) 152 скачивания
driver_gv
Потрогал лапой паяльник
Сообщения: 399
Зарегистрирован: Сб авг 08, 2009 23:02:57
Откуда: Ростов-на-Дону
Контактная информация:

Re: Перевод из assembler в язык СИ

Сообщение driver_gv »

Добрый день.

Знаю ассемблер и Си для PIC
Могу переписать для PIC на MPLAB X - ХС8
Также MPLAB X - ХС8 может компилировать для AVR
В Ардуинах не силен.
__________________
Все, что нельзя запрограммировать на ассемблере, приходится паять
smart_pic
Встал на лапы
Сообщения: 132
Зарегистрирован: Ср фев 11, 2015 19:16:32
Контактная информация:

Re: Перевод из assembler в язык СИ

Сообщение smart_pic »

Переводить из НЕХ в ASM , потом сидеть разбираться с алгоритмом - еще то занятие.
А автору написать не вариант?
Может лучше алгоритм обмена найти и по нему сделать отладчик ?
Аватара пользователя
bes_com
Родился
Сообщения: 10
Зарегистрирован: Пн фев 06, 2023 23:04:09

Re: Перевод из assembler в язык СИ

Сообщение bes_com »

Спасибо всем откликнувшимся, как я понимаю программа уже написана, и лежит в исходниках .ASM из HEX переводить не нужно, нужно понять что там за алгоритмы, и попробовать реализовать аналогичное под Ардуино

Вот ссылка на архивы исходника, от первой версии до последней...
smart_pic
Встал на лапы
Сообщения: 132
Зарегистрирован: Ср фев 11, 2015 19:16:32
Контактная информация:

Re: Перевод из assembler в язык СИ

Сообщение smart_pic »

Разместите в теме исходники и все необходимое , а копать и рыться - нет желания.
Аватара пользователя
bes_com
Родился
Сообщения: 10
Зарегистрирован: Пн фев 06, 2023 23:04:09

Re: Перевод из assembler в язык СИ

Сообщение bes_com »

[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 модуль с дискретными входами (фото ниже)

в исходники была схожая задача, но управлялось ПК через ком порт, мне же по по факту нужны дискретные выхода по нужным командам...
Вложения
Bluetooth.jpg
(151.4 КБ) 86 скачиваний
GNUnilink-1.8.zip
Исходник
(37.89 КБ) 98 скачиваний
www.zip
По протоколу
(60.06 КБ) 102 скачивания
driver_gv
Потрогал лапой паяльник
Сообщения: 399
Зарегистрирован: Сб авг 08, 2009 23:02:57
Откуда: Ростов-на-Дону
Контактная информация:

Re: Перевод из assembler в язык СИ

Сообщение driver_gv »

Посмотрел, работы много. Но все можно сделать. Если вам для себя любимого - забудьте. Если вам продать от 200 штук то выйдете на ноль из за стоимости разработки.
__________________
Все, что нельзя запрограммировать на ассемблере, приходится паять
smart_pic
Встал на лапы
Сообщения: 132
Зарегистрирован: Ср фев 11, 2015 19:16:32
Контактная информация:

Re: Перевод из assembler в язык СИ

Сообщение smart_pic »

[uquote="driver_gv",url="/forum/viewtopic.php?p=4368281#p4368281"]Но все можно сделать. Если вам для себя любимого - забудьте.[/uquote]
Сделать можно, но чтоб отладиться и потом описать весь протокол что бы переносить на любую платформу - так это нужна магнитола и комплект того с чего и чем управлять .
Если это конечно не тюнинг БМП (не путать с BMW) - то и на единичном экземпляре можно быть в профите :). кому интересно посмотрите тюниг этой техники.
А для себя любимого , проще сменить комплект аппаратуры. С блютуза не все так просто управлять . Если стандартные команды - то да с андроида почти все плеера шлют стандартный набор команд, а так же понимают основные команды приходящие от системы. А дальше уже приложение писать надо , потом версии поддерживать. А там начнут китайские иероглифы по блютузу гулять ... с ними бороться. есть небольшой опыт в этом направлении.
Аватара пользователя
bes_com
Родился
Сообщения: 10
Зарегистрирован: Пн фев 06, 2023 23:04:09

Re: Перевод из assembler в язык СИ

Сообщение bes_com »

Я наверно не с того начал, сейчас попробую разложить всё по полочкам.

Задача:
- эмулировать 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 КБ) 78 скачиваний
schematic_v2.pdf
(17.78 КБ) 93 скачивания
фото 1.jpg
(243.56 КБ) 80 скачиваний
smart_pic
Встал на лапы
Сообщения: 132
Зарегистрирован: Ср фев 11, 2015 19:16:32
Контактная информация:

Re: Перевод из assembler в язык СИ

Сообщение smart_pic »

[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/
Аватара пользователя
bes_com
Родился
Сообщения: 10
Зарегистрирован: Пн фев 06, 2023 23:04:09

Re: Перевод из assembler в язык СИ

Сообщение bes_com »

а разве здесь не описан протокол?
smart_pic
Встал на лапы
Сообщения: 132
Зарегистрирован: Ср фев 11, 2015 19:16:32
Контактная информация:

Re: Перевод из assembler в язык СИ

Сообщение smart_pic »

[uquote="bes_com",url="/forum/viewtopic.php?p=4368893#p4368893"]а разве здесь не описан протокол?[/uquote]
НЕТ.
Там описан протокол SONY для камер, он достаточно известен. Применяем его для управления камерами в конференц залах.
А дальше описан протокол межблочного соединения, когда главное устройство принимает ИК команды и затем транслирует их дальше на другие устройства. Это сделано для того чтоб иметь один пульт , один ИК приемник , но иметь возможность управлять всей системой.
Там протокол - это те же ИК посылки , только без несущей 40кГц. и все тот же протокол RC5 для ИК управления. Но он без обратной связи . Только в одну сторону. И это используем для управления оборудованием в конференц залах.
А обратная связь уже идет по другим своим проприетарным протоколам .
Если бы все было просто - то в ардуино уже была бы библиотека :)
Аватара пользователя
bes_com
Родился
Сообщения: 10
Зарегистрирован: Пн фев 06, 2023 23:04:09

Re: Перевод из assembler в язык СИ

Сообщение bes_com »

а вот в этом архиве?
Вложения
www.zip
(60.06 КБ) 99 скачиваний
smart_pic
Встал на лапы
Сообщения: 132
Зарегистрирован: Ср фев 11, 2015 19:16:32
Контактная информация:

Re: Перевод из assembler в язык СИ

Сообщение smart_pic »

Возможно, но без объяснения что к чему и почему видим такую картину - все это бесполезный цифровой мусор.
Тут два варианта , и о них уже писали выше. Либо вы сами собираете всю инфу и делаете это сами, либо отдавать весь комплект ГУ и чем управлять , ставите нормально задачу обсуждается бюджет и затраты и получаете готовый результат.

может быть еще гибридный вариант , когда вы все на своем месте измеряете , дистанционно показываете , в реал тайм все отлаживается с другим специалистом, но это не быстро , сложнее и т.д.

p.s. смотрел исходники , все относительно понятно , но нужно реальное железо что бы убедиться в правильности выводов . Зарисовать зафиксировать обмен , дать пояснения как реализовывать на других платформах.
А тетя SONY не будет против? :)
Аватара пользователя
bes_com
Родился
Сообщения: 10
Зарегистрирован: Пн фев 06, 2023 23:04:09

Re: Перевод из assembler в язык СИ

Сообщение bes_com »

smart_pic писал(а):А тетя SONY не будет против?
если ей не рассказывать то думаю она и не узнает, тем более у нас сейчас с ней отношения не очень...

Так я понял, беру творческую паузу, попробую ещё почитать интернет.

Кто сможет скомпилировать 1.8 версию под PIC16F648A и кинуть мне HEX под него, хочу проверить увидит его ГУ или нет, или подскажите в какой программе написан этот проект?
smart_pic
Встал на лапы
Сообщения: 132
Зарегистрирован: Ср фев 11, 2015 19:16:32
Контактная информация:

Re: Перевод из assembler в язык СИ

Сообщение smart_pic »

[uquote="bes_com",url="/forum/viewtopic.php?p=4369802#p4369802"]Кто сможет скомпилировать 1.8 версию под PIC16F648A и кинуть мне HEX под него, хочу проверить увидит его ГУ или нет, или подскажите в какой программе написан этот проект?[/uquote]
MPLAB подойдет .

Посмотрел , для pic16f827 компилится без ошибок в MPLAB, В проекте зависимости от процессоров прописаны . А вашего pic16f648A нет в конфигурационных настройках . Надо покопаться чтоб посмотреть где зависимый от проца код.
В личку напишите контакты.
Аватара пользователя
bes_com
Родился
Сообщения: 10
Зарегистрирован: Пн фев 06, 2023 23:04:09

Re: Перевод из assembler в язык СИ

Сообщение bes_com »

Спасибо за обратную связь..

вот наверное всё что есть, про этот протокол 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 в язык СИ

Сообщение smart_pic »

Скомпилил по 16F648A
Вложения
GNUnilink.zip
(1.96 КБ) 91 скачивание
Аватара пользователя
bes_com
Родился
Сообщения: 10
Зарегистрирован: Пн фев 06, 2023 23:04:09

Re: Перевод из assembler в язык СИ

Сообщение bes_com »

Всем привет, если тут есть спецы по AVR, подскажите в каком софте написан данный код

Добавлено after 1 minute 45 seconds:
кстати, вот ещё статья по описанию протокола Sony Unilink
Вложения
AVR-Unilink_v2.05.zip
(120.46 КБ) 103 скачивания
Аватара пользователя
smacorp
Друг Кота
Сообщения: 3473
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Re: Перевод из assembler в язык СИ

Сообщение smacorp »

bes_com, использованы AvrStudio 4 и WinAVR (GCC) 3.4.1
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Ответить

Вернуться в «Есть работа»