Newsgroup: it.hobby.elettronica.digitale
Titolo: Secondo voi si riesce?

Ciao,
mi sono imbattuto in questo gingillo:
http://www.luminarymicro.com/products/mdl-s2e.html
Diciamo che mi interessa l'hw ma che vorrei modificare il fw a bordo.
Se non ho capito male loro suggeriscono questa via:
http://www.luminarymicro.com/products/reference_development_kit.html
Ma io ho giï¿œ una scheda di sviluppo per gli LM3S6965 l'adattatore per il 
JTAG a 10 pin non ï¿œ un problema.
Dovrei quindi riuscire con quello che ho giï¿œ in casa a riprogrammare il 
micro a bordo? (LM3S6432)
Da profano di web server, una paginetta con alcuni campi (label, check 
box, text box) dovrebbe portare via pochi kb di flash, giusto?
Voglio dire, non so quanto occupi il fw di default, ma se dei 96 kB di 
flash ne avanzassero una manciata riuscirei a permettermi di inserire un 
paio di pagine?
Grazie!
Marco

 non so quanto occupi il fw di default
Il file bin compilato con il gccsourcery ï¿œ di 84,8 kB mentre con lo IAR 
ï¿œ 10 kB in meno.... (file giï¿œ compilati presenti nell'SDK).
Visto che io uso il primo mi avanzano una decina di kB. Dite che mi 
posso avventurare?
Marco

Marco Trapanese ha scritto:

Piï¿œ o meno, ad occhio direi che un firmware con stack tcp e web server 
ti occuperï¿œ diverse decine di kb (dai 40-50kb in su).
Per le pagine, tutto sta a vedere cosa vuoi metterci. Se inizi a mettere 
parecchie immagini l'occupazione sale parecchio.
Se ï¿œ una cosa ultrasemplice, da scrivere una volta e non modificare mai, 
sei a posto cosï¿œ, altrimenti dovrai anche usare un "filesystem" da cui 
caricare le pagine.
I client infatti ti chiederanno i file per nome e a meno che non sia 
davvero poca roba dovrai inventarti un sistema per caricare le pagine e 
le immagini.
-- 
  _|/ Francesco Sacchi - Develer S.r.l., R&D dept.
   |\ 
http://www.develer.com/
 - 
http://www.bertos.org/

 caricare le pagine.
Si, diciamo che la pagina verrebbe scaricata la prima volta tramite una 
seriale e memorizzata nella flash. Poi ï¿œ sempre quella.
In alternativa potrebbe essere generata "al volo" in base al numero di 
campi richiesti.
Per semplificare:
1) collego la scheda al pc tramite seriale (o eth addirittura giï¿œ che ci 
siamo)
2) scarico le coppie parametro/tipo_di_valore che mi servono (e in 
effetti anche i loro valori andranno in flash visto che non c'ï¿œ una eeprom)
3) a questo punto lui genera una pagina con questi campi e me la 
presenta quando un client si collega via eth
A richiesta poi fornisco via seriale il valore di questi campi.
Rientra nella tua definizione di "cosa ultrasemplice" ?
:)
Marco
Grazie!
Marco

 Rientra nella tua definizione di "cosa ultrasemplice" ?
Non ï¿œ ultrasemplice, ma visto che non hai immagini e, di fatto, ï¿œ una 
pagina dinamica, non credo che la pagina in se occupi piï¿œ di 1kb.
Piuttosto, visto che giï¿œ il firmware attuale occupa quasi 85kb, non sono 
sicuro che con 10k riesci a fare il protocollo di comunicazione e la 
gestione/applicazione dei valori.
Se ce la fai, sei proprio preciso.
BTW, il gcc con che opzioni compila? Prova ad usare -Os se non ï¿œ giï¿œ cosï¿œ.


 paio di pagine?
Il tuo stack gestisce anche ftp o tftp? Senza file system mi sa di no...

 BTW, il gcc con che opzioni compila? Prova ad usare -Os se non ï¿œ giï¿œ cosï¿œ.
Non ho ancora aperto il progetto (che ï¿œ sempre un casino con Eclipse) ma 
guardando il makefile mi pare che compili con -Os.
Marco

 Il tuo stack gestisce anche ftp o tftp? Senza file system mi sa di no...
