разрыв кода при попытке запустить любую функцию lwip - PullRequest
0 голосов
/ 11 сентября 2009

Я пытаюсь запустить пример кода для сервера tftp.Я не получаю жалоб при синтезе моего оборудования или компиляции кода.Однако, когда я добавляю оператор lwip_init (), он перестает работать (он не выводит никаких операторов печати).Это очень расстраивает, и я понятия не имею, что вызывает это.Есть идеи?Спасибо

#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();

    ...
}

РЕДАКТИРОВАТЬ в ответ на Вики:

возможно, вы можете что-то объяснить, потому что вы можете быть правы.Когда я компилирую его без lwip_init (), я получаю:

text data bss dec  hex
7214 356 1104 8674 21e2

, а с lwip_init () я получаю:

text data bss   dec    hex
9726 356 559080 569162 8af4a

, что намного большеЖаль, что не может дать предупреждение об этом

1 Ответ

1 голос
/ 11 сентября 2009

Предположительно (при условии, что вы делаете чистую перестройку), он связывает множество новых вещей, когда вы начинаете вызывать функции LWIP, поэтому ваше изображение изменилось. Превышено ли в вашем изображении какое-либо из ограничений (размер программы, размер данных, размер стека ...)?

...