Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ATmega128 и tiny memory
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Nikola Kirov
На етот момент работал толко с 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

Кто то сможет меня обяснит в чем дела?
m16
--------------------------data---------programm
-v0 Tiny __nearfunc ≤ 256 bytes ≤ 8 Kbytes
-v1 Tiny, Small __nearfunc ≤ 64 Kbytes ≤ 8 Kbytes
-v2 Tiny __nearfunc ≤ 256 bytes ≤ 128 Kbytes
-v3 Tiny, Small __nearfunc ≤ 64 Kbytes ≤ 128 Kbytes
-v4 Small, Large __nearfunc ≤ 16 Mbytes ≤ 128 Kbytes
-v5 Tiny, Small __farfunc* ≤ 64 Kbytes ≤ 8 Mbytes
-v6 Small, Large __farfunc* ≤ 16 Mbytes ≤ 8 Mbytes
Nikola Kirov
Не заметил что ATmega128 не имеет никакои Ram в области 0-FF
GxOST
Небось какой-нибудь апнот атмеловский? В опциях Linker\#define надо поправить константы. Они там в атмеле всю память под ноль рассчитывают...
KRS
Цитата(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 еще расширенные порты
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.