E' basato sull' lwIP della LM che supporta:
ip, icmp, udp, tcp, dhcp, ppp, arp
Quindi niente ftp.
In alternativa propongo la seguente domanda: vorrei imparare a gestire 
l'ethernet sui sistemi a uC. Mi consigliate un buon tutorial/app note 
basato su micro *reperibili* e non troppo costosi, con librerie a 
corredo che coprano un po' tutti gli usi pi� comuni? Intendo IP, TCP/IP, 
HTTP, FTP, SMTP...
Marco

 HTTP, FTP, SMTP...
Ah, saperlo... Comunque i protocolli che hai citato fanno tutti parte,
diciamo cos�, del "TCP/IP di base". Grosso modo:
- ip � la base di tutto, ovvero come � composto un pacchetto internet.
- icmp � diagnostico. Ping ne � l'esempio pi� noto.
- udp dice come mandare i pacchetti ip
- tcp dice come fare in modo che tutti i pacchetti udp arrivino ed arrivino
nell'ordine corretto.
- dhcp ti serve per assegnare indirizzi IP dinamici.
- ppp serve per comunicare da punto a punto, facendoci passare in mezzo di
tutto.
- arp mette in corrispondenza il tuo indirizzo IP con il tuo MAC (indirizzo
ethernet, teoricamente fisso ed unico al mondo) e serve appunto per far
funzionare TCP/IP su ethernet.
Sulla base di TCP/IP sono costruiti i servizi pi� ad alto livello
("applicazioni"), in ordine cronologico: snmp, telnet, smtp, ftp, dns, http
e compagnia.
Non � banale...

 Non � banale...
Infatti :)
Non per nulla cerco una famiglia di micro che ha gi� le librerie. I LM 
sono tra questi con la lwIP, per lo meno per i servizi base. Poi con 
qualche codice di esempio... si va avanti!
Marco

 HTTP, FTP, SMTP...
pic18 e lo stack (modulare) di microchip;
oppure anche qualcosa custom tipo
http://tinyurl.com/ydlpfk4
ps: non ï¿œ un consiglio nel senso "ï¿œ il meglio che ci sia sulla piazza" 
dato che ho solo iniziato a studiarmelo...
-ice-

 nell'ordine corretto.
No, UDP e TCP vivono allo stesso livello e sono mutuamente esclusivi, 
UDP è il protocollo datagram ed è connectionless, cioè non ha il 
concetto di connessione tra due host, TCP invece ha il concetto di 
connessione cioè realizza un canale tra due host e si preoccupa di 
verificare che il flusso di dati trasmesso sul canale venga ricevuto in 
maniera corretta.
Non è che TCP si appoggi ad UDP.

 dato che ho solo iniziato a studiarmelo...
Grazie! E' comunque un'alternativa da valutare.
Marco

 HTTP, FTP, SMTP...
Ma i moduli Rabbit? Li hai abbandonati? :)
Lo stack tcp/ip è notevole, le librerie dei vari servizi un po' meno ma 
con una abbondante ritoccata alle LIB si rendono stabili e performanti.
--
seb

 con una abbondante ritoccata alle LIB si rendono stabili e performanti.
Continuo a usarli :)
Ma fanno un po' a botte con il discorso non troppo costosi!
In alcuni progetti basta un AVR da 8 bit a 8 MHz ma sarebbe cosa 
estremamente gradita avere la possibilità di configurare dei parametri 
via ethernet (web server). Ci sono anche altri modi, ovvio, ma per 
diversi motivi questo sarebbe un vantaggio non indifferente.
Però capisci che se il costo del materiale della mia scheda non supera i 
10 euro non ha senso metterci un modulo Rabbit da minimo 40 euro.
Quindi cercavo un micro economico (tipo gli STM32, o al limite i LM che 
comunque non sono proprio a buon mercato) che mi permettesse di 
aggiungere la connettività ethernet ai progetti esistenti oppure di 
utilizzarli direttamente per i nuovi.
Marco

 utilizzarli direttamente per i nuovi.
Chiaro, stavo valutando anch'io una alternativa _lite_ e l'occhio è 
cascato sul PIC1867J60 che ha tutto il necessario a bordo (MCU + MAC + 
PHY) con costi più che ragionevoli.
Ci sono dei progettini in rete che lo utilizzano, giusto per farti 
un'idea, cerca ftpmicro.
--
seb

 un'idea, cerca ftpmicro.
Interessante anche questa strada, ci proverò volentieri appena ho un 
attimo di tempo! In effetti costano molto poco questi.
Grazie
Marco

 ci proverò volentieri appena ho un attimo di tempo!
A chi lo dici :) Ho già tutto, devo solo fare lo stampato!
--
seb

 Non è che TCP si appoggi ad UDP.
Ah. Ok, grazie.