FAQ | Points | Add... | Recent posts | Search | Register | Log in


WinAvr - prob. z wyjscie poza obszar danych.


Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> WinAvr - prob. z wyjscie poza obszar danych.
Author
Message
lkapiec
Poziom 3
Poziom 3


Joined: 18 Apr 2005
Posts: 6
Location: Lublin

Post#1 Post from the author of the topic 09 May 2006 07:58   

WinAvr - prob. z wyjscie poza obszar danych.


Witam. To jest mój pierwszy post na elektrode.

Problem wygląda następująco:

AVR Memory Usage
----------------
Device: atmega128

Program: 39324 bytes (30.0% Full)
(.text + .data + .bootloader)

Data: 4113 bytes (100.4% Full)
(.data + .bss + .noinit)

(zaczolem programowac winavr dopiero miesiac temu - i jeszcze nie znam teog środowiska)

Chodzi dokladnie o wyjscie poza obszar danych, stąd moje pytania:

>>Data: 4113 bytes (100.4% Full)
>>(.data + .bss + .noinit)

1) czy to jest grozne ?? (kompilator poza taka informacja nic wroznego nie pisze)
2) jesli tak co moge robic by zmniejszyc zajetosc tej pamięci ?
(wrzucanie > static char tablica_stringow[] = {"ble", "bla", "ble"} ; do .progmem powoduje wieszanie sie :cry:)

Prosze o pomoc.
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 09 May 2006 07:58   





Back to top
   
GienekS
Poziom 22
Poziom 22


Joined: 12 Oct 2003
Posts: 1964
Location: Tarnowskie Góry

Post#2 09 May 2006 08:17   

Re: WinAvr - prob. z wyjscie poza obszar danych.


lkapiec wrote:
(wrzucanie > static char tablica_stringow[] = {"ble", "bla", "ble"} ; do .progmem powoduje wieszanie sie :cry:)

Prosze o pomoc.
Widocznie wszystkie dane chcesz mieć w pamięci danych. Musisz te co są mniej krytyczne wstawić do pamięci programu. W WinAVR jest to typ
Code:
prog_char tablica_stringow[] = {"ble", "bla", "ble"} ;
wtedy zwiększy się zajętość pamięci programu a nie danych.
Back to top
   
Google

Google Adsense


Post# 09 May 2006 08:17   





Back to top
   
adamusx
Poziom 20
Poziom 20


Joined: 28 Feb 2004
Posts: 856
Location: Poznań

Post#3 09 May 2006 09:17   

Re: WinAvr - prob. z wyjscie poza obszar danych.


Po prostu sie RAMik skonczyl :)

Ale z teg co widze to jakis dosc rozbudowany ten program, skoro przepelniles ATmege 128. Jesli uzywasz przerwan to staraj sie umieszczac jak najmniej kodu w nich, bez petli itp zeby stos byl maly.

No i oczywiscie wszystkie dane statyczne jak napisal GinekS powstawiaj do pamieci programu.
Back to top
   
Google

Google Adsense


Post# 09 May 2006 09:17   





Back to top
   
lkapiec
Poziom 3
Poziom 3


Joined: 18 Apr 2005
Posts: 6
Location: Lublin

Post#4 Post from the author of the topic 09 May 2006 12:57   

Re: WinAvr - prob. z wyjscie poza obszar danych.


Dzięki, natchneliscie mnie ...
rozwiązalem to w ten sposób :

... kod przykladowy ...

#include <avr/pgmspace.h>

/* definicje, deklaracje, takie tam */
const prog_char girl_agata[] = "Agata";
const prog_char girl_monika[] = "Monika";
const prog_char girl_beata[] = "Beata";
PGM_P dziewczyny[3] = {girl_agata, girl_monika, girl_beata};

unsigned char message_buffer_[18];

/* funkcje, program gówny */

int main(void)
{
strncpy_P(message_buffer_, dziewczyny[1], 5);
lcd_writetext(message_buffer_);
}

Pozdrawiam
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> WinAvr - prob. z wyjscie poza obszar danych.
Page 1 of 1
Similar topics
[atmega8][c][winavr] odbiór kilku bajtów danych przez rs (11)
[ATmega162][WinAVR] Timer i odbieranie danych po SPI (2)
[avr][C/WinAvr] - szeregowe wysyłanie danych (7)
[Attiny2313][c]Szybkie przenoszenie danych poza przerwanie (18)
Zapis danych do zewn pamięci danych - WINAVR (1)
jak przerobic wyjscie glosnikowe na wyjscie pod suba (2)
[AVR][WINAVR] Numerowanie kolejnych kompilacji pod WinAVR (4)
[WinAVR] WinAVR nie generuje plików. (7)

Page generation time: 0.09 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed