Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нужно подправить програмку
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Igor535
Приветствую. Может ламерский вопрос - возможно ли как то подправить программу имея только файл HEX? Человек который писал ее к сожалению не доступен а в процессе выявился один небольшой баг.
kovigor
Цитата(Igor535 @ Aug 23 2013, 00:34) *
Приветствую. Может ламерский вопрос - возможно ли как то подправить программу имея только файл HEX? Человек который писал ее к сожалению не доступен а в процессе выявился один небольшой баг.

Теоретически - да, для этого ее придется дизассемблировать. Но разбираться в дизассемблированной программе, особенно если оригинал был написан на ЯВУ - то еще удовольствие. По сложности это может быть сравнимо с разработкой новой программы с нуля. Мой вам совет - или ищите того человека, или наймите специалиста, который сделает проект заново ...
P.S. Откріл архив. Программа небольшая. Можно попытаться дизассемблировать. Кстати, а что эта программа делает ?
alexeyv
что за проц?
Xenia
Программа малюсенькая - чуть больше сотни ассемблерных команд, включая таблицу прерываний. Проектом ее можно назвать с большой натяжкой. Впечатление такое, что она только светодиодом моргает sm.gif (по таймеру дергает пинами порта В). Писано на ассемблере, прерывания не используются, таймер используется в режиме отпроса.

В этой ситуации однозначно надо дезассеблировать. Скажем, с помощью IDA.

Я уже попыталась, но IDA требует указания названия МК, который топикстартер не сообщил. Смахивает на Тиньку.
prottoss
Цитата(Xenia @ Aug 23 2013, 16:35) *
Впечатение такое, что она только светодиодом моргает sm.gif
В этой ситуации нужно однозначно написать новую "моргалку".
prottoss
Моргалку проще самому написать. Два зайца убивает. Становится счастливым обладателем безглючной моргалки и бесплатно повышает свой проф. уровень!
Igor535
Спасибо откликнувшимся. Программка детекции частот - 44, 48, 96 192кгц и переход между 50 кгц. Если нужно дам распиновку ног.
kovigor
Цитата(Igor535 @ Aug 26 2013, 11:08) *
Спасибо откликнувшимся. Программка детекции частот - 44, 48, 96 192кгц и переход между 50 кгц. Если нужно дам распиновку ног.

Судя по размеру .hex - файла, это даже не коррелятор, а простой счетчик. Напишете сами при желании за пару дней. Там ничего сложного нет. Или наймете толкового студента ...
Igor535
Я пробовал, но после трех дней учений-мучений понял что не моеsm.gif
З.Ы. Проц Tiny13
kovigor
Цитата(Igor535 @ Aug 26 2013, 13:22) *
Я пробовал, но после трех дней учений-мучений понял что не моеsm.gif
З.Ы. Проц Tiny13

Думаю, лучше всего будет тогда переместить тему в раздел с предложениями работы ...
Alex_Pol
Цитата(Xenia @ Aug 23 2013, 13:35) *
Программа малюсенькая - чуть больше сотни ассемблерных команд, включая таблицу прерываний.

Остально - инициализация регистров. rolleyes.gif
Цитата(Xenia @ Aug 23 2013, 13:35) *
прерывания не используются, таймер используется в режиме отпроса.
Я уже попыталась, но IDA требует указания названия МК, который топикстартер не сообщил. Смахивает на Тиньку.

Используются. "Pin Change Interrupt". wink.gif Программка - глянуть не на что. Что с ней не так?
arttab
по работе приходилось и с nK ковырять прошивки.
в помощь эксель - отделяем коды и мнемоники и в аврстудию
Igor535
На вход (7 нога) подаем частоту, ноги 1,2,3,5 контрольный выход соответствующий частоте (активный 0), 6 нога выход контроля перехода частоты между 50 кГц (активный 0). Сейчас не четко детектирует частоту 48 кГц и переход 50 кГц. Если чуть подогреть чип то частота внутреннего генератора уходит и начинает правильно работать. Т.е. нужно сдвинуть или частоту генератора или точки отсчета двух счетчиков.


Я думаю надо использовать калибровку внутреннего гена.
kovigor
Цитата(Igor535 @ Aug 28 2013, 22:07) *
Я думаю надо использовать калибровку внутреннего гена.

Впаяйте кварц, настройте фьюзы и не мучайтесь. Нормально эта программа работать от внутреннего генератора не будет, т.к. его частота сильно зависит от температуры (см. график в даташите) ...
Igor535
Да она уже нормально работает - на некоторых экземплярах Tiny13 без вопросов, а на некоторых подглючивает.
kovigor
Цитата(Igor535 @ Aug 29 2013, 00:25) *
на некоторых экземплярах Tiny13 без вопросов, а на некоторых подглючивает.

