Question

J'essaie d'exécuter l'exemple de code pour le serveur TFTP. Je ne reçois aucune plainte lors de la synthèse de mon matériel ou de la compilation du code. Cependant, lorsque j'ajoute l'instruction lwip_init (), elle semble cesser de fonctionner (elle ne génère aucune des instructions d'impression). C'est très frustrant et je n'ai aucune idée de ce qui le cause. Des idées? Merci

#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:

Peut-être que vous pouvez expliquer quelque chose parce que vous pourriez avoir raison. Quand je le compile sans lwip_init (), je reçois:

text data bss dec  hex
7214 356 1104 8674 21e2

et avec lwip_init () je reçois:

text data bss   dec    hex
9726 356 559080 569162 8af4a

qui est beaucoup plus gros. Dommage, il ne peut pas donner un avertissement à ce sujet

Était-ce utile?

La solution

Vraisemblablement (en supposant que vous effectuez une reconstruction propre), la liaison entre de nombreux éléments nouveaux lorsque vous commencez à appeler des fonctions LWIP, de sorte que votre image a été modifiée. Votre image at-elle dépassé certaines de ses contraintes (taille du programme, taille des données, taille de la pile, etc.)?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top