Пост N: 76
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
1
Отправлено: 18.05.07 22:32. Заголовок: Re:
Интересная штука! Прочёл в превеликим удовольствием! Ко мне пришла одна мысль... Уж очень сильно вся программа кодировки и передачи байта смахивает на ...I2C! Что если... Поскольку все кнопки сидят на PORTB... Считываем состояние кнопок, записываем результат во временный регистр и сдвигом влево передаём... Потом сдвигом вправо... Результат тот-же, но выглядит красивее... Надо подумать в полной тишине...
Пост N: 8
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
0
Отправлено: 19.05.07 00:34. Заголовок: Re:
Иван, моя изначальная задача - "взломать" программу с той стратегией, какая есть. После перевода ее в режим "ласковой кошки", с ней можно делать все что угодно. Отдаю эти программы (их две) Вам на "растерзание". Здесь есть где развернуться. Это база, и на ее основе можно много кое-чего "наворочать". Помехоустойчивый кодек это очень серьезно и перспективно.
Появилась еще одна строчка, ":020000040000FA" непонятоно откуда и чего она означает? При закачки и сравнении буферов в icprog , пишет что HEX файлы идентичны
Это строка не содержит кода, она управляющая для программатора, точно что означает непомню, об этом было написанно в одном из журналов "Радио" в разделе "Консультация". Эту строку можно спокойно исключить из файла.
Отправлено: 24.01.08 21:03. Заголовок: Я это дело так поним..
Я это дело так понимаю. Мы все сейчас пользуемся стандартными HEX форматом. В этом формате под байтную адресацию уделяется 4 символа, то есть максимальный адрес FFFF. Получается, всего в такой формат поместится 65536 байтов. Для каждого программного слова в микроконтроллере уделяется два байта. Если разделить 65536 на 2 получим максимальный размер программы, который поместится в этот HEX, то есть 32768 слов (32 Кслов). В PIC16F877A например всего 8 Кслов. По этому нам этого формата на первых парах хватает. Но есть микроконтроллеры, у которых размер программы больше 32 Кслов. В таком случае в строчку, о которой идет речь, записывают старшие 16 разрядов адреса. По этому если размер программы вашего микроконтроллера не превышает 32768 слов, то эту строчку можно всегда игнорировать.
Гоша Александрович, спасибо за развернутый ответ. Кстати столкнулся с адресами регистров, которые можно определить только при симуляции программы, определяя по банку, в котором в данный момент находится программа.
Помогите, многое что читал, но видимо не все. Создал программу на 800 команд. Запустил (кусочно все отлажено), вот в комплексе, сбрасываектся на начало. В ПП Деление используется FSR, разбил программу, чтобы ПП не переходили границ блоков (256, 512, 768) ? меняю местами ПП, опять подгоняю, уже другие глюки. Стек вроде не переполняю. Прверить не знаю как, но, Что не учитываю? Можно ли обращаться из ПП к ПП в разных блоках? Спаибо.
Пост N: 48
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 11.07.08 17:20. Заголовок: Евгений Александрови..
Евгений Александрович, спасибо, побробую сам посмотреть для начала, да и еще одно обстоятельство. У меня начинается отпуск сегодня, а поэтому моя активность затухает по крайней мере до середины августа. Дел накопилось других много.
Бывает, простая ошибка. У меня было вместо $ написано S. Программа уходила в начало. А в начале как раз и прерывание. Думал, что прерывания и присходят, а был сброс.
Пост N: 490
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
1
Фото:
Отправлено: 11.07.08 21:10. Заголовок: Во первых посмотрите..
Во первых посмотрите флаги в Statusе по ним можно узнать причину сброса. Но лично мне кажется это не сброс. Я много раз с таким встречался, к такому поведению могут приводить и вычисляемые переходы, и ошибки в прерываниях, бывает даже такое, что отлаживаешь программу пошагово, работает все как надо, а как только отпускаешь в реальное время она сбрасывается на начало. При этом флаги в порядке, сброса не было. Я в таких случаях поступаю так: в реальном устройстве в отладчике выполняю отдельные блоки программы, контролируя все регистры, в реальном времени. Соответственно в котором сорвется в том и проблема. А найти в отладчике сбойный участок программы, ограниченном двумя тремя десятками команд проще пареной репы. Естественно для этого необходим внутрисхемный отладчик.
Пост N: 50
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 19.07.08 12:13. Заголовок: ПП по выводу символь..
ПП по выводу символьной информации обращалась к памяти (dt), описание которой было в другом блоке, и тишина.Все вычисляемые переходы по обращению к памяти переместил в первый ( 0 ) блок и все пошло. Но не думал что так не просто, пересечений через границу не было, а на ПП не реагировала. Что, какие то ограничения есть, ведь старшая часть адреса не менялась, только PC?
Все даты в формате GMT
3 час. Хитов сегодня: 8
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет