да и команды такой не существует, которая возвращала бы размер страницы.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Код: Выделить всё
$ grep "PAGESIZE" /usr/share/avra/*.inc
/usr/share/avra/m1280def.inc:.equ PAGESIZE = 128
/usr/share/avra/m128def.inc:.equ PAGESIZE = 128
/usr/share/avra/m161def.inc:.equ PAGESIZE = 64
/usr/share/avra/m162def.inc:.equ PAGESIZE = 64
/usr/share/avra/m163def.inc:.equ PAGESIZE = 64
/usr/share/avra/m165def.inc:.equ PAGESIZE = 64
/usr/share/avra/m168def.inc:.equ PAGESIZE = 64
/usr/share/avra/m169def.inc:.equ PAGESIZE = 64
/usr/share/avra/m16def.inc:.equ PAGESIZE = 64
/usr/share/avra/m2560def.inc:.equ PAGESIZE = 128
/usr/share/avra/m2561def.inc:.equ PAGESIZE = 128
/usr/share/avra/m323def.inc:.equ PAGESIZE = 64
/usr/share/avra/m3250def.inc:.equ PAGESIZE = 64
/usr/share/avra/m325def.inc:.equ PAGESIZE = 64
/usr/share/avra/m328Pdef.inc:.equ PAGESIZE = 64
/usr/share/avra/m3290def.inc:.equ PAGESIZE = 64
/usr/share/avra/m329def.inc:.equ PAGESIZE = 64
/usr/share/avra/m32def.inc:.equ PAGESIZE = 64
/usr/share/avra/m406def.inc:.equ PAGESIZE = 32
/usr/share/avra/m48def.inc:.equ PAGESIZE = 32
/usr/share/avra/m644def.inc:.equ PAGESIZE = 128
/usr/share/avra/m649def.inc:.equ PAGESIZE = 128
/usr/share/avra/m64def.inc:.equ PAGESIZE = 128
/usr/share/avra/m8515def.inc:.equ PAGESIZE = 32
/usr/share/avra/m8535def.inc:.equ PAGESIZE = 32
/usr/share/avra/m88def.inc:.equ PAGESIZE = 32
/usr/share/avra/m8def.inc:.equ PAGESIZE = 32
/usr/share/avra/pwm2def.inc:.equ PAGESIZE = 32
/usr/share/avra/pwm3def.inc:.equ PAGESIZE = 32
/usr/share/avra/tn10def.inc:.equ PAGESIZE = 16
/usr/share/avra/tn13Adef.inc:.equ PAGESIZE = 16
/usr/share/avra/tn13def.inc:.equ PAGESIZE = 16
/usr/share/avra/tn20def.inc:.equ PAGESIZE = 32
/usr/share/avra/tn2313Adef.inc:.equ PAGESIZE = 16
/usr/share/avra/tn2313def.inc:.equ PAGESIZE = 16
/usr/share/avra/tn24Adef.inc:.equ PAGESIZE = 16
/usr/share/avra/tn24def.inc:.equ PAGESIZE = 16
/usr/share/avra/tn25def.inc:.equ PAGESIZE = 16
/usr/share/avra/tn4313def.inc:.equ PAGESIZE = 32
/usr/share/avra/tn44Adef.inc:.equ PAGESIZE = 32
/usr/share/avra/tn44def.inc:.equ PAGESIZE = 32
/usr/share/avra/tn45def.inc:.equ PAGESIZE = 32
/usr/share/avra/tn48def.inc:.equ PAGESIZE = 32
/usr/share/avra/tn84def.inc:.equ PAGESIZE = 32
/usr/share/avra/tn85def.inc:.equ PAGESIZE = 32
/usr/share/avra/tn88def.inc:.equ PAGESIZE = 32
Код: Выделить всё
$ grep "SPM_PAGESIZE" /usr/lib/avr/include/avr/*.h
/usr/lib/avr/include/avr/boot.h: for (i=0; i<SPM_PAGESIZE; i+=2)
/usr/lib/avr/include/avr/io90pwm161.h:# define SPM_PAGESIZE 128
/usr/lib/avr/include/avr/io90pwm161.h:# define SPM_PAGESIZE 128U
...
/usr/lib/avr/include/avr/iox128a3u.h:# define SPM_PAGESIZE 512
/usr/lib/avr/include/avr/iox128a3u.h:# define SPM_PAGESIZE 512U
/usr/lib/avr/include/avr/iox128a4u.h:# define SPM_PAGESIZE 256
/usr/lib/avr/include/avr/iox128a4u.h:# define SPM_PAGESIZE 256U
...вот именно!COKPOWEHEU писал(а):То есть МК у тебя все-таки знает размер своей страницы.
поскольку у меня сделано всего 4 загрузчика (8, 88, 168, 328), мне по херу другие размеры страницы у других МК.COKPOWEHEU писал(а):размер страницы бывает от 16 до 128 слов
вот именно![/uquote]COKPOWEHEU писал(а):То есть МК у тебя все-таки знает размер своей страницы.
моя комповая программа вычисляет новое значение этой константы и передает в загрузчик. а загрузчик САМ В СЕБЯ записывает эту константу.COKPOWEHEU писал(а):Файл chip45boot2/bootloader/main.c, 223 строка.
я в своем загрузчике на фиксированную скорость порта тоже использую watchdog.Adrift писал(а):на mega88 для таймаута уже watchdog используется.
Ну, справедливости ради, ардуина как отладочная плата получилась довольно удачной: подключается по единственному USB, прошивается и отлаживается. Для проверки чего-нибудь по-быстрому вполне удобно. Для серьезной работы, понятное дело, нет.smacorp писал(а):А нахера тратить даже 512 байт на загрузчик, который не в состоянии до фьюзов дотянуться?
Вообще мимо.smacorp писал(а):Загрузчики создаются с целью популяризации микроконтроллеров. Не уверен до конца, но думаю, что придумали их с появлением первого Ардуино,
А смысл ими хвастаться? Подобные штуки пишутся скорее под конкретный алгоритм шифрования, конкретный протокол обмена и вообще под конкретное устройство. И для того, кто сумел изготовить устройство, достойное воровства, написать загрузчик проблемой тем более не является.Starichok51 писал(а):а про шифрованную прошивку - я не знаю загрузчиков, которые бы расшифровывали принятую для записи информацию.
вот именно, разговор начался с кратного выигрыша в объеме кода при одинаковом функционале.COKPOWEHEU писал(а):Разговор-то начался с твоего хвастовства будто бы ассемблер дает кратный выигрыш в объеме кода.
вот именно, разговор начался с кратного выигрыша в объеме кода при одинаковом функционале.[/uquote]COKPOWEHEU писал(а):Разговор-то начался с твоего хвастовства будто бы ассемблер дает кратный выигрыш в объеме кода.
Да и вообще. Хвастаться какой компактный код удалось написать для контроллера из прошлого тысячелетия... Сейчас это оправдано разве что в контексте искусства, демосцены. А не чего-то полезного практически.Adrift писал(а):Вы выбрали неудачный проект для сравнения
Это он докопался своим хвастовством.Demiurg писал(а):Вы что до человека докопались?