Полная версия этой страницы:
Нужно подправить програмку
Igor535
Aug 22 2013, 21:34
Приветствую. Может ламерский вопрос - возможно ли как то подправить программу имея только файл HEX? Человек который писал ее к сожалению не доступен а в процессе выявился один небольшой баг.
kovigor
Aug 22 2013, 22:13
Цитата(Igor535 @ Aug 23 2013, 00:34)

Приветствую. Может ламерский вопрос - возможно ли как то подправить программу имея только файл HEX? Человек который писал ее к сожалению не доступен а в процессе выявился один небольшой баг.
Теоретически - да, для этого ее придется дизассемблировать. Но разбираться в дизассемблированной программе, особенно если оригинал был написан на ЯВУ - то еще удовольствие. По сложности это может быть сравнимо с разработкой новой программы с нуля. Мой вам совет - или ищите того человека, или наймите специалиста, который сделает проект заново ...
P.S. Откріл архив. Программа небольшая. Можно попытаться дизассемблировать. Кстати, а что эта программа делает ?
alexeyv
Aug 23 2013, 03:08
что за проц?
Программа малюсенькая - чуть больше сотни ассемблерных команд, включая таблицу прерываний. Проектом ее можно назвать с большой натяжкой. Впечатление такое, что она только светодиодом моргает

(по таймеру дергает пинами порта В). Писано на ассемблере, прерывания не используются, таймер используется в режиме отпроса.
В этой ситуации однозначно надо дезассеблировать. Скажем, с помощью IDA.
Я уже попыталась, но IDA требует указания названия МК, который топикстартер не сообщил. Смахивает на Тиньку.
prottoss
Aug 23 2013, 10:44
Цитата(Xenia @ Aug 23 2013, 16:35)

Впечатение такое, что она только светодиодом моргает

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

Спасибо откликнувшимся. Программка детекции частот - 44, 48, 96 192кгц и переход между 50 кгц. Если нужно дам распиновку ног.
Судя по размеру .hex - файла, это даже не коррелятор, а простой счетчик. Напишете сами при желании за пару дней. Там ничего сложного нет. Или наймете толкового студента ...
Igor535
Aug 26 2013, 10:22
Я пробовал, но после трех дней учений-мучений понял что не мое

З.Ы. Проц Tiny13
kovigor
Aug 26 2013, 10:58
Цитата(Igor535 @ Aug 26 2013, 13:22)

Я пробовал, но после трех дней учений-мучений понял что не мое

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

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

прерывания не используются, таймер используется в режиме отпроса.
Я уже попыталась, но IDA требует указания названия МК, который топикстартер не сообщил. Смахивает на Тиньку.
Используются. "Pin Change Interrupt".

Программка - глянуть не на что. Что с ней не так?
arttab
Aug 28 2013, 01:09
по работе приходилось и с nK ковырять прошивки.
в помощь эксель - отделяем коды и мнемоники и в аврстудию
Igor535
Aug 28 2013, 19:07
На вход (7 нога) подаем частоту, ноги 1,2,3,5 контрольный выход соответствующий частоте (активный 0), 6 нога выход контроля перехода частоты между 50 кГц (активный 0). Сейчас не четко детектирует частоту 48 кГц и переход 50 кГц. Если чуть подогреть чип то частота внутреннего генератора уходит и начинает правильно работать. Т.е. нужно сдвинуть или частоту генератора или точки отсчета двух счетчиков.
Я думаю надо использовать калибровку внутреннего гена.
kovigor
Aug 28 2013, 21:24
Цитата(Igor535 @ Aug 28 2013, 22:07)

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

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

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

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

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

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

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

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

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

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

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

Цитата(kovigor @ Aug 29 2013, 22:33)

Выйдет ерунда...
Опередил.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.