EmbeddedRelated.com
Forums

I didn't RTFM:) LPC2129 - capture 3 on timer 0 - useable now?

Started by mjames_doveridge August 2, 2007
Hi all,

I am using the Keil MBC2100 dev. board, (LPC2129), and the Rowley
Crossworks dev. system, (GNU tools).

So far, so good. The IDE, compiler etc. is err.. 'OK', (the IDE has
bugs!). The 'ctl' multiTasker is fine and my threads/comms/interrupts
are all working and then...

Hidden somewhat in the Timer block diagram on page 222 of the
Preliminary User Manual for the LPC2129, (2004, May 03), is the note:

'Note that Capture Register 3 cannot be used on TIMER0'

I need all 8 TIMER0/TIMER1 capture inputs!

Does anyone know if this aparrent restriction has been removed in
later silicon or have any experience of getting this capture
input/register to work?

If this capture input will not load the register and/or not generate
an interrupt, I will have big problems :((

Rgds,
Martin

An Engineer's Guide to the LPC2100 Series

Hi,

> I am using the Keil MBC2100 dev. board, (LPC2129), and the Rowley
> Crossworks dev. system, (GNU tools).
>
> So far, so good. The IDE, compiler etc. is err.. 'OK', (the IDE has
> bugs!).

It's gratifying that you consider our IDE mediocre. If you don't report
bugs, they don't get investigated and, hence, the don't get fixed. So, if
you can tell me about the problems and in which version, we can work through
them.

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for ARM, MSP430, AVR, MAXQ, and now Cortex-M3 processors
--- In l..., "Paul Curtis" wrote:
>
> Hi,
>
> > I am using the Keil MBC2100 dev. board, (LPC2129), and the Rowley
> > Crossworks dev. system, (GNU tools).
> >
> > So far, so good. The IDE, compiler etc. is err.. 'OK', (the IDE has
> > bugs!).
>
> It's gratifying that you consider our IDE mediocre. If you don't report
> bugs, they don't get investigated and, hence, the don't get fixed.
So, if
> you can tell me about the problems and in which version, we can work
through
> them.
>
> --
> Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
> CrossWorks for ARM, MSP430, AVR, MAXQ, and now Cortex-M3 processors
>

I'm somewhat surprised that *you* use the word 'mediocre'in the same
post as the name of your product. If I was a journalist or
politician, the headline/sound-byte would be 'Rowley say their IDE is
mediocre' .

The IDE has bugs, but the overall system has done its job of allowing
me to create a working system with minimum hassle. The ctl library
works fine - my inter-thread comms, object/buffer pooling, interrupt
handers, interrupt<>thread comms all work fine. If I had to
create/debug all that from assembler, it would take years, (or likely
forever because the job would be cancelled before all the bugs were
out of the basic OS). Instead of getting bogged-down in the
intricacies and pitfalls of kernel design, I have been able to get
straight into getting my application functionality to work OK.

There *are* some problems with the IDE, but I would hesitate to say
that any other available system is any better and many are, no doubt,
worse.

If you want some more praise, I was particularly happy with the memory
mapping. I build my app at two locations/banks so that the boot can
load one bank without destroying the other. This is very easy to do
with Crossworks by just selecting another memory map file and
rebuilding. No faffing about with dozens-of-indecipherable-options
make files, linker/locator drive files etc.

No offense meant, but your IDE does have bugs, (like everything).
OTOH, if developers want to suffer from a 1960's command-line
interface, then there are plenty of alternatives to soak up spare
development time and generate delays . I don't have time for
dollar-prompts.

If I get a chance, I will report bugs.

Rgds,
Martin
Martin,

> No offense meant, but your IDE does have bugs, (like everything).
> OTOH, if developers want to suffer from a 1960's command-line
> interface, then there are plenty of alternatives to soak up spare
> development time and generate delays . I don't have time for
> dollar-prompts.
>
> If I get a chance, I will report bugs.

We'd like to hear about them. I don't mid them being aired in a forum like
this. It wouldn't take long to type in a few lines to describe what you're
seeing so we get a scent.

V2 of the IDE is actually not too bad. It's got some things that are quite
neat. It still isn't quite right in the aesthetics for my taste, but I'm
working on it. Getting it looking nice in Aqua is proving a challenge, but
yesterday's incarnation could almost be called "passable."

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for ARM, MSP430, AVR, MAXQ, and now Cortex-M3 processors
I reckon that's an error in the documentation and Timer 0 Capture 3
should work just as all the others do.

My reasoning:
The (near) identical text is used to describe Timer blocks for
all LPX21xx. So it was probably copy-and-pasted from the
original LPC2104/5/6 user manual.
The LPC2104/5/6 did not wire Timer 0 Capture 3 to an external pin.
So that was not possible on those chips.
But other LPC21xx did wire up the pin. So it should work.

Let us know how you get on.

Regards,
Danish
--- In l..., "mjames_doveridge" wrote:
>
> Hi all,
>
> I am using the Keil MBC2100 dev. board, (LPC2129), and the Rowley
> Crossworks dev. system, (GNU tools).
>
> So far, so good. The IDE, compiler etc. is err.. 'OK', (the IDE has
> bugs!). The 'ctl' multiTasker is fine and my threads/comms/interrupts
> are all working and then...
>
> Hidden somewhat in the Timer block diagram on page 222 of the
> Preliminary User Manual for the LPC2129, (2004, May 03), is the note:
>
> 'Note that Capture Register 3 cannot be used on TIMER0'
>
> I need all 8 TIMER0/TIMER1 capture inputs!
>
> Does anyone know if this aparrent restriction has been removed in
> later silicon or have any experience of getting this capture
> input/register to work?
>
> If this capture input will not load the register and/or not generate
> an interrupt, I will have big problems :((
>
> Rgds,
> Martin
>
> No offense meant, but your IDE does have bugs, (like everything).
> OTOH, if developers want to suffer from a 1960's command-line
> interface, then there are plenty of alternatives to soak up spare
> development time and generate delays . I don't have time for
> dollar-prompts.
>
>

ROTFL, I only use command line for development. I find that I can type
faster than I can grope for the mouse.

TomW

--
Tom Walsh - WN3L - Embedded Systems Consultant
http://openhardware.net http://cyberiansoftware.com http://openzipit.org
"Windows? No thanks, I have work to do..."
----------------
--- In l..., "Danish Ali" wrote:
>
> I reckon that's an error in the documentation and Timer 0 Capture 3
> should work just as all the others do.
>
> My reasoning:
> The (near) identical text is used to describe Timer blocks for
> all LPX21xx. So it was probably copy-and-pasted from the
> original LPC2104/5/6 user manual.
> The LPC2104/5/6 did not wire Timer 0 Capture 3 to an external pin.
> So that was not possible on those chips.
> But other LPC21xx did wire up the pin. So it should work.
>
> Let us know how you get on.
>
> Regards,
> Danish
> --- In l..., "mjames_doveridge" wrote:

Thanks. I hope you are right!

I could just try it, I suppose. I have two LPC projects and the one I
am currently working on does not use the capture inputs & so the
PINSEL is wrong for a simple, easy test.

When I pick up the other project again, I will test the capture
interrupts as a priority. If the T0/C3 does not work, I suppose I
could bit-bang it instead of waiting for interrupt-driven I/O, so
defeating the whole point of using a multitasker :((

Rgds,
Martin
--- In l..., Tom Walsh wrote:
> > No offense meant, but your IDE does have bugs, (like everything).
> > OTOH, if developers want to suffer from a 1960's command-line
> > interface, then there are plenty of alternatives to soak up spare
> > development time and generate delays . I don't have time for
> > dollar-prompts.
> >
> >
>
> ROTFL, I only use command line for development. I find that I can type
> faster than I can grope for the mouse.
>
> TomW
>
> --
> Tom Walsh - WN3L - Embedded Systems Consultant
> http://openhardware.net http://cyberiansoftware.com http://openzipit.org
> "Windows? No thanks, I have work to do..."
> ----------------

Well, it kinda depends Developing for Windows is somewhat
difficult with a command-line. Even if the piss-poor Windows command
shells had the functionality of that available on unix, (and it's not
even remotely close, as we both know), it would still be a major PITA
calling all those APIs with the dozens of parameters required to show
a box on the screen. I challenge you to type in the dozens of
paramters required for the RegisterWindowClass and CreateWindow calls,
together with the WinProc handler, in less time than it takes me to
drag a panel component onto the form.

I think I'll continue to let my IDE do that stuff.

Yes, I know that Linux etc. has IDE development tools, but I have been
biased against such contraptions by meeting so many 'Unix developers'
who think that the ability to write bash scripts makes them programmers.

Even with little embedded systems like the LPC, those of us who think
that a human-interface spec that contains one character is somewhat
lacking need some help. I do not like makefiles full of unix-style
command-lines with dozens of obscure options that can only be
understood with years of experience or continual references to
nightmare man pages full of B-N notation!

Rgds,
Martin

"Windows? Yes please, I have product to sell..."