Форум РадиоКот https://radiokot.ru/forum/ |
|
ATMEGA 8 и ATMEGA168 совместимость? https://radiokot.ru/forum/viewtopic.php?f=57&t=196550 |
Страница 1 из 4 |
Автор: | java [ Вс янв 26, 2025 19:30:42 ] |
Заголовок сообщения: | ATMEGA 8 и ATMEGA168 совместимость? |
У меня написана программа управления насосами на ATMEGA 8, я, чтобы не заморачиваться с печаткой, хочу залить её в адруино, но там ATMEGA168, ноги у них одинаковые, а как она будет работать, и зальётся ли вообще от восьмёрки в сто шестьдесят восьмую? |
Автор: | COKPOWEHEU [ Вс янв 26, 2025 19:53:40 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
Напрямую - нет. Придется перекомпилировать и, скорее всего, компилятор ругнется на другие имена регистров. Например, UART в m8 называется UCSRA, UCSRB, ..., а в m48/88/168/328 уже UCSR0A, UCSR0B, ... |
Автор: | BOB51 [ Вс янв 26, 2025 19:59:55 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
Если речь о скетче под ардуино, то нужно будет установить платформу MiniCore от MCU Dude. Возможно пройдет... Если исходник написан "в рамках референса" ардуино IDE... ![]() Если обычный Си - там придется выполнить совет ранее данный. ![]() |
Автор: | java [ Вс янв 26, 2025 20:50:25 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
Когда мне писали программу, адруины ещё впомине не было, это чисто под атмегу 8 |
Автор: | BOB51 [ Вс янв 26, 2025 21:17:46 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
Тогда придется под ту программку и платка делать и мегу искать соответствующую. Корректной правку Сишного проекта только автор или спец по Си сделать может. Ежли у Вас таковой возможности нету - печалька. Другое дело, если бы проект изначально в среде и по правилам Ардуино делался - там легче от младшего к старшему кристаллы перейти можно. ![]() |
Автор: | COKPOWEHEU [ Вс янв 26, 2025 21:42:35 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
Да ладно вам. Между m8 и m168 не так много различий. Большая часть должна пересобраться без проблем, а остальное правится подбором наиболее подходящего регистра. Правда, с тем же UART придется быть осторожнее: настройка скорости обмена там может отличаться принципиально (но не уверен, смотрите даташиты). А вот если исходника нет, то тут да, будет посложнее. Хотя все равно можно рискнуть и дизассемблировать, внести правки с регистрами, и собрать обратно. Авось нигде нет слишком строгой завязки на тайминги. |
Автор: | Martin76 [ Вс янв 26, 2025 21:45:19 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
Проще Мегу168ю сдуть и 8ю припаять... |
Автор: | BOB51 [ Вс янв 26, 2025 21:46:01 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
Это ежли у java текст исходника имеется. А вот ежли только хекс... Тогда без вариантов лишь порвтроение один в один... Мы же и конкретной схемы проекта не знаем... ![]() |
Автор: | java [ Вс янв 26, 2025 21:58:53 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
Исходник есть, сейчас весь просматрел, так и не нашёл, где там прописано, что он именно для атмеги 8. |
Автор: | Starichok51 [ Вс янв 26, 2025 22:35:50 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
если сам не нашел, покажи исходник. кто-нибудь найдется помочь тебе. |
Автор: | COKPOWEHEU [ Вс янв 26, 2025 22:39:07 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
А в исходнике вы этого и не увидите, за исключением специфичных регистров (и то если используются). Выбор камня, его частота и список исходников прописываются в makefile. Ну или "настройках проекта". Цитата: Цитата: А вот если исходника нет, то тут да, будет посложнее. Это ежли у java текст исходника имеется. Цитата: если сам не нашел, покажи исходник. кто-нибудь найдется помочь тебе. На всякий случай: исходник это не только единственный *.c файл, а скорее всего весь каталог. Если делалось в AVRStudio (а судя по m8 - могло и в ней) - *.aps, *.aws, Debug и т.д. Еще, если есть, прочая документация. Схема там, настройки фьюзов. |
Автор: | shonty [ Пн янв 27, 2025 06:46:31 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
java писал(а): У меня написана программа управления насосами на ATMEGA 8 можно поинтересоваться, по каким событиям у вас насосы управляются? Уровень, давление, температура.. или что-то ещё? |
Автор: | BOB51 [ Пн янв 27, 2025 11:49:12 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
Исходник есть, сейчас весь просматрел, так и не нашёл, где там прописано, что он именно для атмеги 8. Так выложите тот исходник тут - может понятнее будет, чего с ним сделать (да и от какого компилятора - смотря по расширению, может оно просто *.ino - тогда все вопросы напрямую в ардуиноIDE снимаются)... ![]() |
Автор: | Just_Fluffy [ Пн янв 27, 2025 19:23:27 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
COKPOWEHEU писал(а): Правда, с тем же UART придется быть осторожнее: настройка скорости обмена там может отличаться принципиально (но не уверен, смотрите даташиты) В восьмой меге регистры UBRRH/UCSRC делят один адрес и там логика доступа через одно место... в 168 уже атмелы не пожлобились на адресное пространство регистров и раскидали их друг от дружки.
|
Автор: | COKPOWEHEU [ Пн янв 27, 2025 19:53:00 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
В восьмой меге регистры UBRRH/UCSRC делят один адрес и там логика доступа через одно место... Я помню, что в некоторых камнях (да, кажется, в m8 тоже) была такая особенность. Но вот в каких конкретно - надо смотреть документацию. Just_Fluffy писал(а): в 168 уже атмелы не пожлобились на адресное пространство регистров и раскидали их друг от дружки. Дело не в "не пожлобились", а в том, что адресное пространство и без того кончилось, пришлось выносить регистры в MMIO. Причем тоже коряво: нет бы сгруппировать часто используемые (регистры данных, флаги, ...) в IO области, а редкие (настройки) - в MMIO. Чтобы не потерять скорость доступа. Но нет, решили разбить тупо "поперек", эта периферия целиком останется в IO, а эта - целиком в MMIO. Возможно, конечно, так сделать было сложно технически... но сильно сомневаюсь. |
Автор: | Just_Fluffy [ Пн янв 27, 2025 20:15:16 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
COKPOWEHEU, несколько не это имела ввиду. Регистры, которые не поместились в регистровый файл (0x00-0x3F) раскидали по всему оставшемуся пространству, от 0x40 до 0xFF, а не собрали рядышком, начиная с 0х40. И ради этого RAMSTART отодвинули с 0x60 на 0x100... (Кстати, вот еще одна несовместимость камней, если переменные в ассемблере "прибиты" гвоздями к адресам, а не к константе начала ОЗУ - то тоже трабла будет. Так то и в восьмой меге к регистровому файлу можно обращаться через MMIO, просто прибавив к адресу регистра 0x20. |
Автор: | Starichok51 [ Пн янв 27, 2025 20:38:15 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
Just_Fluffy, если есть исходник, то место расположения "гвоздей" не имеет никакого значения. |
Автор: | Just_Fluffy [ Пн янв 27, 2025 20:44:11 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
Starichok51, помнится, мне кто то рассказывал, что у него ZH всегда ноль, адреса только в ZL крутятся... А тут чикс! И нет ОЗУ в области до 0х100... |
Автор: | Starichok51 [ Пн янв 27, 2025 21:58:55 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
а кто-то, видимо, не дочитал, что это у меня только для АТмега8. а для АТмега 88, 168 и 328 у меня ZH всегда 1 и загружаю только ZL, чтобы всегда попадать в 0х100... |
Автор: | COKPOWEHEU [ Пн янв 27, 2025 22:35:29 ] |
Заголовок сообщения: | Re: ATMEGA 8 и ATMEGA168 совместимость? |
Кстати, вот еще одна несовместимость камней, если переменные в ассемблере "прибиты" гвоздями к адресам, а не к константе начала ОЗУ - то тоже трабла будет. Да, вот про это я не вспомнил. И это куда более серьезная проблема, ведь в дизасме не будет даже человеко-читаемых меток для переменных, только куча одинаковых адресов. Тут либо надеяться, что статических переменных будет немного (все на регистрах или локальных переменных в стеке), либо уже полноценно реверсить. Впрочем, ТС говорил, что исходник в природе есть. Возможно, он даже сумеет его раздобыть. Just_Fluffy писал(а): Так то и в восьмой меге к регистровому файлу можно обращаться через MMIO Ну, я понадеялся, что терминология IO/MMIO в данном контексте все же будет достаточно понятной. |
Страница 1 из 4 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |