Hi! I'm a newbie, so sorry if I post a stupid question.
This is my problem: I'have to work on a board with LPC2214
I try to run a simple code (like LED blinking) for fast GPIO PORT0 , but nothing
happens, otherwise with standard GPIO PORT0 it works correctly.
My trouble is that ARM is LPC2214/00 (without FAST GPIO) and not LPC2214/01.
Using keil ULINK2 can I detect the type of ARM???
Thx
How to find if LPC2214 is 00 or 01
Started by ●April 15, 2010
Reply by ●April 15, 20102010-04-15
Hi
Devices with fast GPIO will usually also support legacy GPIO too.
In some cases it is first necessary to enable the fast IO before they work - check for a control bit in the registers to see whether you have missed this.
regards
Mark
--- In l..., "parretti.francesco" wrote:
>
> Hi! I'm a newbie, so sorry if I post a stupid question.
> This is my problem: I'have to work on a board with LPC2214
> I try to run a simple code (like LED blinking) for fast GPIO PORT0 , but nothing happens, otherwise with standard GPIO PORT0 it works correctly.
> My trouble is that ARM is LPC2214/00 (without FAST GPIO) and not LPC2214/01.
> Using keil ULINK2 can I detect the type of ARM???
> Thx
>
Devices with fast GPIO will usually also support legacy GPIO too.
In some cases it is first necessary to enable the fast IO before they work - check for a control bit in the registers to see whether you have missed this.
regards
Mark
--- In l..., "parretti.francesco" wrote:
>
> Hi! I'm a newbie, so sorry if I post a stupid question.
> This is my problem: I'have to work on a board with LPC2214
> I try to run a simple code (like LED blinking) for fast GPIO PORT0 , but nothing happens, otherwise with standard GPIO PORT0 it works correctly.
> My trouble is that ARM is LPC2214/00 (without FAST GPIO) and not LPC2214/01.
> Using keil ULINK2 can I detect the type of ARM???
> Thx
>
Reply by ●April 15, 20102010-04-15
This is my C code :
PIN0=0;
SCS|=0x00000001;
FIO0DIR0 = 0xFFFFFFFF;
while(1)
{
FIO0CLR0=0xFFFFFFFF;
__asm("nop;");
FIO0SET0=0xFFFFFFFF;
__asm("nop;");
}
and I'm thinking that it's correct.
Something missing???or my board have LPC2214/00 and so I can't use
FAST GPIO??
THX
--- In l..., "Mark" wrote:
>
> Hi
>
> Devices with fast GPIO will usually also support legacy GPIO too.
> In some cases it is first necessary to enable the fast IO before they work - check for a control bit in the registers to see whether you have missed this.
>
> regards
>
> Mark
> --- In l..., "parretti.francesco" wrote:
> >
> > Hi! I'm a newbie, so sorry if I post a stupid question.
> > This is my problem: I'have to work on a board with LPC2214
> > I try to run a simple code (like LED blinking) for fast GPIO PORT0 , but nothing happens, otherwise with standard GPIO PORT0 it works correctly.
> > My trouble is that ARM is LPC2214/00 (without FAST GPIO) and not LPC2214/01.
> > Using keil ULINK2 can I detect the type of ARM???
> > Thx
>
PIN0=0;
SCS|=0x00000001;
FIO0DIR0 = 0xFFFFFFFF;
while(1)
{
FIO0CLR0=0xFFFFFFFF;
__asm("nop;");
FIO0SET0=0xFFFFFFFF;
__asm("nop;");
}
and I'm thinking that it's correct.
Something missing???or my board have LPC2214/00 and so I can't use
FAST GPIO??
THX
--- In l..., "Mark" wrote:
>
> Hi
>
> Devices with fast GPIO will usually also support legacy GPIO too.
> In some cases it is first necessary to enable the fast IO before they work - check for a control bit in the registers to see whether you have missed this.
>
> regards
>
> Mark
> --- In l..., "parretti.francesco" wrote:
> >
> > Hi! I'm a newbie, so sorry if I post a stupid question.
> > This is my problem: I'have to work on a board with LPC2214
> > I try to run a simple code (like LED blinking) for fast GPIO PORT0 , but nothing happens, otherwise with standard GPIO PORT0 it works correctly.
> > My trouble is that ARM is LPC2214/00 (without FAST GPIO) and not LPC2214/01.
> > Using keil ULINK2 can I detect the type of ARM???
> > Thx
>
Reply by ●April 15, 20102010-04-15
Have you tried reading the Part ID via ISP command?
Maybe this can differentiate between the types(?)
Regards
Mark
--- In l..., "parretti.francesco" wrote:
> This is my C code :
>
> PIN0=0;
>
> SCS|=0x00000001;
>
> FIO0DIR0 = 0xFFFFFFFF;
>
> while(1)
> {
> FIO0CLR0=0xFFFFFFFF;
> __asm("nop;");
> FIO0SET0=0xFFFFFFFF;
> __asm("nop;");
> }
>
> and I'm thinking that it's correct.
>
> Something missing???or my board have LPC2214/00 and so I can't use
> FAST GPIO??
> THX
>
> --- In l..., "Mark" wrote:
> >
> > Hi
> >
> > Devices with fast GPIO will usually also support legacy GPIO too.
> > In some cases it is first necessary to enable the fast IO before they work - check for a control bit in the registers to see whether you have missed this.
> >
> > regards
> >
> > Mark
> >
> >
> >
> >
> > --- In l..., "parretti.francesco" wrote:
> > >
> > > Hi! I'm a newbie, so sorry if I post a stupid question.
> > > This is my problem: I'have to work on a board with LPC2214
> > > I try to run a simple code (like LED blinking) for fast GPIO PORT0 , but nothing happens, otherwise with standard GPIO PORT0 it works correctly.
> > > My trouble is that ARM is LPC2214/00 (without FAST GPIO) and not LPC2214/01.
> > > Using keil ULINK2 can I detect the type of ARM???
> > > Thx
> > >
>
Maybe this can differentiate between the types(?)
Regards
Mark
--- In l..., "parretti.francesco" wrote:
> This is my C code :
>
> PIN0=0;
>
> SCS|=0x00000001;
>
> FIO0DIR0 = 0xFFFFFFFF;
>
> while(1)
> {
> FIO0CLR0=0xFFFFFFFF;
> __asm("nop;");
> FIO0SET0=0xFFFFFFFF;
> __asm("nop;");
> }
>
> and I'm thinking that it's correct.
>
> Something missing???or my board have LPC2214/00 and so I can't use
> FAST GPIO??
> THX
>
> --- In l..., "Mark" wrote:
> >
> > Hi
> >
> > Devices with fast GPIO will usually also support legacy GPIO too.
> > In some cases it is first necessary to enable the fast IO before they work - check for a control bit in the registers to see whether you have missed this.
> >
> > regards
> >
> > Mark
> >
> >
> >
> >
> > --- In l..., "parretti.francesco" wrote:
> > >
> > > Hi! I'm a newbie, so sorry if I post a stupid question.
> > > This is my problem: I'have to work on a board with LPC2214
> > > I try to run a simple code (like LED blinking) for fast GPIO PORT0 , but nothing happens, otherwise with standard GPIO PORT0 it works correctly.
> > > My trouble is that ARM is LPC2214/00 (without FAST GPIO) and not LPC2214/01.
> > > Using keil ULINK2 can I detect the type of ARM???
> > > Thx
> > >
>
Reply by ●April 15, 20102010-04-15
--- In l..., "Mark" wrote:
>
> Have you tried reading the Part ID via ISP command?
> Maybe this can differentiate between the types(?)
>
Unfortunately the Part ID that can be read using IAP / ISP does NOT differentiate between different Rev numbers. In some cases it does not even differentiate between part numbers e.g. LPC 2101/2102/2103! A previous related discussion is here:
http://tech.groups.yahoo.com/group/lpc2000/message/48172
Regards,
Chris Burrows
Armaide: LPC2xxx Oberon-07 Development System
http://www.armaide.com
>
> Have you tried reading the Part ID via ISP command?
> Maybe this can differentiate between the types(?)
>
Unfortunately the Part ID that can be read using IAP / ISP does NOT differentiate between different Rev numbers. In some cases it does not even differentiate between part numbers e.g. LPC 2101/2102/2103! A previous related discussion is here:
http://tech.groups.yahoo.com/group/lpc2000/message/48172
Regards,
Chris Burrows
Armaide: LPC2xxx Oberon-07 Development System
http://www.armaide.com
Reply by ●April 16, 20102010-04-16
Thank everybody!
I think that CPU is LPC2214/00.
In my code I set SCS register, PINSEL0 and FIODIR, and FAST GPIO still no work!
I forgot something?
--- In l..., "cfbsoftware1" wrote:
>
> --- In l..., "Mark" wrote:
> >
> > Have you tried reading the Part ID via ISP command?
> > Maybe this can differentiate between the types(?)
> > Unfortunately the Part ID that can be read using IAP / ISP does NOT differentiate between different Rev numbers. In some cases it does not even differentiate between part numbers e.g. LPC 2101/2102/2103! A previous related discussion is here:
>
> http://tech.groups.yahoo.com/group/lpc2000/message/48172
>
> Regards,
> Chris Burrows
> Armaide: LPC2xxx Oberon-07 Development System
> http://www.armaide.com
>
I think that CPU is LPC2214/00.
In my code I set SCS register, PINSEL0 and FIODIR, and FAST GPIO still no work!
I forgot something?
--- In l..., "cfbsoftware1" wrote:
>
> --- In l..., "Mark" wrote:
> >
> > Have you tried reading the Part ID via ISP command?
> > Maybe this can differentiate between the types(?)
> > Unfortunately the Part ID that can be read using IAP / ISP does NOT differentiate between different Rev numbers. In some cases it does not even differentiate between part numbers e.g. LPC 2101/2102/2103! A previous related discussion is here:
>
> http://tech.groups.yahoo.com/group/lpc2000/message/48172
>
> Regards,
> Chris Burrows
> Armaide: LPC2xxx Oberon-07 Development System
> http://www.armaide.com
>
Reply by ●April 16, 20102010-04-16
--- In l..., "parretti.francesco" wrote:
> This is my C code :
>
> PIN0=0;
>
> SCS|=0x00000001;
>
> FIO0DIR0 = 0xFFFFFFFF;
>
> while(1)
> {
> FIO0CLR0=0xFFFFFFFF;
> __asm("nop;");
> FIO0SET0=0xFFFFFFFF;
> __asm("nop;");
> }
>
> and I'm thinking that it's correct.
>
> Something missing???
To be sure you should also clear the relevant bits in FIO0MASK. However, they are likely to be zero anyway.
How are you observing whether or not it is working? With a scope? If you are just looking for blinking LEDs you won't see anything as they will be blinking so fast they will appear to be on (but a bit dimmer than usual) all the time. Replace the 'nop's with a timer delay of 1 second or similar if you want to see the LEDs blink.
Regards,
Chris Burrows
CFB Software
http://www.cfbsoftware.com
> This is my C code :
>
> PIN0=0;
>
> SCS|=0x00000001;
>
> FIO0DIR0 = 0xFFFFFFFF;
>
> while(1)
> {
> FIO0CLR0=0xFFFFFFFF;
> __asm("nop;");
> FIO0SET0=0xFFFFFFFF;
> __asm("nop;");
> }
>
> and I'm thinking that it's correct.
>
> Something missing???
To be sure you should also clear the relevant bits in FIO0MASK. However, they are likely to be zero anyway.
How are you observing whether or not it is working? With a scope? If you are just looking for blinking LEDs you won't see anything as they will be blinking so fast they will appear to be on (but a bit dimmer than usual) all the time. Replace the 'nop's with a timer delay of 1 second or similar if you want to see the LEDs blink.
Regards,
Chris Burrows
CFB Software
http://www.cfbsoftware.com
Reply by ●April 16, 20102010-04-16
Hi
I use 300MHz scope, now I try to use FIOMASK
I read this via ISP:
Part ID: 100794131
Boot Lader ID: 1.65
But on datasheet I can't find this value anywhere.
On top of package I have this write:
LPC2214FBD144
CF9718 02
TS60640A
--- In l..., "cfbsoftware1" wrote:
>
> --- In l..., "parretti.francesco" wrote:
> >
> >
> > This is my C code :
> >
> > PIN0=0;
> >
> > SCS|=0x00000001;
> >
> > FIO0DIR0 = 0xFFFFFFFF;
> >
> > while(1)
> > {
> > FIO0CLR0=0xFFFFFFFF;
> > __asm("nop;");
> > FIO0SET0=0xFFFFFFFF;
> > __asm("nop;");
> > }
> >
> > and I'm thinking that it's correct.
> >
> > Something missing???
>
> To be sure you should also clear the relevant bits in FIO0MASK. However, they are likely to be zero anyway.
>
> How are you observing whether or not it is working? With a scope? If you are just looking for blinking LEDs you won't see anything as they will be blinking so fast they will appear to be on (but a bit dimmer than usual) all the time. Replace the 'nop's with a timer delay of 1 second or similar if you want to see the LEDs blink.
>
> Regards,
> Chris Burrows
> CFB Software
> http://www.cfbsoftware.com
>
I use 300MHz scope, now I try to use FIOMASK
I read this via ISP:
Part ID: 100794131
Boot Lader ID: 1.65
But on datasheet I can't find this value anywhere.
On top of package I have this write:
LPC2214FBD144
CF9718 02
TS60640A
--- In l..., "cfbsoftware1" wrote:
>
> --- In l..., "parretti.francesco" wrote:
> >
> >
> > This is my C code :
> >
> > PIN0=0;
> >
> > SCS|=0x00000001;
> >
> > FIO0DIR0 = 0xFFFFFFFF;
> >
> > while(1)
> > {
> > FIO0CLR0=0xFFFFFFFF;
> > __asm("nop;");
> > FIO0SET0=0xFFFFFFFF;
> > __asm("nop;");
> > }
> >
> > and I'm thinking that it's correct.
> >
> > Something missing???
>
> To be sure you should also clear the relevant bits in FIO0MASK. However, they are likely to be zero anyway.
>
> How are you observing whether or not it is working? With a scope? If you are just looking for blinking LEDs you won't see anything as they will be blinking so fast they will appear to be on (but a bit dimmer than usual) all the time. Replace the 'nop's with a timer delay of 1 second or similar if you want to see the LEDs blink.
>
> Regards,
> Chris Burrows
> CFB Software
> http://www.cfbsoftware.com
>
Reply by ●April 17, 20102010-04-17
-- In l..., "parretti.francesco" wrote:
>
> Hi
> I use 300MHz scope, now I try to use FIOMASK
>
> I read this via ISP:
>
> Part ID: 100794131
> Boot Lader ID: 1.65
> But on datasheet I can't find this value anywhere.
When doing LPC2xxx software development refer to the User Manuals not the Data Shhets.
The Part IDs are listed in Chapter 21. Section 9.11 in the User Manual (UM10114). However, the LPC2214 is not included in the Revision I have (Rev 3 April 2008) :-(
>
> On top of package I have this write:
>
> LPC2214FBD144
> CF9718 02
> TS60640A
>
According to the Errata for LPC2214/01 parts, the second line of these markings should be /01 for /01 parts. That indicates to me that you have a no suffix or a /00 part. Chapter 9 Section 1 of the User Manual shows that the Fast GPIO ports have not been implemented on those parts which would explain why it is not working.
--
Chris Burrows
CFB Software
Armaide: ARM Oberon-07 Development System
http://www.armaide.com
>
> Hi
> I use 300MHz scope, now I try to use FIOMASK
>
> I read this via ISP:
>
> Part ID: 100794131
> Boot Lader ID: 1.65
> But on datasheet I can't find this value anywhere.
When doing LPC2xxx software development refer to the User Manuals not the Data Shhets.
The Part IDs are listed in Chapter 21. Section 9.11 in the User Manual (UM10114). However, the LPC2214 is not included in the Revision I have (Rev 3 April 2008) :-(
>
> On top of package I have this write:
>
> LPC2214FBD144
> CF9718 02
> TS60640A
>
According to the Errata for LPC2214/01 parts, the second line of these markings should be /01 for /01 parts. That indicates to me that you have a no suffix or a /00 part. Chapter 9 Section 1 of the User Manual shows that the Fast GPIO ports have not been implemented on those parts which would explain why it is not working.
--
Chris Burrows
CFB Software
Armaide: ARM Oberon-07 Development System
http://www.armaide.com