فواصل الرمز عندما تحاول تشغيل أي وظيفة lwip

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

  •  05-07-2019
  •  | 
  •  

سؤال

وأنا أحاول أن تشغيل نموذج التعليمات البرمجية لخادم المبسط. أحصل على أي شكاوى عند تجميع الأجهزة بلدي أو ترجمة التعليمات البرمجية. ومع ذلك، عندما إضافة العبارة 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