Microblaze+ethernet+...
собираем проект под Spartan-6.
Все прекрасно собирается, запускаем в железе:
Код
-----lwIP Socket Mode Demo Application ------
Board IP: 10.10.0.2
Netmask : 255.0.0.0
Gateway : 10.10.0.1
Server Port Connect With..
-------------------- ------ --------------------
http server 80 Point your web browser to http://192.168.1.10
netif_set_ipaddr: netif address being changed
netif: IP address of interface <0><0> set to 10.10.0.2
netif: netmask of interface <0><0> set to 255.0.0.0
netif: GW address of interface <0><0> set to 10.10.0.1
xemacliteif_init: out of memory
memp_malloc: out of memory in pool SYS_TIMEOUT
Board IP: 10.10.0.2
Netmask : 255.0.0.0
Gateway : 10.10.0.1
Server Port Connect With..
-------------------- ------ --------------------
http server 80 Point your web browser to http://192.168.1.10
netif_set_ipaddr: netif address being changed
netif: IP address of interface <0><0> set to 10.10.0.2
netif: netmask of interface <0><0> set to 255.0.0.0
netif: GW address of interface <0><0> set to 10.10.0.1
xemacliteif_init: out of memory
memp_malloc: out of memory in pool SYS_TIMEOUT
Выполняю в режиме отладки...
Затык в функциях файла lwip/mem.c, в коментариях есть такая запись:
"* This is a lightweight replacement for the standard C library malloc().
*
* If you want to use the standard C library malloc() instead, define
* MEM_LIBC_MALLOC to 1 in your lwipopts.h"
Решил попробовать стандартную библиотеку, но не тут то было... Никак не могу определить этот самый макрос "MEM_LIBC_MALLOC". Написано, что его нужно определить в своем файле lwipopts.h, нахожу его, копирую в рабочую папку, прописываю все пути и нефига. Нашел настройки для проекта, якобы какие-то переменные, определил там, тоже нуль... Определять системный файл бесполезно, т.к. при изменении содержимого папки xilkernel_bsp_0, она пересобирается, удалив все старое...