EmbeddedRelated.com
Forums

uip arm port for lpc2129

Started by Jonathan Dumaresq September 18, 2006
Hi all,

I just finish to make uip and a lpc2129 (olimex LPC-E2129). This sample is build from 2 or 3 different port that as be done by someone else than me. I use part of the Paul rowley port, and part of the Martin Maurer arm port.

I post here the zip file to test it.

I only have 1 problem, is the optimization need to be off to get it work. I have not find why, And i don't know how to find the problem.

the uipopt need to be adjsted to a mac adresss.

This is based on GNU 4.1.1

Jonathan

An Engineer's Guide to the LPC2100 Series

Can you send the file again?
I don't receive it... only this message:
""
When you send, I can test, because I am working with LPC-E2129 board,
and uip 1.0 in a project.

Thanks.

On 9/18/06, Jonathan Dumaresq wrote:
> Hi all,
> I just finish to make uip and a lpc2129 (olimex LPC-E2129). This sample is build from 2 or 3 different port that as be done by someone else than me. I use part of the Paul rowley port, and part of the Martin Maurer arm port.
> I post here the zip file to test it.
> I only have 1 problem, is the optimization need to be off to get it work. I have not find why, And i don't know how to find the problem.
> the uipopt need to be adjsted to a mac adresss.
> This is based on GNU 4.1.1
> Jonathan
>
--
Eduardo Peters
+55 47 8405 0331
Canoinhas - SC - Brazil
msn: peters(at)canoinhas.com
Jonathan Dumaresq wrote:
> I only have 1 problem, is the optimization need to be off to get it
> work. I have not find why, And i don't know how to find the problem.

Hello Jonathan,
I had the same problem increasing optimization on my LPC-E2124 board
after using the Rowley port of UIP with Free RTOS on my eclipse-winarm
system.

You need to make two changes to the code before increasing optimization:
1)Add "nop"s to the CS8900a driver to get the right timing for the
CS8900a. Check the CS8900a data sheet and take care, because you need
to add "nop"s where the original driver has none, and increase the
number of existing "nop"s.
2)In uip.c and uip.h change the uip_buf declaration to volatile:
volatile u8_t uip_buf[UIP_BUFSIZE+2];

Unfortunately I don't have the source of this anymore as I am currently
trying to get UIP1.0 ported to my environment.

Good luck
Lourens
----- Original Message -----
From: lourensvdm
To: l...
Sent: Tuesday, September 19, 2006 5:04 AM
Subject: [lpc2000] Re: uip arm port for lpc2129
Jonathan Dumaresq wrote:
> I only have 1 problem, is the optimization need to be off to get it
> work. I have not find why, And i don't know how to find the problem.

Hello Jonathan,
I had the same problem increasing optimization on my LPC-E2124 board
after using the Rowley port of UIP with Free RTOS on my eclipse-winarm
system.

You need to make two changes to the code before increasing optimization:
1)Add "nop"s to the CS8900a driver to get the right timing for the
CS8900a. Check the CS8900a data sheet and take care, because you need
to add "nop"s where the original driver has none, and increase the
number of existing "nop"s.

I already added the nop in the drivers. I have to add it anyway if you want to use the pll for boosting the cpu clock.
2)In uip.c and uip.h change the uip_buf declaration to volatile:
volatile u8_t uip_buf[UIP_BUFSIZE+2];

i will try that too.

Unfortunately I don't have the source of this anymore as I am currently
trying to get UIP1.0 ported to my environment.

Good luck
Lourens

Jonathan
the file cs8900a.c and ca8900a.h need to be corrected.

The function
cs8900a_poll

should look

u16_t cs8900a_poll(void)

instead of u8_t cs8900a_poll(void)

if you don't do this, the maximum packet size is 200 bytes.

Jonathan
----- Original Message -----
From: Jonathan Dumaresq
To: l...
Sent: Tuesday, September 19, 2006 9:36 AM
Subject: Re: [lpc2000] Re: uip arm port for lpc2129

----- Original Message -----
From: lourensvdm
To: l...
Sent: Tuesday, September 19, 2006 5:04 AM
Subject: [lpc2000] Re: uip arm port for lpc2129

Jonathan Dumaresq wrote:
> I only have 1 problem, is the optimization need to be off to get it
> work. I have not find why, And i don't know how to find the problem.

Hello Jonathan,
I had the same problem increasing optimization on my LPC-E2124 board
after using the Rowley port of UIP with Free RTOS on my eclipse-winarm
system.

You need to make two changes to the code before increasing optimization:
1)Add "nop"s to the CS8900a driver to get the right timing for the
CS8900a. Check the CS8900a data sheet and take care, because you need
to add "nop"s where the original driver has none, and increase the
number of existing "nop"s.

I already added the nop in the drivers. I have to add it anyway if you want to use the pll for boosting the cpu clock.

2)In uip.c and uip.h change the uip_buf declaration to volatile:
volatile u8_t uip_buf[UIP_BUFSIZE+2];

i will try that too.

Unfortunately I don't have the source of this anymore as I am currently
trying to get UIP1.0 ported to my environment.

Good luck
Lourens

Jonathan