|
|
 |
Ответов
|
Aug 13 2008, 16:47
|
Участник

Группа: Новичок
Сообщений: 28
Регистрация: 21-07-08
Пользователь №: 39 128

|
В EDK, для КID на Virtex4, собрал BSP, установил ОС XilKernel, написал простенькое приложение для отправки UDP пакетов. Дело в том, что после компиляции всего этого, вылазит сообщение о том что, Ethernet IP ядро требует лицензию. Все это загружается и работает, но скорость по Ethernet очень маленькая, 20 Кбит/с (ожидаемая не менее 400 Мбит/c, ну хотябы 100 набрать). Может скорость по Ethernet быть ограничена, всвязи с отсутствием лицензии на IP ядро? Может кто сталкивался с подобной ситуацией.
|
|
|
|
|
Aug 14 2008, 05:34
|
Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 987

|
Цитата(Nuts @ Aug 13 2008, 19:47)  В EDK, для КID на Virtex4, собрал BSP, установил ОС XilKernel, написал простенькое приложение для отправки UDP пакетов. Дело в том, что после компиляции всего этого, вылазит сообщение о том что, Ethernet IP ядро требует лицензию. Все это загружается и работает, но скорость по Ethernet очень маленькая, 20 Кбит/с (ожидаемая не менее 400 Мбит/c, ну хотябы 100 набрать). Может скорость по Ethernet быть ограничена, всвязи с отсутствием лицензии на IP ядро? Может кто сталкивался с подобной ситуацией.  подскажи подробнее, пожалуйста, как ты генерировал ядро для езернета - тоже интересует данный вопрос, только пишу езернет на Спартане-3Е Спасибо.
|
|
|
|
|
Aug 14 2008, 17:27
|
Участник

Группа: Новичок
Сообщений: 28
Регистрация: 21-07-08
Пользователь №: 39 128

