|
|
  |
Переконвертить с AVR C на ASM, Нужен конвертор с AVR C на ASM |
|
|
|
Apr 21 2008, 11:01
|

Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596

|
Цитата(Непомнящий Евгений @ Apr 21 2008, 15:15)  а все-ж таки: вариант найти книжку по С, потратить на нее пару дней и разобраться в С-сорце не рассматривается? Потом всё равно на асме писать придётся... у меня мало свободных регистров... (под USB заняты)
--------------------
|
|
|
|
|
Apr 22 2008, 04:15
|

Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596

|
Цитата(prottoss @ Apr 21 2008, 16:38)   Если освоите Си о регистрах думать придется на порядок меньше времени.... А может вообще не придется Во во т.к. система ВООБЩЕ не запустится... И думать тут поэтому нечего... (ответственный куски отвечающие за USB даже в исходниках на СИ на асме созданы по той простой причине что алгоритм должен быть по тактам рассчитан...) Цитата(GDI @ Apr 21 2008, 17:23)  Вот тут посмотрите, тоже драйвер USB только сделан так что его можно прицепить к проекту на Си, бесплатен если открываете свой код, используют они WinAVR который тоже бесплатен. Да одно но он не совместим с имеющимся программным обеспечением сторонних производителей... (я имею в виду программы управления компом рассчитанные на IgorPlug) Да кстати я видел в енете попытку переписать проект IgorPlug на С... USBTiny назывался... USB там работал, но с измерениями производительности не хватило... Даже неприхотливый SlayContrl с оригинальным программным модулем под IgorPlug отказывался с ним работать... (мы этот модуль потом переписали под тормознутый сишный USBTiny) Цитата А получить алгоритм из ассемблерного листинга, полученного после хорошего компилятора Си, да еще с включенной максимальной оптимизацией : такой работенки я даже врагу не пожелаю... Как я давно уже понял если нужна максимальная производительность и оптимальный код писать надо ручками, а не корявыми компиляторами... Ладно отвлеклись от темы... Вопрос остаётся в силе как из C выдрать алгоритм в автомате? Дело не в том что мне лень, но ковырять исходник неделю не зная о существовании (в теории предположим что он существует) готового модуля который бы сделал это за минут 5 по-моему глупо... поэтому и решил сначала спросить
--------------------
|
|
|
|
|
Apr 22 2008, 04:38
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата Вопрос остаётся в силе как из C выдрать алгоритм в автомате? Встречный вопрос: А что вы подразумеваете под алгоритмом? В каком именно виде вы хотите его получить? PS Насчет корявых компиляторов - вы имхо загнули...
|
|
|
|
|
Apr 22 2008, 04:47
|

Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596

|
Цитата(Непомнящий Евгений @ Apr 22 2008, 09:38)  Встречный вопрос: А что вы подразумеваете под алгоритмом? В каком именно виде вы хотите его получить? Дано - клавиатура с неизвестным протоколомМетод мозгового штурма ничего не дал... есть 3 набора данных - при нажатии удержании и отпускании... в комп передавать нельзя... теряются данные пришедшие во время передачи в комп... при удержании кнопки несколько кнопок дают один и тот же код... также рассчитано нажатие разом 2х и более кнопок... надо сидеть и ковыряться... но если удастся вытащить из исходника на С это упростит задачу... P.S: Я не прошу что бы кто либо это сделал за меня... просто думал что уже есть готовые софтины и велосипед по энному разу изобретать не надо... Цитата PS Насчет корявых компиляторов - вы имхо загнули... Реальный случай НЕ РАБОТАЕТ по причине нехватки быстродействия... и что я тут загнул?
Сообщение отредактировал QuickWitted - Apr 22 2008, 04:49
--------------------
|
|
|
|
|
Apr 22 2008, 05:05
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(QuickWitted @ Apr 22 2008, 08:47)  Дано - клавиатура с неизвестным протоколом ... но если удастся вытащить из исходника на С это упростит задачу... Т.е. вам нужна программа, которая скушает текст на С и выдаст что-то вроде: "Если нажата клавиша 1, то передается такой код, если клавиша 2 в течении 3 секунд - такой код ..." Вы серьезно полагаете, что такие программы существуют?  Как вариант, можно попытаться запустить эту программу на компе, смоделировать входные воздействия и записать результаты, но ИМХО, это потребует от вас как минимум знания С, чего вы хотите избежать... Цитата Реальный случай НЕ РАБОТАЕТ по причине нехватки быстродействия... и что я тут загнул? "Для написания программы XXX для процессора YYY я не могу использовать С в силу жестких требований по производительности..." Слово "корявый" тут явно лишнее...
|
|
|
|
|
Apr 22 2008, 05:31
|

Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596

