J'essaye d'exécuter l'exemple de code pour le serveur de tftp. Je ne reçois aucune plainte lors de la synthèse de mon matériel ou de la compilation du code. Toutefois, lorsque j'ajoute l'instruction lwip_init(), elle semble cesser de fonctionner (elle ne renvoie aucune des instructions print). C'est très frustrant et je n'ai aucune idée de ce qui le cause. Des idées? Merciles pauses de code en essayant d'exécuter n'importe quelle fonction de lwip
#include <stdio.h>
#include "xenv_standalone.h"
#include "xparameters.h"
#include "platform.h"
#include "netif/xadapter.h"
#include "lwip/init.h"
#define EMAC_BASEADDR XPAR_LLTEMAC_0_BASEADDR
int main()
{
print("-- Starting main() -- \r\n");
struct netif *netif, server_netif;
struct ip_addr ipaddr, netmask, gw;
/* the mac address of the board. this should be unique per board */
unsigned char mac_ethernet_address[] = { 0x00, 0x0a, 0x35, 0x00, 0x01, 0x02 };
netif = &server_netif;
microblaze_init_icache_range(0, XPAR_MICROBLAZE_0_CACHE_BYTE_SIZE);
microblaze_init_dcache_range(0, XPAR_MICROBLAZE_0_DCACHE_BYTE_SIZE);
/* enable caches */
XCACHE_ENABLE_ICACHE();
XCACHE_ENABLE_DCACHE();
platform_setup_interrupts();
/* initliaze IP addresses to be used */
IP4_ADDR(&ipaddr, 192, 168, 1, 10);
IP4_ADDR(&netmask, 255, 255, 255, 0);
IP4_ADDR(&gw, 192, 168, 1, 1);
print_app_header();
print_ip_settings(&ipaddr, &netmask, &gw);
lwip_init();
...
}
EDIT en réponse à vicky:
vous pouvez peut-être expliquer quelque chose parce que vous pourriez avoir raison. Quand je compile sans lwip_init(), je reçois:
text data bss dec hex
7214 356 1104 8674 21e2
et lwip_init() i get:
text data bss dec hex
9726 356 559080 569162 8af4a
qui est beaucoup plus grande. dommage qu'il ne puisse pas donner un avertissement à ce sujet
J'ai eu ce problème, que je crois avoir corrigé en augmentant la taille de RAM du bloc utilisé (au moins je ne vois pas d'erreurs/avertissements) à ce sujet – giroy