SAM7-EX256 TCP/IP Stack

Hello everybody,

does anybody has ported a functional TCP/IP stack to the board SAM7-EX256 ?

How many ram is still available for applications?

I am really interested in this board, but I need a functional TCP/IP stack to manage a WebServer, FTP Server application.

Help me if you can?

Check out Ethernut. I watch the mailing list and I believe someone has just successfully run ethernut on the olimex SAM7X256 board. It has definately been made to work on the Atmel SAM7X256 boards.

I’ve implemented a lwip stack on AT91SAM7X with uCos operating system, which toke about 42kb of the 64kb RAM memory. There is also an version available with freertos operating systeem on www.freertos.org or just the more simple UIP stack. If I’m not wrong there is for UIP and lwip both an FTP server available. The webserver is standard implemented in these TCP/IP stacks. By the way I saw your other topic about the EP9301, which uses embedded Linux. If you are still considering using embedded Linux or just simple TCP stack. You should remember that embedded Linux or uClinux has more available application and has more future potential. But this solution requires more know how. So it I would be advisibele if would tell more about your project and your experience with TCP/IP stacks.

Hallo everybody,

I´m still interesting in the SAM7X256 board from olimex.

But I need to implement TCP/IP on this board. After evaluating all information I got I think I need more memory.

Has anybody experience in piggy-pack a memory to this board. Is it technically possible.

I´m thinking of about 256 KByte.

Thanks Andreas

a_krause:
Hallo everybody,

I´m still interesting in the SAM7X256 board from olimex.

But I need to implement TCP/IP on this board. After evaluating all information I got I think I need more memory.

Has anybody experience in piggy-pack a memory to this board. Is it technically possible.

I´m thinking of about 256 KByte.

Thanks Andreas

I’ve implemented lwIP on freeRTOS on the 7S256 without ram issues. Plenty of ram & flash on that part.

Hi Sn00p,

this sounds great.

Since the software seems to be free of charge my question is:

To prevent double work do you provide your port of IwIP and freeRTOS to 7s256. I´m really interested.

If not what components do I need for compiling and linking.

Very thanks for your answer

Andreas

a_krause:
Hi Sn00p,

this sounds great.

Since the software seems to be free of charge my question is:

To prevent double work do you provide your port of IwIP and freeRTOS to 7s256. I´m really interested.

If not what components do I need for compiling and linking.

Very thanks for your answer

Andreas

I used the freeRTOS port files from the freeRTOS distribution, and took those into the latest branch of lwIP.

I then modified the ethernetif.c file so that it talked to my ethernet chip.

In ethernetif_init is a call to sys_timeout (the arp timer), this calls the freeRTOS os, unfortunately I want to do all my ethernet initialisation before the RTOS starts, so this causes an exception. My solution was to replace the sys_timeout with a freeRTOS task (does the same thing in the end), makes the code much more logical.

Hallo.

I am trying to run the newest FreeRTOS uip demo for IAR on the Olimex

SAM7X board.

The Kickstart version of the compiler runs well when I compile the LCD

demo supplied by Olimex.

The uip project compiles and the board does a 2Hz tone on the speaker.

That’s about all. The green and yellow LEDs go on & off @ 0.5Hz when I connect my LAN.

Probably a stupid error since I really do not exactly know what I am doing

in terms of IP adresses etc. :).

Below is the response by “ipconfig” and my settings in uipopt.h.

Thanks.

Eduardo


C:\DOKUME~1\EDUARD~1>ipconfig

Windows-IP-Konfiguration

Ethernetadapter Drahtlose Netzwerkverbindung:

Verbindungsspezifisches DNS-Suffix:

IP-Adresse. . . . . . . . . . . . : 192.168.178.22

Subnetzmaske. . . . . . . . . . . : 255.255.255.0

IP-Adresse. . . . . . . . . . . . : fe80::210:60ff:fe62:6534%4

Standardgateway . . . . . . . . . : 192.168.178.1

Tunneladapter Teredo Tunneling Pseudo-Interface:

Verbindungsspezifisches DNS-Suffix:

IP-Adresse. . . . . . . . . . . . :

2001:0:4136:e37c:8000:b75:ab6e:baf1

