pawel
Guest
Mon Aug 25, 2008 1:23 pm
Witam.
Potrzebuję podpiąć pod wspólną szynę adresową atmega128 zewnętrzny ram 32kB,
wyświetlacz lcd, pamięć flash i byćmoże jeszcze coś.
Sprzętowo wiem jak. Jednak nie wiem jak zrobić to w avr-gcc.
Chodzi o to że chciałbym mieć możliwość definiowania zmiennych statycznych
np: tablicowych w tym zewnętrznym
ramie tak żeby kompilator nie "wchrzaniał" mi się z tymi zmiennymi i ze
stosem na obszar adresowy wyświetlacza, i pamięci flash.
Jak zdefiniować takie obszary danych z avr-gcc, żebym mógł swobodnie
doklarować zmienne jak w pamięci wewnętrznej?
Dzięki za pomoc i pozdrawiam
Paweł
Mariusz Koniarz
Guest
Mon Aug 25, 2008 4:10 pm
Szczegóły tutaj:
http://www.sigterm.de/projects/sens-o-nuts/Dokumentation/atmel/libc/malloc.html
a w skrócie w makefile dopisz:
# Internal RAM: stack only, external RAM: variables and heap
# LDFLAGS += -Wl,-Tdata=0x808000,--defsym=__heap_end=0x80ffff
# Internal RAM: variables and stack, external RAM: heap
# LDFLAGS += -Wl,--defsym=__heap_start=0x808000,--defsym=__heap_end=0x80ffff
odkomentuj właściwą linijkę w zależności jak chcesz
W razie pytań gg:3947845
Mariusz Koniarz