| Автор | Сообщение |
Advent Участник Сообщения: 290
|
Мужики требуется помощь, думаю кто разбирается в ассемблере не будет тяжело.
В общем ситуация такая, требуется мне сделать в инкубатор автоповорот яиц, нашёл в инете схему на мк attiny13 и к ней прошивки на 1 час и 2 часа , а мне требуется сделать поворот на 5 часов, листинга самой программы нет только hex файл.
С помощью дизассемблера я получил листинги программ для 1 часа и 2часа .
Сравнив эти два листинга я выявил что они отличаюся только 2-мя строками 0хDA и 0хDC
Посмотрите пожайлуста листинг , подскажите как можно увеличить время переворота на 5часов
Выкладываю листинг програмы
perevorot.txt 18,04 КБ Скачано: 112 раз(а)
|
|
uam Участник Сообщения: 2273
|
Между прошивками, скорее всего, тоже отличие в один байт. Что там для 1 часа и для 2? |
|
Advent Участник Сообщения: 290
|
Я в одном листинге сделал коментарии для 1 -го и 2-х часов по адресу 0хDA и 0хDC разница только в них |
|
WeHere Гость 95.104.*.*
|
Advent, что-то мсм не так, там вообще с разными регистрами оперируют. Мож дизасм кривой, ну ево.
Ты два хекса выложи лучше, подписав их 1hour.hex и 2hour.hex.
В еепром там ничего разного не пишется при прошивке, только во флешь? |
|
Advent Участник Сообщения: 290
|
WeHere, вылаживаю два hex файла
у них разница только по 0х270 строке
Добавлено 01-03-2014 17:09
В eeпром ни чего не пишется
прошивки.rar 1,61 КБ Скачано: 95 раз(а)
|
|
supressor Участник Сообщения: 170
|
Отличия в трёх байтах :
ADR 1chas 2chas
-+------------+
276: 31 32
278: 45 43
27A: 30 31
Оперируя ими можно настроить на 5 часов. Как именно - пока не знаю  |
|
WeHere Гость 95.104.*.*
|
Вот после родного дизасма аврстудии
Ищи отличия.
П.С. Вот что удивительно, мсм. Говоришь, блять, людЯм - ну не пишите вы на кириллице. Хуй тебе - сиди и переименовывай полоски, раз помочь взялся... Как первый день на форуме.
Почему бы не выложить весь проект со схЭмо? В симуле зацикливается, инициализировав порты и записав что-то в таймер, ожидая какое-то событие, может быть, нога какая-то у тиньки д.б. подтянута, мож клок от сети?....
Добавлено 01-03-2014 19:08
Здесь уже регистры одинакие в обоих случаях
Один час
| Код: | +0000006D: E1E0 LDI R30,0x10 Load immediate
+0000006E: E0FE LDI R31,0x0E Load immediate |
Два часа
| Код: | +0000006D: E2E0 LDI R30,0x20 Load immediate
+0000006E: E1FC LDI R31,0x1C Load immediate |
disasm_avrstudio.rar 5,67 КБ Скачано: 78 раз(а)
|
|
supressor Участник Сообщения: 170
|
WeHere, могеш дизасемблить ~ от адреса 270 до ~280 ? Больше не нужно , а студии итд у меня нет. Да тут оно и не нужно. Лишнее. Если понять что за команды в этом куске - все просто станет. Для обоих прошивок дизасемблить надо!
Добавлено 01-03-2014 19:12
всё понятно. не надо больше  |
|
WeHere Гость 95.104.*.*
|
| supressor писал: | | всё понятно. |
Дай я тя за это поцелую - хоть кому-то что-то понятно  |
|
Advent Участник Сообщения: 290
|
WeHere, подобрал значение из декампилированой вами asm и изменил под свои 5 часов
Помогите пожайлуста скампилировать изменённый листинг
5hours_da_.rar 2,86 КБ Скачано: 79 раз(а)
|
|
WeHere Гость 95.104.*.*
|
Advent, проще будет заменить прямо в дампе, найдя исходные комбинации по адресам в хексредакторе.
Боюсь, что скомпилируется совсем не то.
К тому же я не пойму как вычистить лишнее из файла, конкретно нумерацию строк.
И надо как-то вставить чего-то вместо "???"
Заменишь, клади, дизассемблируем снова и сравним.
Схему выложи, мои перепела по яйцам почти выходят на рабочий режим, пора инкубатор начинать
Добавлено 03-03-2014 01:38
| Advent писал: | | 5hours_da_.rar 2,86 КБ Скачано: 2 раз(а) |
Ошибка тут. Где правильно - в коде или в асме? |
|
supressor Участник Сообщения: 170
|
| WeHere писал: | | проще будет заменить прямо в дампе |
Во-во! |
|
WeHere Гость 95.104.*.*
|
Advent, если в асме правильно насчитал, то вот, проверяй хекс.
В симуле работает так же, как и 1, 2 часа, инициализирует и зацикливается в вызове подпрограммы, ждёт чего-то - это дает некоторую уверенность.
Схему не забудь и фузы как.
5hours_01.rar 3,6 КБ Скачано: 87 раз(а)
|
|
Advent Участник Сообщения: 290
|
WeHere, огромное СПАСИБО ! Сегодня попробую сообщу результат .
Вылаживаю проект автоповорота
автоповорот.rar 75,49 КБ Скачано: 86 раз(а)
|
|
WeHere Гость 95.104.*.*
|
Advent, А кнопки чего делают? Или это концевики? |
|
Advent Участник Сообщения: 290
|
|
Advent Участник Сообщения: 290
|
WeHere, не заработала прошивка на 5 часов, включал на 10 часов без результата.
Надо циферки др. подбирать или х.з. |
|
WeHere Гость 95.104.*.*
|
| Advent писал: | включал на 10 часов без результата.
Надо циферки др. подбирать или х.з. |
Похоже, надо. И начать с изменения только одной, чтобы систему понять.
Или кто в ассемблере понимает, растолковал бы... Поменяй заглавие темы, что ли?
Там в проекте прошивка "1 минута" есть, она работает? С ней поиграемся давай, если работает, чтобы часами не ждать. |
|
starko Гость 95.153.*.*
|
Взад залить одночасовую - работает?
Вроде правильно все сделали.
Ничего там особенного нет - к двубайтовому числу раз за разом прибавляется двубайтовое и сравнивается с двубайтовой константой. Нахрена так? Скорее всего писано "в лоб" и явно не на асм. Я бы считал секунды, минуты, часы - так гибше. |
|
Advent Участник Сообщения: 290
|
Минутка работает без проблем. Я думаю, можно ли изменить в программе не время, а частоту RC генератора тиньки, протеусе такой приём на минутке работает. |
|
WeHere Гость 95.104.*.*
|
| starko писал: | | Вроде правильно все сделали. |
Да уж, старались, стараемся и будем стараться, поверь.
30 и 31 -й регистры - это временной отсчет до ротации?
Вот в "минутке":
| Код: | +0000006E: E3EC LDI R30,0x3C Load immediate
+0000006F: E0F0 LDI R31,0x00 Load immediate |
Надо ли полагать, что 3цХхекс отсчётов умножить на 60 и будет 1 час?
И потом разнести четырёхбайтовость по 30 и 31?..
Добавлено 04-03-2014 16:05
| starko писал: | | и явно не на асм. |
Я сразу оказался компилить "взад" дизассембленную прошивку.
Просто в моей "гуманитарной помощи ТС" есть плюс - я дизассемблил на родной авр-оской среде, хоть номера регистров совпали, наконец.
Advent, ты меня извини, но я не понимаю в асме, а как бы мне этого хотелось...  |
|
starko Гость 95.153.*.*
|
WeHere, там х пойми, что-то еще с чем-то сравнивается... Может где еще засада. Это распечатывать, разрисовывать стрелочками переходы.
Мне "увеселитель" вполне доставляет, на остальное времени нет. |
|
WeHere Гость 95.104.*.*
|
starko, пошли караулить появление Анатолича Беспезды(тм) - Анатолич - доставляет, даже просто любым своим появлением...  |
|
starko Гость 95.153.*.*
|
WeHere,  |
|
o_l_e_g Участник Сообщения: 2988
|
Твой проект в "лестнице". Хочешь компильни для 8 меги( тини-нет), или в С-файл, потом в другом компиллере для тини.
ldmicro.zip 167,26 КБ Скачано: 86 раз(а)
|
|
WeHere Гость 95.104.*.*
|
Advent, я тебе забыл вот что сказать. Возьми минутку и правь прямо в хексе - вычислишь, как там что считается.
В хексе каждая строчка заканчивается CRC, поэтому вот этой прогой править хексА очень удобно.
И вот, напочитать...
Hex_files_Atmel.pdf 92,53 КБ Скачано: 65 раз(а)
|
|
starko Гость 95.153.*.*
|
А я таки поковырял листинг, для размяться , давно не касался...
Нет там нихрена особого, поправили счетчик секунд - должно было работать.
Можно по-другому сделать: вместо секундных отсчетов сделать 2.5 секундные (все равно они больше нигде не используются) - 2-х часовая превратится в 5-ти
+0000005F: 34AB CPI R26,0x4B Compare with immediate
Заменить 4B на BC (округленно чуть-чуть ) |
|
WeHere Гость 95.104.*.*
|
Ну да - накуй нам энтот ваш буржуинский эталон метра, из Сены? Вот "косая сажень" - это да-аааа...  |
|