разрыв кода при попытке запустить любую функцию lwip

StackOverflow https://stackoverflow.com/questions/1411583

  •  05-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь запустить пример кода для сервера 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

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top