предлагаю что-то типа бесплатного и бесполезного соревнования по получению кода минимального размера с заданными параметрами, этакий хелловорд для AVR.
идея навеяна многократными вопросами о размерах и постоянном упоминании размеров прошивки практически в любой теме о МК.
вот, пока идея такая:
1. условия:
- код на С/С++, любой доступный компилятор Си/С++;
- запрещается ассемблер, ассемблерные вставки (ключевое слово asm), кроме входящих в "стандартный" комплект компилятора (aka libc);
- запрещаются любые "хаки" с использованием линкера типа линковки готового бинарного файла;
- разрешаются любые документированные и недокументированные фичи компилятора/линкера, которые можно повторить "стандартными" методами, т.е. командной строкой или makefile;
- разрешается использование любых фьюзов и т.п. аппаратных нюансов МК, которые могут быть повторены каждым без спец-приспособлений;
- МК тактируется только от любого доступного внутреннего источника тактирования.
2. задача:
- код генерации меандра 1 Гц для микроконтроллера attiny13
3. оценка результата:
- предлагаю оценивать результат в баллах по формуле:
(2048 + 64) / ((size + ram) * max(1, F)/min(1, F)), где:
size - размер прошивки в байтах;
ram - количество байт статически занятой памяти;
F - частота генерируемого сигнала.
max и min - это, соответственно, наибольшее и наименьшее из двух значений. это для того, чтобы оценить точность формирования меандра
посоревнуемся? кто первый, у кого меньше?
проверять можно в протеусе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!





