Właśnie jestem po przeczytaniu tej dyskusji:
Link
Faktem jest, że Avr Studio 5 oraz Atmel Studio 6 w informacjach o procesorze pokazuje błędną ilość ramu. Tzn. nie tą, która jest w nim faktycznie. Oczywiście to tylko informacje.
Sam kompilator gcc w Avr Studio 5 działa poprawnie. Jednak z Atmel Studio 6 jest już gorzej. Podam przykład:
Atmega 128. Program w C. W Avr Studio 5 mam zajęte ok. 3kb ramu. Kompilator poprawnie określa ilość pamięci. Jakoś miesiąc temu postanowiłem zainstalować Atmel Studio 6. Jest tam nowsza wersja kompilatora.
I teraz dwie uwagi: po pierwsze ten sam program po kompilacji zajmuje już 5kb ramu. Sprawdziłem opcje linkera i kompilatora i praktycznie się nie zmieniły. Po drugie, tutaj już kompilator twierdzi, że atmega ma 64kb ramu. Sprawdziłem plik "iom128.h" i definicje pamięci są takie same.
Więc o co chodzi? Dodam, że nawet nie sprawdzałem czy ten program zadziała. Nie miałem czasu na eksperymenty.
Link
Faktem jest, że Avr Studio 5 oraz Atmel Studio 6 w informacjach o procesorze pokazuje błędną ilość ramu. Tzn. nie tą, która jest w nim faktycznie. Oczywiście to tylko informacje.
Sam kompilator gcc w Avr Studio 5 działa poprawnie. Jednak z Atmel Studio 6 jest już gorzej. Podam przykład:
Atmega 128. Program w C. W Avr Studio 5 mam zajęte ok. 3kb ramu. Kompilator poprawnie określa ilość pamięci. Jakoś miesiąc temu postanowiłem zainstalować Atmel Studio 6. Jest tam nowsza wersja kompilatora.
I teraz dwie uwagi: po pierwsze ten sam program po kompilacji zajmuje już 5kb ramu. Sprawdziłem opcje linkera i kompilatora i praktycznie się nie zmieniły. Po drugie, tutaj już kompilator twierdzi, że atmega ma 64kb ramu. Sprawdziłem plik "iom128.h" i definicje pamięci są takie same.
Więc o co chodzi? Dodam, że nawet nie sprawdzałem czy ten program zadziała. Nie miałem czasu na eksperymenty.
