As-tu pris soin de rafraichir le COP périodiquement dans ton code ? Cette étape est nécessaire pour ne pas avoir de TimeOut (débordement du compteur) qui créera un RESET violent. Utilises-tu les Breakpoints/points d'arret ?
Lorsque j'active le watchdog dans mon programme sous code warrior et que je lance le programme sous processor expert, le micro s'arrete de tourner et dans la fenetre "command" il m'affiche: Trigger A & B occurred Sans le watchdog le programme tourne impeccable.
donc, si j'ai bien compris, le uC met dans une mémoire le code ascii de la première lettre, et dans la mémoire qui suit, le code ascii de la seconde lettre et ainsi de suite...
ca implante en mémoire, à l'adresse courante, les codes ascii de ta chaine de caractères, suivie de 0 qui est le marqueur de fin de chaine en langage C notamment.
Du coup ce qu'il te reste a faire c'est: - Porter le driver pour ton S08 - Definir un protocole applicatif (qui se resume peut etre a seulement la definition d'une requete qui peut s'appeler: getTemp par example).
C'est tout ...
Ton application cote S08 se resumerait "en gros" a ca (en pseudo code): Init W5100; Create Socket; Init socket; // Init port, address and also protocol to use Bind socket; Listen for connection;
DO LOOP // When a client connects, accept the connection and process the // incoming data IF accept_incoming_connection THEN Process_incoming_request; Close connection when done; END IF END DO
Et voila un server basique ... Pas besoin d'un server web ... ;) Dans "Process_incoming_request", c'est la que tu parses la requete qui arrive que tu as definie a l'avance, par example une requete peut etre composee de: 1 byte de longueur | 1 byte de request ID | x bytes de donnees (s'il y en a) Si la requete que tu recois et bien une requete de getTemp alors tu fais ta mesure de temperature et tu la renvoies. Bon question protocole, il faudrait quand meme faire mieux mais basiquement l'esprit est la ...
Il convertira les signaux ethernet en RS232 lisible par un microcontroleur.
Je vais développer une page en html pour afficher mes données, hébergée sur mon site internet actuel.
Par contre, je sais faire un site html pour afficher des images ou du texte mais je ne sais pas faire de requètes vers un endroits sur internet. Du genre envoyer un octet à l'adresse du microcontroleur sur internet pour qu'il me renvoie les données. Quelqu'un l'a-t-il déjà fait?
Je n'ai pas trouvé d'exemples sur internet, juste la présentation du module ezl.
Bonsoir Michel, Je pense que les sauces personnelles du protocoles seront sans doute sur les types de messages (ID) que sur le protocole en lui-même. Maintenant, je travaille sur les couches physiques de ces protocoles, et je ne pense pas que NMEA200 soit suffisamment influente pour créer un nouveau protocole. Je ne dis pas cela pour être condescendant, mais l'industrie automotive vend des véhicule à profusion, ce qui n'est pas le cas des navires/bâtiments qui sont beaucoup plus chers à l'unité! Si tu as besoin de plus d'infos, n'hésite pas à poster car les gens ici sont très gentils :p Alban.
Free fait la chasse en ce moment au espace de stockage qui n'heberge pas du web, protegé par un fichier .htaccess, ou site dedié au telechargement
J'ai eu le meme pb, il suffit de mettre un fichier index.htm et de supprimer le .htaccess, et de reactiver tous ca dans le compte free c'est vrai que niveau securité c'est moins bien mais on a rien à cacher
Contribution le : 19/07 08:26:22
_________________
Ce n'est pas parce que les choses sont difficiles qu'il ne faut pas oser, c'est parce que l'on n'ose pas que les choses sont difficiles.
Je viens de m'apercevoir que dans certains articles, les images ne sont plus affichees correctement. En regardant sur le source de la page on peut voir des acces a http://www.68hc08.free.fr/images/ pour afficher les images. Il semblerait que www.68hc08.free.fr n'existe plus. Ca serait bien de mettre a jour tous ces articles avec des images uploadees sur www.68hc08.net.
D'après le fichier, on voit où est assignée la RAM et autres segments. Tu peux voir par exemple que seul le "net_buf" utilise déjà 1Ko de RAM ! Regarde si tu as des variables fixes.... Soit des constantes! Mets un CONST devant leur declaration/assignement. Cela permettra au linker de les mettre en Flash. Après on avisera si il manque encore de la place. A bientot, Alban.
Oki pour le double du post, je n'ai pas encore trouvé le bouton "supprimer" mais je le cherche activement.
J'ai attaché le fichier map.
Pour la taille de la pile, je ne sais pas vraiment, en effet. Je connais la taille du buffer d'émisson et des deux buffers de réception, mais je voudrais éviter de les toucher. Je les ai configuré à la taille minimum que le permet OpenTCP.
Existe-t-il de la doc sur comment décrypter un fichier map ? Ou il faut se lancer à corps perdu dans le fichier, peut-être ?
Cheers
Fanfan
Attacher un fichier: Monitor.zip Taille: 34.92 KB; Hits: 4
Pour ta question, peux-tu, dans les options du Linker, faire créer un fichier MAP et le joindre à une réponse ici ? Cela permettra de voir l'occupation de ta mémoire et voir où ça déborde. Aussi, une autre solution consiste à diminuer la taille de pile (STACK), il y a des posts qui expliquent comment faire... mais comme tu utilises des choses que tu n'as pas écrit (TCP/IP) tu ne connait pas vraiment la taille de pile requise, si ?
Je développe actuellement sous CodeWarrior, sur le MC9S12NE64. Le programme est assez gros, et se sert notamment de la pile TCP/IP OpenTCP.
Jusque là, je ne m'étais pas trop préoccupé de mon espace mémoire lors des déclarations de variables.
Or, je viens de me prendre une petite baffe du compilateur : la compilation s'est bien passée, mais lors du "make" j'ai eu un petit message d'erreur que voici :
out of allocation space in segment RAM at address 0x3C54
J'en déduis donc que j'ai trop tiré sur la corde en déclarations de variables, tableaux et structures..?
Et du coup, comment faire pour contourner ce problème ? Est-ce qu'on peut se servir de la mémoire Flash pour stocker des variables (que l'on souhaite modifier) ?
J'avoue que je suis un peu largué sur ces points...
Yep, un web server pourquoi pas mais personellement, je prefererai garder une implementation lite cote uC. Sinon ca veut aussi dire qu'il faut stocker les pages a renvoyer au client cote uC aussi. J'ai trouve ca comme pile tcp/ip designe pour micontroleur 8 bits qui ne prend pas beaucoup de place et qui implemente plusieurs protocoles applicatif tel http, telnet, smtp etc ... Bref, il y a tout ce qu'il faut la dedans, ca s'appelle uIP, c'est libre pour une utilisation commerciale ou pas: http://www.sics.se/~adam/uip/index.php/Main_Page
Du coup ca m'a fait jeter un oeil sur des controleurs ethernet ... Pourquoi pas ca pourrait etre un bon projet ca ...