Język C - Umieszczanie tablic pod wyznaczonym adresem
- Aro
- Użytkownik
- Posty: 677
- Rejestracja: 30 paź 2006, 18:49
- Lokalizacja: Świerczyniec | Wrocław
- Kontakt:
Język C - Umieszczanie tablic pod wyznaczonym adresem
Witam, Nigdzie nie mogę znaleźc info czy jest taka możliwośc i jak to zrobic. Muszę jakoś umieścic tablicę zaczynającą się pod adresem 0x100, ewentualnie 0x200 lub 0x300. Generalnie chodzi o to, żeby potem jak najszybciej ją odczytac. Ma ona 256bajtów więc takie rozmieszczenie pozwoli operowac tylko na jednym rejsetrze Z (R30). Mowa o mikrokontrolerze Atmega8. Czy da się ustawiac z poziomu języka C adresy zmienneych i tablic w pamięci SRAM?
W części 16 kursu zawarłem dokładne informacje na ten temat. W tym przypadku chodziło o umieszczenie zmiennej w pamięci zewnętrznej, jednak odbywa się to właśnie przez stworzenie sekcji zaczynającej się do wybranego adresu. Omawiam tam także przesuwanie stosu. O samych sekcjach można znaleźć też informacje w części 12 - jednak można i bez tego zrozumieć materiał części 16.
- Aro
- Użytkownik
- Posty: 677
- Rejestracja: 30 paź 2006, 18:49
- Lokalizacja: Świerczyniec | Wrocław
- Kontakt:
Wielkie dzięki!
Zdobyłem ten numer, i tak przypadkiem zobaczyłem, że pamięc atmegi162 zaczyna sie od 0x100H, myślę że kompilator umieści taką tablice pod 0x400H. To rozwiązało by cały problem. W atmedze8 umieszczał pod 0x360H i zamiast robic dodatkowe sekcję postanowiłem trochę nieelegancko dołożyc jeszcze jendą tablicę, tak że adres właściwej znalazł się tam gdzie trzeba. Wszystko działa jak trzeba (przynajmniej narazie:).
Zdobyłem ten numer, i tak przypadkiem zobaczyłem, że pamięc atmegi162 zaczyna sie od 0x100H, myślę że kompilator umieści taką tablice pod 0x400H. To rozwiązało by cały problem. W atmedze8 umieszczał pod 0x360H i zamiast robic dodatkowe sekcję postanowiłem trochę nieelegancko dołożyc jeszcze jendą tablicę, tak że adres właściwej znalazł się tam gdzie trzeba. Wszystko działa jak trzeba (przynajmniej narazie:).