#------------------------------------------------------------
# ATmega168
#------------------------------------------------------------
part
id = "m168";
desc = "ATmega168";
has_debugwire = yes;
flash_instr = 0xB6, 0x01, 0x11;
eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
0x99, 0xF9, 0xBB, 0xAF;
stk500_devcode = 0x86;
# avr910_devcode = 0x;
signature = 0x1e 0x94 0x06;
pagel = 0xd7;
bs2 = 0xc2;
chip_erase_delay = 9000;
pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
"x x x x x x x x x x x x x x x x";
chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
"x x x x x x x x x x x x x x x x";
timeout = 200;
stabdelay = 100;
cmdexedelay = 25;
synchloops = 32;
bytedelay = 0;
pollindex = 3;
pollvalue = 0x53;
predelay = 1;
postdelay = 1;
pollmethod = 1;
pp_controlstack =
0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
hventerstabdelay = 100;
progmodedelay = 0;
latchcycles = 5;
togglevtg = 1;
poweroffdelay = 15;
resetdelayms = 1;
resetdelayus = 0;
hvleavestabdelay = 15;
resetdelay = 15;
chiperasepulsewidth = 0;
chiperasepolltimeout = 10;
programfusepulsewidth = 0;
programfusepolltimeout = 5;
programlockpulsewidth = 0;
programlockpolltimeout = 5;
ocdrev = 1;
memory "eeprom"
paged = no;
page_size = 4;
size = 512;
min_write_delay = 3600;
max_write_delay = 3600;
readback_p1 = 0xff;
readback_p2 = 0xff;
read = " 1 0 1 0 0 0 0 0",
" 0 0 0 x x x x a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" o o o o o o o o";
write = " 1 1 0 0 0 0 0 0",
" 0 0 0 x x x x a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" i i i i i i i i";
loadpage_lo = " 1 1 0 0 0 0 0 1",
" 0 0 0 0 0 0 0 0",
" 0 0 0 0 0 0 a1 a0",
" i i i i i i i i";
writepage = " 1 1 0 0 0 0 1 0",
" 0 0 x x x x x a8",
" a7 a6 a5 a4 a3 a2 0 0",
" x x x x x x x x";
mode = 0x41;
delay = 20;
blocksize = 4;
readsize = 256;
;
memory "flash"
paged = yes;
size = 16384;
page_size = 128;
num_pages = 128;
min_write_delay = 4500;
max_write_delay = 4500;
readback_p1 = 0xff;
readback_p2 = 0xff;
read_lo = " 0 0 1 0 0 0 0 0",
" 0 0 0 a12 a11 a10 a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" o o o o o o o o";
read_hi = " 0 0 1 0 1 0 0 0",
" 0 0 0 a12 a11 a10 a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" o o o o o o o o";
loadpage_lo = " 0 1 0 0 0 0 0 0",
" 0 0 0 x x x x x",
" x x a5 a4 a3 a2 a1 a0",
" i i i i i i i i";
loadpage_hi = " 0 1 0 0 1 0 0 0",
" 0 0 0 x x x x x",
" x x a5 a4 a3 a2 a1 a0",
" i i i i i i i i";
writepage = " 0 1 0 0 1 1 0 0",
" 0 0 0 a12 a11 a10 a9 a8",
" a7 a6 x x x x x x",
" x x x x x x x x";
mode = 0x41;
delay = 6;
blocksize = 128;
readsize = 256;
;
memory "lfuse"
size = 1;
min_write_delay = 4500;
max_write_delay = 4500;
read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
"x x x x x x x x o o o o o o o o";
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
"x x x x x x x x i i i i i i i i";
;
memory "hfuse"
size = 1;
min_write_delay = 4500;
max_write_delay = 4500;
read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
"x x x x x x x x o o o o o o o o";
write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
"x x x x x x x x i i i i i i i i";
;
memory "efuse"
size = 1;
min_write_delay = 4500;
max_write_delay = 4500;
read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
"x x x x x x x x x x x x x o o o";
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
"x x x x x x x x x x x x x i i i";
;
memory "lock"
size = 1;
min_write_delay = 4500;
max_write_delay = 4500;
read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
"x x x x x x x x x x o o o o o o";
write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
"x x x x x x x x 1 1 i i i i i i";
;
memory "calibration"
size = 1;
read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
"0 0 0 0 0 0 0 0 o o o o o o o o";
;
memory "signature"
size = 3;
read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
"x x x x x x a1 a0 o o o o o o o o";
;
;
#------------------------------------------------------------
# ATmega168P
#------------------------------------------------------------
part parent "m168"
id = "m168p";
desc = "ATmega168P";
signature = 0x1e 0x94 0x0b;
ocdrev = 1;
;
Может кому пригодится информация: Проверяйте на какой путь ссылается IDE ! Я мучался, правил boards.txt в ProgramFiles, а IDE ссылалось на "мои документы..///"
И еще! После успешной загрузки бутлоадера не забываем поправить boards обратно (с 168p на 168)!
а у меня нету такой строки diecimila.build.mcu=atmega168
Потому что эта строка из древней версии arduino-1.0.3. Сейчас конфиг выглядит немного по-другому. Ищи строчки с окончанием build.mcu=atmega168 . Их там несколько штук для нескольких вариантов плат на атмега168.
В аддоне miniCore все вариации мк мега 8...328 поддерживаются без шаманств. И позволяют использовать новый бутлоадер (512 байт флэша) а не старый (2к флэша) + куча прочих возможностей :)
nikolaki
Огромное спасибо за подсказку нано ожила.
C:\arduino-1.6.7\hardware\tools\avr\etc\avrdude.conf
У меня есть и это:
И это:
Как я и говорил... вы что то не там подправили... или не перезапустили IDE... строку видите:
avrdude.conf -v -v -v -v -patmega168 -cstk500v1...
а должно быть:
avrdude.conf -v -v -v -v -patmega168p -cstk500v1....
Может кому пригодится информация: Проверяйте на какой путь ссылается IDE ! Я мучался, правил boards.txt в ProgramFiles, а IDE ссылалось на "мои документы..///"
И еще! После успешной загрузки бутлоадера не забываем поправить boards обратно (с 168p на 168)!
В файле \arduino-1.0.3\hardware\arduino\boards.txt в строке diecimila.build.mcu=atmega168 добавляете
буковку p (пэ англ.), сохраняете файл, перезапускаете IDE.
И будет вам счастье.
а у меня нету такой строки diecimila.build.mcu=atmega168
что же делать ?
шью через уно
плата новая по заводу залит блинк на 1 сек
пробовал залить другой скеч светодиод рх тх пару раз мигнул и загрузка повисла
перепрошить загрузчик выскакивает ошибка
avrdude: Expected signature for ATmega168 is 1E 94 06
а у меня нету такой строки diecimila.build.mcu=atmega168
Потому что эта строка из древней версии arduino-1.0.3. Сейчас конфиг выглядит немного по-другому. Ищи строчки с окончанием build.mcu=atmega168 . Их там несколько штук для нескольких вариантов плат на атмега168.
Интересно, для кого лучшие умы библиотеки составляют )))
при попытке залить сразу вылетает ошибка
Интересно, для кого лучшие умы библиотеки составляют )))
у меня такого нету
поправил остальные строчки
теперь пишит
Интересно, для кого лучшие умы библиотеки составляют )))
у меня такого нету
Клапа запретил поставить библиотеку miniCore?
Интересно, для кого лучшие умы библиотеки составляют )))
у меня такого нету
Клапа запретил поставить библиотеку miniCore?
скачал установил ничего не поменялось
а винда какая? с 1.8.10 дел не имел, запустите 1.8.3 у неё нет проблем при записи загрузчика
а с какого такого перепугу у вас плата ардуино нана, когда должна быть атмега 168 вариант P
да разобрался где выбрать
но бесполезно через Р и РА тоже не шьётся
ты текст скинь сюда а не картинки
1. а подключаете как?
2. на версии 1.8.3 пробовали?
подключаю как и всегда
я пробовал в 1810 189 182
Не шьётся именно эта плата? если другая шьётся, тогда посмотреть фото чипа
нешьются именно 168РА
328 и 328Р без проблем загрузчик меняю от уно и работают прекрасно
может она 8 мегагерцовая?
бредятина какаято
поставил 8 мгц екстернал не прошилась
поставил 8 мгц интернал прошилась
поставил 20 мгц прошилась
поставил 16 мгц прошилась
до этого на 16 мгц не шилась
и как это понимать ?
выбирал из miniCore
бредятина какаято
поставил 8 мгц екстернал не прошилась
поставил 8 мгц интернал прошилась
поставил 20 мгц прошилась
поставил 16 мгц прошилась
до этого на 16 мгц не шилась
и как это понимать ?
выбирал из miniCore
загрузчик оригинально слетел )))
только вот всеравно в неё ничего не грузится
светодиоды мигают и загрузка висит как раньше не завершается
только вот всеравно в неё ничего не грузится
светодиоды мигают и загрузка висит как раньше не завершается
так всё таки кварц какой?
низнаю там кропаль с птичками
в общем всё загрузилось
но с одним исключением только через miniCore
основная библиотека среды отказывается работать теперь с этими платами перепрошитыми через miniCore
но самое забавное таже плата из той же партии с которой не было проблем заливает как из основной библиотеки так и из miniCore заливает блинк
у меня с пьезами плат нет, как маркируется по частоте не знаю, на кварце же всё написано )))
я не могу найти маркировку яндекс без понятия что это
вроде 16 мегагерц 3 pin 3213 smd
https://ru.aliexpress.com/item/32326428472.html?gsaid=32027&_gs_ref=c46e...
Решение проблемы:
1. Скачиваете avrdude.
2. В avrdude.conf (открытом через блокнот) находите блок:
5. Закрывете и сохраняете.
6. Прошиваете бутлодер от ардуинки с контроллером Atmega168 (который находите в интернете: "ATmegaBOOT_168_diecimila.hex")
Шьете через программатор (я шил через USBasp):
avrdude.exe avrdude.conf -v -patmega168p -cusbasp -Pusb -Uflash:w:ATmegaBOOT_168_diecimila.hex
4. Заходите в Arduino IDE и пользуетесь ))
В аддоне miniCore все вариации мк мега 8...328 поддерживаются без шаманств. И позволяют использовать новый бутлоадер (512 байт флэша) а не старый (2к флэша) + куча прочих возможностей :)