mało pamięci rtl8019as i atmega8535
Masz problem? Zapytaj na forum elektroda.pl
From: "Paweł" <paw1976_at_nospam_poczta.onet.pl>
Subject: mało pamięci rtl8019as i atmega8535
Date: Thu, 6 Oct 2005 10:58:18 +0200
Witam.
Piszę taki prosty serwerek www, ze swoim stosem tcp.
Zaimplementowałem arp, icmp, i mały serwerek www.
Wszystko pięknie działa tyko ten serwerk www jest mocno
okrojony. Problem mam z brakiem pamięci programu w atmega8535.
Napisałem kika prościutkich stronek, formularzy i w czystym html
które przechowuję w pamięci programu i ta szybciutko się wyczerpała.
Pokombinowałem trochę na zmiennych JavaScript, ale parę liniek i zaraz znowu
koniec.
Czy macie jakiś sposób na lepsze "upakowanie" stronki w mikrokontrolerze?
A może atmega8535 to za mało na taki serwerek ?
Dziękuję za pomoc
Pozdrawiam
Paweł
From: =?iso-8859-2?Q?S=B3awomir?= Szczyrba <steev_at_nospam_.hot.pl>
Subject: Re: =?iso-8859-2?Q?ma=B3o_pami=EAci?= rtl8019as i atmega8535
Date: 6 Oct 2005 12:11:00 +0200
Paweł - where do you want to go today ?
Czy macie jakiś sposób na lepsze "upakowanie" stronki w mikrokontrolerze?
A może atmega8535 to za mało na taki serwerek ?
A nie możesz stron trzymać w pamięci zewnętrznej?
Paweł
Sławek
--
________
_/ __/ __/ The sig is MIA, presumed dead...
\__ \__ \_______________________________________________________________
/___/___/ Sławomir Szczyrba steev(AT)hot(dot)pl
From: "Paweł" <paw1976_at_nospam_poczta.onet.pl>
Subject: Re: mało pamięci rtl8019as i atmega8535
Date: Thu, 6 Oct 2005 12:05:27 +0200
A nie możesz stron trzymać w pamięci zewnętrznej?
Mogę tylko chodzi raczej o minimalizaję kosztów a co za tym idzie układu.
Jeżeli iść tą drogą to równie dobrze mogę użyć do tego jakiejś
większej atmegi.
Pozdrawiam
Paweł
From: "T.M.F." <tfrancuz_at_nospam_nospam-mp.pl>
Subject: Re: =?ISO-8859-2?Q?ma=B3o_pami=EAci_rtl8019as_i_atmega85?=
Date: Thu, 06 Oct 2005 12:32:00 +0200
Mogę tylko chodzi raczej o minimalizaję kosztów a co za tym idzie układu.
Jeżeli iść tą drogą to równie dobrze mogę użyć do tego jakiejś
większej atmegi.
Podlaczenie zewnetrznego szeregowego EEPROMu nie zwiekszy ci istotnie
kosztow, a doda ci sporo miejsca.
Ew. trzymaj stronki w pamieci FLASH procka, o ile ci jeszcze zostalo
troche. Ten procek chyba ma instrukcje LPM ?
From: "Paweł" <paw1976_at_nospam_poczta.onet.pl>
Subject: Re: mało pamięci rtl8019as i atmega8535
Date: Thu, 6 Oct 2005 12:47:17 +0200
Podlaczenie zewnetrznego szeregowego EEPROMu nie zwiekszy ci istotnie
kosztow, a doda ci sporo miejsca.
Ew. trzymaj stronki w pamieci FLASH procka, o ile ci jeszcze zostalo
troche. Ten procek chyba ma instrukcje LPM ?
No właśnie trzymam te stronki w pamięci programu.
Z tym że sama obsługa arp, icmp, ip, tcp bez htmli zajmuje 77% flasha.
czyli jakieś 6,3kB (i to jeszcze nie skończone).
Na html zostaje około 1,8kB. Ale już np. taka krótka linijka
<FRAME SCROLLING=auto NAME=main SRC=start.html>
zajmuje 47 bajtów, to niech takich linijek mogę mieć powiedzmy 40
to i tak co to jest.
Chyba rzeczywiście nie ma co się wygłupiać i wziąść większego procka.
Dzięki
Pozdrawiam
Paweł
From: "T.M.F." <tfrancuz_at_nospam_nospam-mp.pl>
Subject: Re: =?ISO-8859-2?Q?ma=B3o_pami=EAci_rtl8019as_i_atmega85?=
Date: Thu, 06 Oct 2005 13:07:21 +0200
Chyba rzeczywiście nie ma co się wygłupiać i wziąść większego procka.
Przy czym wiekszy proc niekoniecznie rozwiaze twoj problem. Taka
ATMega128 ma tylko 128kB, a byle jaki szeregowy EEPROM, ktor zajmnie ci
2 linie IO procka moze miec 64kB do kilku MB. Wiec na twoim miejscu
poszedlbym raczej w tym kierunku. Nie wspominajac juz o wykorzystaniu
jakiejs karty typu RS-MMC, gdzie za niecale 150zl masz nawet 512 MB.
From: "Paweł" <paw1976_at_nospam_poczta.onet.pl>
Subject: Re: mało pamięci rtl8019as i atmega8535
Date: Thu, 6 Oct 2005 13:17:48 +0200
Przy czym wiekszy proc niekoniecznie rozwiaze twoj problem.
Mój problem rozwiąże już atmega6 z 16K flasha, chyba będzie w sam raz.
Nie jest to skomplikowane urządzenie i prawie udało mi się zmieścić to w
8K. Myślałem że może jednak da się to jakoś zrobić. Mógłbym zrobić
konfigurację urządzenia po UDP a nie TCP ale musiałbym pisać dodatkowy
program obsługi na peceta, a przeglądarka jednak jest na wszystkich
systemach.
Paweł
From: "Jacek R. Radzikowski" <jacek_at_nospam_spamer.die.die.die.piranet.org>
Subject: Re: ma?o pami?ci rtl8019as i atmega8535
Date: Fri, 7 Oct 2005 06:43:46 +0000 (UTC)
"Pawe?" <paw1976_at_nospam_poczta.onet.pl> wrote:
Podlaczenie zewnetrznego szeregowego EEPROMu nie zwiekszy ci istotnie
kosztow, a doda ci sporo miejsca.
Ew. trzymaj stronki w pamieci FLASH procka, o ile ci jeszcze zostalo
troche. Ten procek chyba ma instrukcje LPM ?
No w?a?nie trzymam te stronki w pami?ci programu.
Z tym ?e sama obs?uga arp, icmp, ip, tcp bez htmli zajmuje 77% flasha.
czyli jakie? 6,3kB (i to jeszcze nie sko?czone).
Na html zostaje oko?o 1,8kB. Ale ju? np. taka kr?tka linijka
<FRAME SCROLLING=auto NAME=main SRC=start.html>
zajmuje 47 bajt?w, to niech takich linijek mog? mie? powiedzmy 40
to i tak co to jest.
Nie używaj ramek:)
A tak na serio: "użyj zewnętrznej pamięci" napisali Ci już inni, więc
nie bedę powtarzać. Natomiast o czym nikt nie wspomniał to to, że warto
zwrócić baczną uwagę na kod htlmowy.
- Generatory/edytory stron potrafia wpakować w niego sporo śmiecia, który
ma minimalny wpływ na działanie strony. Htmltidy potrafi zdziałać w takim
przypadku cuda.
- Jeśli masz większą liczbę stron o zbliżonym wyglądzie, wywal wszelkie
formatowanie z htmla do zewnetrznego arkusza stylów css. Pozbędziesz
się w ten sposób formatowania, definicji czcionek, kolorow itp z samego
htmla, pozostanie czysty opis struktury dokumentu. Opis formatowania i
wygladu elementow na stronie będzie w dodatkowym pliku dołączonym do
strony.
Ten sam arkusz css możesz wykorzystać z wieloma stronami, możesz nawet
ściągać go z innego serwera (jeśli taka możliwość wchodzi w grę).
- Jeśli strony mają wspólny nagłówek/stopkę, części wspólne zapisz w
pamięci oddzielnie i dopiero podczas wysyłki łącz z fragmentami
indywidualnymi dla stron. Zgaduję że podobny efekt chcesz osiągnąć
przy pomocy ramek.
- Znaki białe zwykle jedynie poprawiają czytelność kodu. Przeglądarce
jest wszystko jedno czy dostanie strone w postaci jednej długiej linijki,
czy ładnie powcinany i sformatowany kod. Wywal zbedne spacje, tabulatory
i znaki końca linii.
- No i wreszcie... HTTP 1.1 obsługuje kompresję gzip. Wrzuć do pamięci
skompresowany html i w takiej postaci go wysyłaj.
- Skonfiguruj poprawnie polskie ogonki w Outlooku :)
(Kilka pomocnych linków: http://tinyurl.com/d79b6)
pzdr.
j.
Chyba rzeczywi?cie nie ma co si? wyg?upia? i wzi??? wi?kszego procka.
Dzi?ki
Pozdrawiam
Pawe?
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: ma?o pami?ci rtl8019as i atmega8535
Date: Sat, 08 Oct 2005 23:13:57 +0200
Jacek R. Radzikowski wrote:
- No i wreszcie... HTTP 1.1 obsługuje kompresję gzip. Wrzuć do pamięci
skompresowany html i w takiej postaci go wysyłaj.
Nie ma lekko. To przegladarka zglasza serwerowi, ze "umie" kompresje. W
przeciwnym wypadku serwer ma obowiazek nie stosowac kompresji. Trzeba by
trzymac dwie wersje strony czyli jeszcze bardziej pamieciozerne
rozwiazanie (skracajace tylko transfer).
--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/
Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: mało pamięci rtl8019as i atmega8535
Date: Thu, 06 Oct 2005 12:23:55 +0200
On Thu, 6 Oct 2005 10:58:18 +0200, Paweł wrote:
Czy macie jakiś sposób na lepsze "upakowanie" stronki w mikrokontrolerze?
A może atmega8535 to za mało na taki serwerek ?
no coz - jak brakuje pamieci to uzyj wiekszego procka.
A co na tych stronkach jest ? bo upakowac mozna stosunkowo latwo -
zrob slownik, zapamietasz 1 bajt np 81h, a przeslesz do karty
" wykres", czy "<title>"
J.
From: =?ISO-8859-2?Q?=22Mi=B3osz_K=2E=22?= <news_at_nospam_miklobit.WYTNIJTO.com>
Subject: Re: =?ISO-8859-2?Q?ma=B3o_pami=EAci_rtl8019as_i_atmega85?=
Date: Thu, 06 Oct 2005 13:20:34 +0200
J.F. napisał(a):
A co na tych stronkach jest ? bo upakowac mozna stosunkowo latwo -
zrob slownik, zapamietasz 1 bajt np 81h, a przeslesz do karty
" wykres", czy "<title>"
Można. Tylko po co ?
Kostka 4MB flash kosztuje parę złotych ,
a napisanie takiej procedury do pakowania i rozpakowania
nie tylko zajmie czas ale będzie niewygodne przy ew. zmianie strony
bo przecież coś musi tę stronę pakować ( pewnie jakiś kawałek
napisany na PC ).
Poza tym algorytm , który proponujesz jest wybitnie nieefektywny,
bo sam słownik może wyjść bardzo duży. Lepiej jakiś typowy bezstratny
algortym kompresji użyć ( są gotowce ).
--
Miłosz Kłosowicz
------------------------------------------------
AVR : ISP,JTAG,moduły prototypowe (USB,CAN)
TYPO3: projekty, webhosting, sklepy internetowe
-> http://www.miklobit.com
------------------------------------------------
From: UsUn_To_:- <"kaldachar(UsUn_To_:-)"_at_nospam_gazeta.pl>
Subject: Re: =?ISO-8859-2?Q?ma=B3o_pami=EAci_rtl8019as_i_atmega85?=
Date: Thu, 06 Oct 2005 16:57:26 +0200
Miłosz K. wrote:
J.F. napisał(a):
A co na tych stronkach jest ? bo upakowac mozna stosunkowo latwo -
zrob slownik, zapamietasz 1 bajt np 81h, a przeslesz do karty
" wykres", czy "<title>"
Można. Tylko po co ?
Kostka 4MB flash kosztuje parę złotych ,
a napisanie takiej procedury do pakowania i rozpakowania
nie tylko zajmie czas ale będzie niewygodne przy ew. zmianie strony
bo przecież coś musi tę stronę pakować ( pewnie jakiś kawałek
napisany na PC ).
Poza tym algorytm , który proponujesz jest wybitnie nieefektywny,
bo sam słownik może wyjść bardzo duży. Lepiej jakiś typowy bezstratny
algortym kompresji użyć ( są gotowce ).
Bez obrazy dla autora tekstu . Można kupić atmega 128 i to powinno
rozwiązać cały problem . Mnie by było szkoda mojego cennego czasu za
parę złotych .
Pozdrawiam
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: mało pamięci rtl8019as i atmega8535
Date: Thu, 06 Oct 2005 17:53:15 +0200
On Thu, 06 Oct 2005 13:20:34 +0200, Miłosz K. wrote:
J.F. napisał(a):
A co na tych stronkach jest ? bo upakowac mozna stosunkowo latwo -
zrob slownik, zapamietasz 1 bajt np 81h, a przeslesz do karty
" wykres", czy "<title>"
Można. Tylko po co ?
Kostka 4MB flash kosztuje parę złotych ,
Przyznaje sporo racji. Ale szeregowa ?
Wygospodarowanie magistrali troche kosztuje, choc polowe juz chyba ma
do rtl.
a napisanie takiej procedury do pakowania i rozpakowania
nie tylko zajmie czas ale będzie niewygodne przy ew. zmianie strony
bo przecież coś musi tę stronę pakować ( pewnie jakiś kawałek
napisany na PC ).
I tak ktos strone na pececie przygotuje i przesle.
Poza tym algorytm , który proponujesz jest wybitnie nieefektywny,
Ale za to prosty :-)
bo sam słownik może wyjść bardzo duży.
Przyznaje ze efektywnosc moze byc kiepska. Duzo zalezy jakie to strony
i co mu sie czesto powtarza. "<title>" to moze byc kiepski przyklad
jak ma np dwie strony czyli az dwa razy uzyte.
Lepiej jakiś typowy bezstratny algortym kompresji użyć ( są gotowce ).
Hm - na ile sie orientuje to tez wymagaja slownika.
W tym przypadku slownik dobrany do charakteru stron bedzie
efektywniejszy.
J.
From: Wojtek Kaniewski <wojtekka_at_nospam_SPAM.SPAM.SPAM>
Subject: Re: =?ISO-8859-2?Q?ma=B3o_pami=EAci_rtl8019as_i_atmega85?=
Date: Thu, 06 Oct 2005 18:13:44 +0200
J.F. napisał(a):
Lepiej jakiś typowy bezstratny algortym kompresji użyć ( są gotowce ).
Hm - na ile sie orientuje to tez wymagaja slownika.
może LZO?
w.
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: =?ISO-8859-2?Q?ma=B3o_pami=EAci_rtl8019as_i_atmega85?=
Date: Fri, 07 Oct 2005 00:46:46 +0200
Paweł wrote:
Wszystko pięknie działa tyko ten serwerk www jest mocno
okrojony. Problem mam z brakiem pamięci programu w atmega8535.
Napisałem kika prościutkich stronek, formularzy i w czystym html
które przechowuję w pamięci programu i ta szybciutko się wyczerpała.
Doczep 8-pinową pamięć DataFlash, np. AT45DB041B. Kosztuje niecałe 9 zł:
http://www.seguro.pl/cgibin/shop?info=2813
Ma 512 kilobajtów pojemności a to wystarczy na dużą stronę z wieloma
obrazkami. Podłączenie banalne szeregową magistralą SPI.
--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/
Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.