|
Цитата(Непомнящий Евгений @ Apr 22 2008, 10:05)  Т.е. вам нужна программа, которая скушает текст на С и выдаст что-то вроде: "Если нажата клавиша 1, то передается такой код, если клавиша 2 в течении 3 секунд - такой код ..." Это не алгоритм это блок схема мне не блок схема нужна, а подробный алгоритм... (есно блок схему ни одна программа на автомате не сделает) в идеале как в алгоритм буилдере... а под алгоритмом понимается ------------------------------------------------------ алгори́тм — это точный набор инструкций, описывающих последовательность действий некоторого исполнителя для достижения результата, решения некоторой задачи за конечное время. АЛГОРИТМ – система правил, сформулированная на понятном исполнителю языке, которая определяет процесс перехода от допустимых исходных данных к некоторому результату и обладает свойствами массовости, конечности, определенности, детерминированности. ------------------------------------------------------ Цитата "Для написания программы XXX для процессора YYY я не могу использовать С в силу жестких требований по производительности..." Слово "корявый" тут явно лишнее... Любой язык верхнего уровня для АВР транслирует результат в ассемблерный код... А если при написании это кода ручками всё прекрасно работает причём с большим запасом  , а при трансляции НЕТ то такая трансляция как называется?  Ладно соглашусь - не оптимальной...
--------------------
|
|
|
|
|
Apr 22 2008, 05:42
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(QuickWitted @ Apr 22 2008, 09:31)  Это не алгоритм это блок схема мне не блок схема нужна, а подробный алгоритм... ... Вы не могли бы привести кратенький пример того, что хотите получить? (с алгоритм-билдером я не знаком). К примеру для программы Код void main() { DDRA = 255; for (int i = 0; i< 100; ++i) PORTA = i; while(1); } Цитата Любой язык верхнего уровня для АВР транслирует результат в ассемблерный код... А если при написании это кода ручками всё прекрасно работает причём с большим запасом  , а при трансляции НЕТ то такая трансляция как называется?  Ладно соглашусь - не оптимальной... Не оптимальной по какому критерию? По критерию быстродействия для программы YYY на процессоре XXX. А по другим критериям или на другом процессоре или на другой программе - возможно оптимальной... Я к тому, что если инструмент вам не подходит в вашем конкретном случае, не стоит называть его корявым или неоптимальным...
|
|
|
|
|
Apr 22 2008, 05:56
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(QuickWitted @ Apr 22 2008, 12:31)  Это не алгоритм это блок схема мне не блок схема нужна, а подробный алгоритм... (есно блок схему ни одна программа на автомате не сделает) в идеале как в алгоритм буилдере... а под алгоритмом понимается ------------------------------------------------------ алгори́тм — это точный набор инструкций, описывающих последовательность действий некоторого исполнителя для достижения результата, решения некоторой задачи за конечное время. АЛГОРИТМ – система правил, сформулированная на понятном исполнителю языке, которая определяет процесс перехода от допустимых исходных данных к некоторому результату и обладает свойствами массовости, конечности, определенности, детерминированности. ------------------------------------------------------ Любой язык верхнего уровня для АВР транслирует результат в ассемблерный код... А если при написании это кода ручками всё прекрасно работает причём с большим запасом  , а при трансляции НЕТ то такая трансляция как называется? Ладно соглашусь - не оптимальной... Блин, ну Вы так умом блещщщите, что мне бы, например, было бы стыдно на Вашем месте создавать такую тему в форуме К примеру я, если алгоритм особливо сложный, создаю его сам, обычно с помощью карандаша и листа бумаги, или, если уж совсем туго, ищу в СМИ(литература, интернет). Если алгоритм не особливо сложный, пытаюсь представить его в своей голове и переложить в код сразу в компиляторе. Я, для себя, вариантов больше не вижу. Вам, возможно стоит разыскать терминатора - он машина умная, все расскажет
--------------------
|
|
|
|
|
Apr 22 2008, 06:12
|

Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596

|
Цитата(prottoss @ Apr 22 2008, 10:56)  Блин, ну Вы так умом блещщщите, что мне бы, например, было бы стыдно на Вашем месте создавать такую тему в форуме  Стыдно потратить неделю на изобретение велосипеда по не знанию... Ладно делаю общий вывод: 1) Народ программы для построения алгоритмов на основе СИ кода не знает. (т.е. если она и есть то не распространенна) (я сам видел такую для дельфи и паскалей - в упор не помню как называется) 2) Как перекинуть код с СИ на асм в готовом к компилированию виде с сохранением исходного текста в качестве комментариев тоже пока никто не знает. (то что в файле *.lst не годится для компиляции на асме в автомате без изменений) Вывод - ТЕМА ЗАКРЫТА
Сообщение отредактировал QuickWitted - Apr 22 2008, 06:14
--------------------
|
|
|
|
|
Apr 22 2008, 07:36
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(QuickWitted @ Apr 22 2008, 10:12)  Стыдно потратить неделю на изобретение велосипеда по не знанию...
Ладно делаю общий вывод: 1) Народ программы для построения алгоритмов на основе СИ кода не знает. С программа уже и есть алгоритм  Цитата (т.е. если она и есть то не распространенна) Едут 2 ковбоя по прерии, вдруг на обочине дороги зашевелились кусты. Один ковбой хватается за пистолет. Второй - Не беспокойся, это неуловимый Джо! - А что, его так трудно поймать? - Нет, просто он никому не нужен. Так вот, такая программа - это тот самый неуловимый Джо Цитата (я сам видел такую для дельфи и паскалей - в упор не помню как называется) И что она выдаст для программы тысяч на 10 строк? А программу на 100 строк проще понять по тексту. Цитата 2) Как перекинуть код с СИ на асм в готовом к компилированию виде с сохранением исходного текста в качестве комментариев тоже пока никто не знает. Сто раз уже говорили, ключ -s выдаст ассемблер, вполне готовый к компиляции Цитата (то что в файле *.lst не годится для компиляции на асме в автомате без изменений) Разничу между листингом (.lst) и ассемблером (.s) надо объяснять? А может вы не там спрашиваете - получать из C программы Ассемблер, что бы разобраться с алгоритмом - это занятие для настоящих мазохистов  Там и надо искать, а здесь люди предпочитают работать, а не создавать себе трудности, которые потом героически преодолевают PS. Если программа на C небольшая, то бросили бы ее сюда вместе с вопросами, на которые хотите получить ответы - это будет быстрее, чем поиск мифических конверторов с С на Асм.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|