Autor Tema: Avanzando con Stack TCP/IP de Microchip pero con dudas y problemas  (Leído 3118 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 771
    • https://electronicadicto.wordpress.com/
Avanzando con Stack TCP/IP de Microchip pero con dudas y problemas
« en: 03 de Noviembre de 2012, 14:45:58 »
Buenos días as todos, después de mucho leer y mucha prueba y error con el stack TCP/IP de microchip ya más o menos sé como se organizan los archivos y como editar los principales para configurar mi hardware pero tengo algunas dudas a ver si alguien me puede echar un cable.

Resulta que estoy intentando adaptar un PIC18F4620 al estack y sólo quiero meterle un servidor web, el servidor SNMP y el test para hacer ping, pero a la hora de compilar me da un error que creo que es porque el micro no tiene memoria suficiente y el implementado de la memoria 25LC1024 es solo para alojar la página web, alguna foto o algo así (creo).

 El error que me da es este:

Código: [Seleccionar]
MPLINK 4.42, Linker
Device Database Version 1.7 Copyright (c) 1998-2011 Microchip Technology Inc.
Error - section '.code_Helpers.o' can not fit the section. Section '.code_Helpers.o'
length=0x00000abc
Errors    : 1

Cómo este compilador no me dice el tamaño de memoria que ocupo en el chip mientras compilo, pues no sé si es que esta llena o que, o por lo menos yo no se la manera de mirarlo a ver si alguien sabe.

Si le saco al proyecto el servidor SNMP si compila bien, pero tengo un problema, estoy utilizando proteus para simular la aplicación y hay algún problema porque el micro se queda esperando la validación de la EEPROM que al parecer nunca llega y se queda el programa pillado en el archivo MainDemo.c  en la parte del código que dice:

Código: [Seleccionar]
// Check EEPROM/Flash validitity.  If it isn't valid, set a flag so
// that we will save the ROM default values on the next loop
// iteration.
if((NVMValidationStruct.wConfigurationLength != sizeof(AppConfig)) ||
   (NVMValidationStruct.wOriginalChecksum != wOriginalAppConfigChecksum) ||
   (NVMValidationStruct.wCurrentChecksum != CalcIPChecksum((BYTE*)&AppConfig, sizeof(AppConfig))))
{
// Check to ensure that the vNeedToSaveDefaults flag is zero,
// indicating that this is the first iteration through the do
// loop.  If we have already saved the defaults once and the
// EEPROM/Flash still doesn't pass the validity check, then it
// means we aren't successfully reading or writing to the
// EEPROM/Flash.  This means you have a hardware error and/or
// SPI configuration error.
if(vNeedToSaveDefaults)
{
while(1);
}

Se queda pillado en el while(1); y de ahí no sale.

¿Qué estoy haciendo mal, el hardware creo que está bien, yo he utilizado los mismos pines de CLK, SDO, SDI para la memoria que para el ENC28J60 y los mismos registros , no creo que sea por eso ¿no? Y para el CS he utilizado otro pin diferente al de ENC.

A la memoria en el proteus le cargo el .bin de la página demo que he generado con la aplicación de Microchip

Si le saco el servidor web y saco la memoria EEPROM, me compila bien y el hardware me hace pin perfectamente.

Otras dudas que tengo es que hay unos archivos demos para las aplicaciones y no sé si estos archivos son muy grandes y no caben todos, la verdad es que yo quiero hacer mi propia web muy básica sólo de información sin botones ni nada si no un texto en pantalla y el servidor SNMP sólo lo quiero para que el micro envíe cierta información que sólo será un dato de temperatura y una cadena, si el nivel de temperatura se excede de un setpoint, se enviaría la cadena a una dirección IP.

No sé muy bien que tendría que tocar, creo que serían los archivos CustomHTTPApp.c y CustomSNMPApp.c , si alguien me puede orientar, gracias a todos.

Espero que lo que pido no sea mucho, se que estáis muy liados y que supone un esfuerzo contestarme y mas a todo este tocho, por eso doy las gracias por vuestro tiempo, la ayuda será bien recibida y aprovechada.
Gracias de nuevo


« Última modificación: 03 de Noviembre de 2012, 14:48:24 por Thulsa Doom »
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado pablolode

  • PIC16
  • ***
  • Mensajes: 123
Re: Avanzando con Stack TCP/IP de Microchip pero con dudas y problemas
« Respuesta #1 en: 04 de Noviembre de 2012, 20:25:10 »
Hola capo, estas simulando con proteus o tenes el Harware armado?? yo he trabajado con el 18f97j60, y creo si mal no recuerdo me ha dado este error cuando quese cambiar de memoria una 256 en lugar de una 1024, y por el tamaño de los archivos en este hilo y en la APP note estan cuanto pesa cada archivo, usas el Config de microchip p seleccionar los archivos??

Desconectado pablolode

  • PIC16
  • ***
  • Mensajes: 123
Re: Avanzando con Stack TCP/IP de Microchip pero con dudas y problemas
« Respuesta #2 en: 04 de Noviembre de 2012, 20:26:50 »
perdon en este hilo: Nuestro Libro diario con el PIC18F97J60 (Ethernet)

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 771
    • https://electronicadicto.wordpress.com/
Re: Avanzando con Stack TCP/IP de Microchip pero con dudas y problemas
« Respuesta #3 en: 05 de Noviembre de 2012, 16:42:41 »
Ante todo he de decir que no soy ningún experto ni ingeniero ni nada de eso, solo un técnico en electrónica aficionado a ella y con inquietudes, yo he utilizado por dos años el CCS C y tengo una práctica montada en un pic18F4550 con página web y un DS2323 que da el dato de la lectura por la web, pero tengo la necesidad de implementar el servidor SNMP y en CCS no lo encontré pero si en C18 y estoy estudiando éste compilador.

Hola capo, estas simulando con proteus o tenes el Harware armado?? yo he trabajado con el 18f97j60, y creo si mal no recuerdo me ha dado este error cuando quese cambiar de memoria una 256 en lugar de una 1024,
Lo estoy simulando con proteus, el hardware tengo algún problemilla porque no me va, veo las señales con el osciloscópio pero tengo que ajustarlas o algo porque no tira, pero en proteus si. He utilizado las dos memorias la de 256 y la 1024 y nada el mismo error se queda en while(1) y de ahí no sale.
El tema es que me tira sin la memoria, desde que pongo la memoria y meto la web se congela el programa, al parecer espera una validación de la memoria, cómo para garantizar de que reconoce la memoria y está trabajando (todo esto en el simulador proteus, en hardware físico no lo he probado porque no tengo memorias spi si no i2c pero el soft de microchip no trae soporte para esta memoria y he de hacerlo yo, lo que de momento no sé.

y por el tamaño de los archivos en este hilo y en la APP note estan cuanto pesa cada archivo, usas el Config de microchip p seleccionar los archivos??
Uso el config y aveces también lo hago a mano, yo lo que creo que pesa más porque añade unos archivos demos son el CustomHTTPApp.c y el CustomSNMPApp.c y creo que eso es lo que más pesa, ¿si se deja limpio sin botones ni leds ni nada si no una web básica sólo una página con fondo blanco y con un texto de una línea en negro, y lo mismo para el SNMP que solo envíe una cadena según que evento creo que pordría entrar todo en memoria y en micro?

Es que mirando el código de esos archivos veo mucho botón y led que no usaré. ¿que me dicen?.

Aa y gracias por la referencia al hilo del pic
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado alperez

  • PIC18
  • ****
  • Mensajes: 255
Re: Avanzando con Stack TCP/IP de Microchip pero con dudas y problemas
« Respuesta #4 en: 07 de Noviembre de 2012, 10:36:53 »
En MPLAB X en ventana>>dashboard tienes información de la compilación, incluido la memoria que ocupas

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 771
    • https://electronicadicto.wordpress.com/
Re: Avanzando con Stack TCP/IP de Microchip pero con dudas y problemas
« Respuesta #5 en: 07 de Noviembre de 2012, 19:51:05 »
Buenas noches a todos.
   lo siento pero no uso el MPLAx utilizo el MPLAB IDE v8.88. Y veo la capacidad del pic en View>>Memory Usage Gauge, pero sólo si compila, si no compila se queda en blanco

He solucionado en parte lo de la memoria externa, resulta que le faltaban unas resistencias de pull-up para que trabajara, le he añadido esas resistencias al proteus y ya tira, lo que no del todo, porque si que sale del bucle en el que se quedaba pero entra en otro donde le solicita una información a la memoria y el PIC espera una respuesta de la memoria que nunca llega.
Funciona el CLK el SI y el CS pero no sale nada por el S0.
En la memoria cargo el .bin generado por la aplicación MPFS2 y lo cargo en la memoria pulsando sobre ella y seleccionando el archivo MPFSImg2.bin y he probado con el MPFSImg.bin, lo que no sé si hay que hacerle algo al código principal o que.
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...