Это норма ? Я вам говорю, внутренний генератор с температурой "плывет". Какой смысл в этих мучениях ? Кварц копейки стоит ...
Alex_Pol
Цитата(kovigor @ Aug 29 2013, 00:28) *
Кварц копейки стоит ...

+1. Проблема не программная, а аппаратная. И вообще - мерять частоту бортовым RC генератором - жуткий моветон.
Igor535
Повторюсь - в этом проце задействованы все ноги, кварц некуда.
Alex_Pol
Цитата(Igor535 @ Aug 29 2013, 11:34) *
Повторюсь - в этом проце задействованы все ноги, кварц некуда.

Н-н-да. Более того, в 13-й тиньке вообще некуда цеплять внешний кварц. cranky.gif
kovigor
Цитата(Igor535 @ Aug 29 2013, 11:34) *
Повторюсь - в этом проце задействованы все ноги, кварц некуда.

Да, это я знаю, на Тиньке13 свет клином сошелся, ведь других МК попросту не выпускают. В каменном веке живем. Бывает же ...
Alex_Pol
Прочитал по диагонали AVR053 и AVR057 (никогда раньше не приходилось). Морочное дело, однако. Калибровать можно, но...
kovigor
Цитата(Alex_Pol @ Aug 29 2013, 14:01) *
Калибровать можно, но...

но незачем. Все равно хорошо не получится. Проще всего взять подходящий МК. Если плата разведена под Тини 13 - переделать или напаять тот же Тини44 навесным монтажом, если это десяток-другой экземпляров. Там работы на пару часов. А тема уже висит на форуме около недели. Капец, по-другому не скажешь ...
ILYAUL
И внешнюю частоту не возможно подать , настолько всё занято?
Igor535
Цитата(kovigor @ Aug 29 2013, 14:26) *
но незачем. Все равно хорошо не получится. Проще всего взять подходящий МК. Если плата разведена под Тини 13 - переделать или напаять тот же Тини44 навесным монтажом, если это десяток-другой экземпляров. Там работы на пару часов. А тема уже висит на форуме около недели. Капец, по-другому не скажешь ...


И заново писать прогу..
kovigor
Цитата(Igor535 @ Aug 29 2013, 15:48) *
И заново писать прогу..

Прога по мотивам имеющейся напишется за пару часов. В отсутствие имеющейся - за пару дней. А обсуждать на форуме не стоящую выеденного яйца проблему можно неделями и месяцами (это самый легкий путь). Впрочем, решать вам ...
Alex_Pol
Цитата(Igor535 @ Aug 29 2013, 15:48) *
И заново писать прогу..

Могу выложить дизассемблированною вашу паршивку. Переписать её на другую тиньку - дело 10 минут.
Если использовать надо только Attiny13, допустим, по религиозным соображениям, есть ещё вариант, но он, как бы это сказать... У вас к выходам 1,2,3,5 что подключено? Если светодиоды или что похожее, берём дешифратор 2 на 4, освобождаем 2 ноги. На одну ногу заводим частоту с внешнего генератора. Всё! Ещё одна нога свободная остаётся. wink.gif
Igor535
На ПП очень плотный монтаж - тинька13 добавилась через несколько версий платы и для соик8 еле место нашлось. Соик 16 с генератором или тем более дешифраторы в принципе располагать негде. Ладно, буду закупать жменю тринадцатых тинек и отбирать.
kovigor
Цитата(Igor535 @ Aug 29 2013, 21:51) *
Ладно, буду закупать жменю тринадцатых тинек и отбирать.

Выйдет ерунда, сразу предупреждаю. Как я понял, речь не о серии. Разработайте платку под пригодный для задачи МК, запаяйте его на эту платку и разместите, как позволит конструкция прибора. Частоты у вас низкие, проблем быть не должно. Отбор тинек проблему не решит ...
Alex_Pol
Цитата(Igor535 @ Aug 29 2013, 21:51) *
На ПП очень плотный монтаж... Ладно, буду закупать жменю тринадцатых тинек и отбирать.

Ну, если вопрос стоит так остро, то только калибровать. У Атмела есть инструкции на этот бубен. AVR053 и AVR057. Там, правда, всё на бусурманском, но разберётесь. А скупка тинек, случайно, может и не помочь. И на будущее, правильно выбирайте контроллер под задачу. Делать нечто вроде частотомера на встроенном RC генераторе было отчаянно смелое решение. rolleyes.gif

Цитата(kovigor @ Aug 29 2013, 22:33) *
Выйдет ерунда...

Опередил. rolleyes.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.