Цитата(Nikola Kirov @ Feb 1 2006, 21:37)

На етот момент работал толко с ATmega16 и АТмега32 в IAR.
Решил сделат проект на ATmega128 a оказалос что tiny memory не могу конфигурироват.
вот ето въидает если захочу сделат memory model tyny.
Error[e16]: Segment CSTACK (size: 0x20 align: 0) is too long for segment definition. At least 0x20 more bytes needed. The problem occurred while
processing the segment placement command "-Z(DATA)CSTACK+_..X_CSTACK_SIZE=_..X_SRAM_TBASE:+_..X_SRAM_TSIZE", where at the moment
of placement the available memory ranges were "DATA:0--1"
Смотрел на пдф мега128 но так и не понял почему не могу имет tiny menory
Кто то сможет меня обяснит в чем дела?
tiny это всего лишь модель, дело в том что у АВР если в контроллер памяти (+ регистры и порты) меньше 256 ( 32 регистры 64 порта на память остается 160 байт всего это девайсы у кторых 128 или меньше байт памяти например ATTINY2313) не использует в указателях старший байт, и регистры XH YH ZH могут использоваться как обычный регистр. А в остальных контроллерах для доступа к памяти все равно необходимо использовать все 16 бит адреса.
Поэтому использовать модель tiny нельзя.
Кстати для ATmega16 и АТмега32 тоже tiny будет глючит там адресное пространство выходит за 256 байт.
У Атмеги 128 вообще RAM начинается с адреса 0x100. потому что обычных 64 пора не хватило и до 0ч100 еще расширенные порты