IP-Adresse. . . . . . . . . . . . : fe80::ffff:ffff:fffd%5

Standardgateway . . . . . . . . . : ::

Tunneladapter Automatic Tunneling Pseudo-Interface:

Verbindungsspezifisches DNS-Suffix:

IP-Adresse. . . . . . . . . . . . : fe80::5efe:192.168.178.22%2

Standardgateway . . . . . . . . . :


uipopt.h:


#define UIP_FIXEDADDR 1

/**

  • Ping IP address asignment.

  • uIP uses a “ping” packets for setting its own IP address if this

  • option is set. If so, uIP will start with an empty IP address and

  • the destination IP address of the first incoming “ping” (ICMP echo)

  • packet will be used for setting the hosts IP address.

  • \note This works only if UIP_FIXEDADDR is 0.

  • \hideinitializer

*/

#define UIP_PINGADDRCONF 0

#define UIP_IPADDR0 192U /**< The first octet of the IP address of

this uIP node, if UIP_FIXEDADDR is

  1. \hideinitializer */

#define UIP_IPADDR1 168U /**< The second octet of the IP address of

this uIP node, if UIP_FIXEDADDR is

  1. \hideinitializer */

#define UIP_IPADDR2 178U /**< The third octet of the IP address of

this uIP node, if UIP_FIXEDADDR is

  1. \hideinitializer */

#define UIP_IPADDR3 100U /**< The fourth octet of the IP address of

this uIP node, if UIP_FIXEDADDR is

  1. \hideinitializer */

#define UIP_NETMASK0 255 /**< The first octet of the netmask of

this uIP node, if UIP_FIXEDADDR is

  1. \hideinitializer */

#define UIP_NETMASK1 255 /**< The second octet of the netmask of

this uIP node, if UIP_FIXEDADDR is

  1. \hideinitializer */

#define UIP_NETMASK2 255 /**< The third octet of the netmask of

this uIP node, if UIP_FIXEDADDR is

  1. \hideinitializer */

#define UIP_NETMASK3 0 /**< The fourth octet of the netmask of

this uIP node, if UIP_FIXEDADDR is

  1. \hideinitializer */

#define UIP_DRIPADDR0 192 /**< The first octet of the IP address of

the default router, if UIP_FIXEDADDR is

  1. \hideinitializer */

#define UIP_DRIPADDR1 168 /**< The second octet of the IP address of

the default router, if UIP_FIXEDADDR is

  1. \hideinitializer */

#define UIP_DRIPADDR2 178 /**< The third octet of the IP address of

the default router, if UIP_FIXEDADDR is

  1. \hideinitializer */

#define UIP_DRIPADDR3 1 /**< The fourth octet of the IP address of

the default router, if UIP_FIXEDADDR is

  1. \hideinitializer */

/**

  • Specifies if the uIP ARP module should be compiled with a fixed

  • Ethernet MAC address or not.

  • If this configuration option is 0, the macro uip_setethaddr() can

  • be used to specify the Ethernet address at run-time.

  • \hideinitializer

*/

#define UIP_FIXEDETHADDR 0

#define UIP_ETHADDR0 0x00 /**< The first octet of the Ethernet

address if UIP_FIXEDETHADDR is

  1. \hideinitializer */

#define UIP_ETHADDR1 0xbd /**< The second octet of the Ethernet

address if UIP_FIXEDETHADDR is

  1. \hideinitializer */

#define UIP_ETHADDR2 0x3b /**< The third octet of the Ethernet

address if UIP_FIXEDETHADDR is

  1. \hideinitializer */

#define UIP_ETHADDR3 0x33 /**< The fourth octet of the Ethernet

address if UIP_FIXEDETHADDR is

  1. \hideinitializer */

#define UIP_ETHADDR4 0x06 /**< The fifth octet of the Ethernet

address if UIP_FIXEDETHADDR is

  1. \hideinitializer */

#define UIP_ETHADDR5 0x65 /**< The sixth octet of the Ethernet

address if UIP_FIXEDETHADDR is

  1. \hideinitializer */

My board works now. See my posts on the topic: OLIMEX SAM7-EX256 board & freertos.

Eduardo