ATMEGA 8 и ATMEGA168 совместимость?

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

ATMEGA 8 и ATMEGA168 совместимость?

Сообщение java »

У меня написана программа управления насосами на ATMEGA 8, я, чтобы не заморачиваться с печаткой, хочу залить её в адруино, но там ATMEGA168, ноги у них одинаковые, а как она будет работать, и зальётся ли вообще от восьмёрки в сто шестьдесят восьмую?
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение COKPOWEHEU »

Напрямую - нет. Придется перекомпилировать и, скорее всего, компилятор ругнется на другие имена регистров. Например, UART в m8 называется UCSRA, UCSRB, ..., а в m48/88/168/328 уже UCSR0A, UCSR0B, ...
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15551
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение BOB51 »

Если речь о скетче под ардуино, то нужно будет установить платформу MiniCore от MCU Dude.
Возможно пройдет... Если исходник написан "в рамках референса" ардуино IDE...
:roll:
Если обычный Си - там придется выполнить совет ранее данный.
8)
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение java »

Когда мне писали программу, адруины ещё впомине не было, это чисто под атмегу 8
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15551
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение BOB51 »

Тогда придется под ту программку и платка делать и мегу искать соответствующую.
Корректной правку Сишного проекта только автор или спец по Си сделать может.
Ежли у Вас таковой возможности нету - печалька.
Другое дело, если бы проект изначально в среде и по правилам Ардуино делался - там легче от младшего к старшему кристаллы перейти можно.
:(
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение COKPOWEHEU »

Да ладно вам. Между m8 и m168 не так много различий. Большая часть должна пересобраться без проблем, а остальное правится подбором наиболее подходящего регистра. Правда, с тем же UART придется быть осторожнее: настройка скорости обмена там может отличаться принципиально (но не уверен, смотрите даташиты).
А вот если исходника нет, то тут да, будет посложнее. Хотя все равно можно рискнуть и дизассемблировать, внести правки с регистрами, и собрать обратно. Авось нигде нет слишком строгой завязки на тайминги.
Аватара пользователя
Martin76
Друг Кота
Сообщения: 20165
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение Martin76 »

Проще Мегу168ю сдуть и 8ю припаять...
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15551
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение BOB51 »

Это ежли у java текст исходника имеется.
А вот ежли только хекс...
Тогда без вариантов лишь порвтроение один в один...
Мы же и конкретной схемы проекта не знаем...
:(
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение java »

Исходник есть, сейчас весь просматрел, так и не нашёл, где там прописано, что он именно для атмеги 8.
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Аватара пользователя
Starichok51
Модератор
Сообщения: 19045
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение Starichok51 »

если сам не нашел, покажи исходник. кто-нибудь найдется помочь тебе.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение COKPOWEHEU »

А в исходнике вы этого и не увидите, за исключением специфичных регистров (и то если используются). Выбор камня, его частота и список исходников прописываются в makefile. Ну или "настройках проекта".
А вот если исходника нет, то тут да, будет посложнее.
Это ежли у java текст исходника имеется.
Ну да. Но, еще раз, рискнуть дизассемблировать все же можно. Основное отличие, что в m168 к некоторым регистрам доступ будет не по in/out, а по sts/lds, что на такт дольше и на два байта больше. Так что тайминги и хакерские вычисления адресов могут разъехаться.
если сам не нашел, покажи исходник. кто-нибудь найдется помочь тебе.
На всякий случай: исходник это не только единственный *.c файл, а скорее всего весь каталог. Если делалось в AVRStudio (а судя по m8 - могло и в ней) - *.aps, *.aws, Debug и т.д. Еще, если есть, прочая документация. Схема там, настройки фьюзов.
Аватара пользователя
shonty
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение shonty »

java писал(а):У меня написана программа управления насосами на ATMEGA 8
можно поинтересоваться, по каким событиям у вас насосы управляются?
Уровень, давление, температура.. или что-то ещё?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15551
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение BOB51 »

[uquote="java",url="/forum/viewtopic.php?p=4675879#p4675879"]Исходник есть, сейчас весь просматрел, так и не нашёл, где там прописано, что он именно для атмеги 8.[/uquote]
Так выложите тот исходник тут - может понятнее будет, чего с ним сделать (да и от какого компилятора - смотря по расширению, может оно просто *.ino - тогда все вопросы напрямую в ардуиноIDE снимаются)...
:roll:
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение Just_Fluffy »

COKPOWEHEU писал(а): Правда, с тем же UART придется быть осторожнее: настройка скорости обмена там может отличаться принципиально (но не уверен, смотрите даташиты)
В восьмой меге регистры UBRRH/UCSRC делят один адрес и там логика доступа через одно место... в 168 уже атмелы не пожлобились на адресное пространство регистров и раскидали их друг от дружки.
Белая и Пушистая
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение COKPOWEHEU »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4676295#p4676295"]В восьмой меге регистры UBRRH/UCSRC делят один адрес и там логика доступа через одно место...[/uquote]
Я помню, что в некоторых камнях (да, кажется, в m8 тоже) была такая особенность. Но вот в каких конкретно - надо смотреть документацию.
Just_Fluffy писал(а):в 168 уже атмелы не пожлобились на адресное пространство регистров и раскидали их друг от дружки.
Дело не в "не пожлобились", а в том, что адресное пространство и без того кончилось, пришлось выносить регистры в MMIO. Причем тоже коряво: нет бы сгруппировать часто используемые (регистры данных, флаги, ...) в IO области, а редкие (настройки) - в MMIO. Чтобы не потерять скорость доступа. Но нет, решили разбить тупо "поперек", эта периферия целиком останется в IO, а эта - целиком в MMIO. Возможно, конечно, так сделать было сложно технически... но сильно сомневаюсь.
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение Just_Fluffy »

COKPOWEHEU, несколько не это имела ввиду. Регистры, которые не поместились в регистровый файл (0x00-0x3F) раскидали по всему оставшемуся пространству, от 0x40 до 0xFF, а не собрали рядышком, начиная с 0х40. И ради этого RAMSTART отодвинули с 0x60 на 0x100... (Кстати, вот еще одна несовместимость камней, если переменные в ассемблере "прибиты" гвоздями к адресам, а не к константе начала ОЗУ - то тоже трабла будет.
Так то и в восьмой меге к регистровому файлу можно обращаться через MMIO, просто прибавив к адресу регистра 0x20.
Белая и Пушистая
Аватара пользователя
Starichok51
Модератор
Сообщения: 19045
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение Starichok51 »

Just_Fluffy, если есть исходник, то место расположения "гвоздей" не имеет никакого значения.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение Just_Fluffy »

Starichok51, помнится, мне кто то рассказывал, что у него ZH всегда ноль, адреса только в ZL крутятся... А тут чикс! И нет ОЗУ в области до 0х100...
Белая и Пушистая
Аватара пользователя
Starichok51
Модератор
Сообщения: 19045
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение Starichok51 »

а кто-то, видимо, не дочитал, что это у меня только для АТмега8.
а для АТмега 88, 168 и 328 у меня ZH всегда 1 и загружаю только ZL, чтобы всегда попадать в 0х100...
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: ATMEGA 8 и ATMEGA168 совместимость?

Сообщение COKPOWEHEU »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4676320#p4676320"]Кстати, вот еще одна несовместимость камней, если переменные в ассемблере "прибиты" гвоздями к адресам, а не к константе начала ОЗУ - то тоже трабла будет.[/uquote]
Да, вот про это я не вспомнил. И это куда более серьезная проблема, ведь в дизасме не будет даже человеко-читаемых меток для переменных, только куча одинаковых адресов. Тут либо надеяться, что статических переменных будет немного (все на регистрах или локальных переменных в стеке), либо уже полноценно реверсить. Впрочем, ТС говорил, что исходник в природе есть. Возможно, он даже сумеет его раздобыть.
Just_Fluffy писал(а):Так то и в восьмой меге к регистровому файлу можно обращаться через MMIO
Ну, я понадеялся, что терминология IO/MMIO в данном контексте все же будет достаточно понятной.
Ответить

Вернуться в «AVR»