|
Цитата(Timonnn @ Aug 14 2008, 12:34)  подскажи подробнее, пожалуйста, как ты генерировал ядро для езернета - тоже интересует данный вопрос, только пишу езернет на Спартане-3Е Ehternet IP ядро подключил с помощью визарда, в EDK 9.2 уже готовое есть, но без лицензии. С помощью визарда в EDK 9.2 прикрутил на отладочную плату, необходимые ядра. ОС установил Xilkernel , подключил библиотеки xilmfs и lwip. Затем добавил следующий application, для отправки UDP пакетов, вот кому интересно:
Код #include <stdio.h> #include "xenv_standalone.h" #include "xparameters.h" #include "netif/xadapter.h" #include <string.h> #include "xmk.h" #include "lwip/inet.h" #include "lwip/sockets.h" #include "lwipopts.h" #ifdef XPAR_ETHERNET_MAC_BASEADDR #define EMAC_BASEADDR XPAR_ETHERNET_MAC_BASEADDR #elif XPAR_LLTEMAC_0_BASEADDR #define EMAC_BASEADDR XPAR_LLTEMAC_0_BASEADDR //#else //#error #endif /* list of applications to be included */ #define APP_TXPERF void print_ip(char *msg, struct ip_addr *ip) { print(msg); xil_printf("%d.%d.%d.%d\n\r", ip4_addr1(ip), ip4_addr2(ip), ip4_addr3(ip), ip4_addr4(ip)); } void print_ip_settings(struct ip_addr *ip, struct ip_addr *mask, struct ip_addr *gw) { print_ip("Board IP: ", ip); print_ip("Netmask : ", mask); print_ip("Gateway : ", gw); } int main() { xilkernel_main(); } int tx_application_thread_my() { int sock_my,i; struct sockaddr_in address; char buf[50000]; /* initialize file system layer */ // platform_init_fs(); /* initialize devices */ //platform_init_gpios(); for(i=0;i<=50000;i++) buf[i]='r'; if ((sock_my = lwip_socket(AF_INET, SOCK_DGRAM, 0)) < 0) return; address.sin_family = AF_INET; address.sin_port = htons(3425); address.sin_addr.s_addr = inet_addr("192.168.0.215"); if (lwip_bind(sock_my, (struct sockaddr *)&address, sizeof (address)) < 0) return; while(1) { lwip_sendto(sock_my, buf, sizeof(buf), 0,(struct sockaddr *)&address, sizeof(address)); } lwip_close(sock_my); } //void tx_application_thread_my(); void tx_application_thread(); //void rx_application_thread(); struct netif server_netif; char buf_sdram[16*1024*1024]; int network_thread() { struct netif *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; /* initliaze IP addresses to be used */ IP4_ADDR(&ipaddr, 192, 168, 0, 51); IP4_ADDR(&netmask, 255, 255, 255, 0); IP4_ADDR(&gw, 192, 168, 0, 215); /* print out IP settings of the board */ print("\n\r\n\r"); print_ip_settings(&ipaddr, &netmask, &gw); if (!xemac_add(netif, &ipaddr, &netmask, &gw, mac_ethernet_address, EMAC_BASEADDR)) { xil_printf("Error adding N/W interface\n\r"); return -1; } netif_set_default(netif); /* specify that the network if is up */ netif_set_up(netif); /* start packet receive thread - required for lwIP operation */ sys_thread_new(xemacif_input_thread, netif, DEFAULT_THREAD_PRIO); /* now we can start application threads */ #ifdef APP_TXPERF /* start txperf thread */ sys_thread_new(tx_application_thread_my, 0, DEFAULT_THREAD_PRIO); #endif return 0; } int main_thread() { /* initialize lwIP before calling sys_thread_new */ lwip_init(); /* any thread using lwIP should be created using sys_thread_new */ sys_thread_new(network_thread, NULL, DEFAULT_THREAD_PRIO); return 0; }
Сообщение отредактировал Nuts - Aug 14 2008, 17:41
|
|
|
|
Сообщений в этой теме
Nuts Освоение ISE Jul 26 2008, 12:12 makc Цитата(Nuts @ Jul 26 2008, 16:12) Здравст... Jul 26 2008, 12:29 Nuts Спасибо. За совет.
makc
Программа такая, по посл... Jul 26 2008, 12:49 makc Цитата(Nuts @ Jul 26 2008, 16:12) Написал... Jul 26 2008, 12:51 Nuts Цитата(makc @ Jul 26 2008, 19:50) Если ве... Jul 26 2008, 13:06  makc Если после присвоения переменной Вы будете ее испо... Jul 26 2008, 14:48 Nuts А если такой случай где будет счетчик например:
Ко... Jul 27 2008, 04:00 makc Цитата(Nuts @ Jul 27 2008, 08:00) А если ... Jul 27 2008, 06:01 Maverick Цитата(Nuts @ Jul 27 2008, 07:00) А если ... Jul 27 2008, 10:26 Nuts Makс, пасибо вы очень помогли. Jul 27 2008, 07:22 Nuts Maverick, хорошо я запомню .
Есть вопрос
Пример:... Jul 27 2008, 16:32 makc Цитата(Nuts @ Jul 27 2008, 20:32) В приме... Jul 27 2008, 17:57  CaPpuCcino я бы предложил товарищу вопрошающему всё-таки снач... Jul 27 2008, 18:10 Nuts makc
Если писать команды в теле самого модуля то... Jul 28 2008, 04:51 makc Цитата(Nuts @ Jul 28 2008, 08:51) makc
... Jul 28 2008, 08:49 MrYuran Вот к чему приводит непонимание основ...
"Про... Jul 28 2008, 05:41 Nuts Теперь понятно. Я действительно думал что ПЛИС-про... Jul 28 2008, 10:25  Nuts Что такое макроячейка? Jul 31 2008, 03:31   makc Цитата(Nuts @ Jul 31 2008, 07:31) Что так... Jul 31 2008, 05:56 Nuts Спасибо. Jul 31 2008, 15:49 muravei У меня тоже вопрос : "Как приделать к дешифра... Jul 31 2008, 18:12  makc Цитата(muravei @ Jul 31 2008, 22:12) У ме... Jul 31 2008, 18:43   Nuts Скажите пожалуста.
Нужно менять один и тот же с... Aug 5 2008, 11:20    makc Цитата(Nuts @ Aug 5 2008, 15:20) Скажите ... Aug 5 2008, 11:38 MrYuran Если сигнал один и тот же и CLK один и тот же, то ... Aug 5 2008, 11:28 Nuts Это простой пример. Я пишу чтото вроде асинхронног... Aug 5 2008, 11:30 ReedCat Цитата(Nuts @ Aug 5 2008, 15:30) Да и сиг... Aug 5 2008, 11:38 makc Цитата(Nuts @ Aug 5 2008, 15:30) Это прос... Aug 5 2008, 11:41 o-henry Цитата(Nuts @ Aug 5 2008, 13:30) сигналы ... Aug 5 2008, 11:42 Maverick Цитата(Nuts @ Aug 5 2008, 14:30) Это прос... Aug 6 2008, 07:48  BSV Цитата(Maverick @ Aug 6 2008, 11:48) FIFO... Aug 6 2008, 07:58   Maverick Цитата(BSV @ Aug 6 2008, 10:58) Это с чег... Aug 6 2008, 09:26    BSV Цитата(Maverick @ Aug 6 2008, 13:26) Смущ... Aug 6 2008, 10:17     Maverick Цитата(BSV @ Aug 6 2008, 13:17) Но в FIFO... Aug 6 2008, 10:31      andrew_b Цитата(Maverick @ Aug 6 2008, 14:31) Я та... Aug 6 2008, 10:34 Nuts ReedCat спасибо.
В FIFO данные записываются одн... Aug 5 2008, 11:48 ReedCat Цитата(Nuts @ Aug 5 2008, 15:48) ReedCat ... Aug 5 2008, 12:11 Nuts Здраствуйте.
Скажите пожалуста, в PLIS архитектуры... Aug 12 2008, 17:05 Boris_TS Цитата(Nuts @ Aug 12 2008, 21:05) Скажите... Aug 12 2008, 19:08 Nuts Спасибо Aug 13 2008, 11:46 dvladim Цитата(Boris_TS @ Aug 12 2008, 23:08) ПЛИ... Aug 13 2008, 17:45 Boris_TS Цитата(dvladim @ Aug 13 2008, 21:45) Полу... Aug 14 2008, 09:08  MrYuran Цитата(Boris_TS @ Aug 14 2008, 13:08) в Б... Aug 14 2008, 13:03   Boris_TS Цитата(MrYuran @ Aug 14 2008, 17:03) можн... Aug 14 2008, 15:11 DiWhite Начинаю работать с ethernet на Spartsn 6. Сделал к... Mar 9 2011, 19:09
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|