Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: c mega48 на mega88PA
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
arttab
Есть заказная разработка на mega48 (куча однотипных устройств на линии). Мне нужно чтобы заработало на mega88PA.

попробовал тупо залить hex и eep в mega88PA. Пытается работать, но не получается. сравнивал регистры мк - различий не увидел.

ткните, пожалуйста, пальцем. а то уже не знаю чего и думать.

mempfis_
Цитата(arttab @ Jan 27 2011, 11:44) *
Есть заказная разработка на mega48 (куча однотипных устройств на линии). Мне нужно чтобы заработало на mega88PA.

попробовал тупо залить hex и eep в mega88PA. Пытается работать, но не получается. сравнивал регистры мк - различий не увидел.

ткните, пожалуйста, пальцем. а то уже не знаю чего и думать.


Перекомпилировать проект....
Был проект на мега88. Пытался залить в мега168 - не пошло. Перекомпилировал поменяв только МК в настройках - заработало сразу.
_Pasha
Фьюзы
arttab
перекомпилировать сейчас пробую. и фузы гляну - спасибо за идеи biggrin.gif
777777
Цитата(arttab @ Jan 27 2011, 11:31) *
перекомпилировать сейчас пробую. и фузы гляну - спасибо за идеи biggrin.gif

Вообще-то 48 от остальных отличается только отсутствием Bootloader Section (и, соответственно, в работе команды SPM), поэтому если не работает, то скорее всего что-то во фьюзах.

Гораздо больше важных отличий между 88 и 168:
- Each Interrupt Vector occupies two instruction words in ATmega168, and one instruction word in ATmega48 and ATmega88.
- В 168 есть команды JMP и CALL, в 48 и 88 их нет. Компилятор об этом знает и поэтому генерит разный код.
arttab
вот разница между m48 и m88PA с точки зрения совта для меня до конца не понятна. загрузщик не используется. Различия в регистрах и векторах прерываний не нашел.

Поправил настройки "оригинального" проекта и все заработало на M88PA. hex стал другой. но это может быть особенности линковки.

в чем разница с программной точки зрения между m48 и m88PA?

фузы одни и те же шил.
ReAl
Перехд распадается на три.
  • С 4 на 8
    По фьюзам идёт замена SELFPRGEN на BOOT-компаню и биты в SPMCSR. Как я понял, это безразлично. Просто не трогать.
    По флешу — объём 8К не вылазит за зону работы rjmp, поэтому ничего поменяться не должно было. Пересобрал свой проект для 48-й, заменив цель на mega88p - как было 3734 байта, так и осталось. Вероятно, нюансы конкретного компилятора.
  • С не-P на P
    Добавился SLEEPING BOD. Если программа не пишет мусор в неиспользуемые ею биты MCUCR, то ничего и не заметит.
  • С не-А на А
    Разницы почти нет.
    Добавилась ошибка при использовании аналогового мультиплексора с компаратором. Может и не проявиться, зависит от порядка инициализации.
esaulenka
Цитата(ReAl @ Jan 28 2011, 12:30) *
С не-А на А

Кстати, не осталось впечатления, что вариант 'A' более "нежный" ?

У нас есть одна массовая железяка (питание разведено неидеально, да и условия работы не сильно "сахарные"), после замены ATmega128 на ATmega128A количество нареканий увеличилось.

Претензии "сам дурак" принимаются wink.gif
Diusha
Цитата(ReAl @ Jan 28 2011, 12:30) *
Перехд распадается на три.
  • С 4 на 8
    По фьюзам идёт замена SELFPRGEN на BOOT-компаню и биты в SPMCSR.

По фьюзам в портянке о различиях не говорится
ReAl
Где не говорится?

Надо ещё описывать отличия mega88 от mega48 ?

У меги48 нет бут-области и только фьюз разрешения команы SPM.
У меги88/168 есть бут-область и соответствующие фьюзы размера и старта.
То же самое повторено для mega48P и mega88P/mega168P
И дальше для mega48PA и mega88PA/mega168PA

mega48PA, mega48P, mega48A, mega48 в этом смысле между собой не отличаются.
mega88PA, mega88P, mega88A, mega88 тоже.
Diusha
Цитата(ReAl @ Jan 31 2011, 00:55) *
Где не говорится?

Пардон, действительно, невнимательно посмотрел. Я такой хренью как бут-область не пользуюсь, потому особо и не сосредотачивался на этом
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.