Witam
Mam następujący problem, chciałem sobie zrobić prosty sterownik obrotów wentylatora PC na attiny 13-jak wiadomo ma on tylko 1 kB pamięci. I teraz tak jako kompilatora używam AVR studio z ustawioną optymalizacją -Os.
Zadeklarowałem tablice w eepromie mikrokontrolera która według moich wyliczeń powinna zajmować 64 bajty (tablica dwukolumnowa po 16 wierszy uint16 czyli powinna zając 64 bajty)
Tablica wygląda tak:
I po kompilacji AVR studio wypisuje komunikat o zajętości pamięci:
AVR Memory Usage
----------------
Device: attiny13
Program: 480 bytes (46.9% Full)
(.text + .data + .bootloader)
Data: 2 bytes (3.1% Full)
(.data + .bss + .noinit)
EEPROM: 64 bytes (100.0% Full)
(.eeprom)
Jednakże po kompilacji docelowy plik epp zajmuje 193 bajty.
Podobnie jest z plikiem hex zawierającym program - zajmuje prawie 1,3 kB.
Z czego to wynika i skąd te rozbieżności ??
Poszukałem trochę na forum podobnych wątków ale nigdzie nikt bezpośredniego nie poruszał tego zagadnienia.
Z góry dziękuje za odpowiedź.
Pozdrawiam
Mam następujący problem, chciałem sobie zrobić prosty sterownik obrotów wentylatora PC na attiny 13-jak wiadomo ma on tylko 1 kB pamięci. I teraz tak jako kompilatora używam AVR studio z ustawioną optymalizacją -Os.
Zadeklarowałem tablice w eepromie mikrokontrolera która według moich wyliczeń powinna zajmować 64 bajty (tablica dwukolumnowa po 16 wierszy uint16 czyli powinna zając 64 bajty)
Tablica wygląda tak:
EEMEM uint16_t LUT[][2]={
{40, 120},
{81, 93},
{122, 78},
{163, 68},
{204, 60},
{245, 54},
{286, 48},
{327, 43},
{368, 39},
{409, 34},
{450, 31},
{491, 27},
{532, 23},
{573, 20},
{614, 16},
{655, 13},
};I po kompilacji AVR studio wypisuje komunikat o zajętości pamięci:
AVR Memory Usage
----------------
Device: attiny13
Program: 480 bytes (46.9% Full)
(.text + .data + .bootloader)
Data: 2 bytes (3.1% Full)
(.data + .bss + .noinit)
EEPROM: 64 bytes (100.0% Full)
(.eeprom)
Jednakże po kompilacji docelowy plik epp zajmuje 193 bajty.
Podobnie jest z plikiem hex zawierającym program - zajmuje prawie 1,3 kB.
Z czego to wynika i skąd te rozbieżności ??
Poszukałem trochę na forum podobnych wątków ale nigdzie nikt bezpośredniego nie poruszał tego zagadnienia.
Z góry dziękuje za odpowiedź.
Pozdrawiam
