Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Thread

performance problems

performance problems

2004-02-12 by Sören Rennecke

Hi,

What possibilities, are there to increase the performance. 
I need to process many instructions at my UART
interrupt-service-routine. So I get problems at higher Baud rates. 
I use the 14,745 MHz quartz, and don�t want to use the PLL (to save
current); pclk = cclk. 
I compiled the called functions in thumb mode, and optimized the output
with level 3. 
I reached a better performance, but are there other ways to get higher? 

Thanks S�ren

Re: [lpc2100] performance problems

2004-02-12 by Bogdan Marinescu

Correct me if I misunderstood, but it seems that you're compiling in thumb mode in order to obtain a speed gain. This is wrong. Thumb mode will decrease the size of your application but will reduce its performance. Run everything in ARM mode with full optimizations; if this fails, write the ISR in assembler. If this still fails you'll have to use a higher clock speed.

S\ufffdren_Rennecke <rennecke@...> wrote:
Hi,

What possibilities, are there to increase the performance. 
I need to process many instructions at my UART
interrupt-service-routine. So I get problems at higher Baud rates. 
I use the 14,745 MHz quartz, and don\ufffdt want to use the PLL (to save
current); pclk = cclk. 
I compiled the called functions in thumb mode, and optimized the output
with level 3. 
I reached a better performance, but are there other ways to get higher? 

Thanks S\ufffdren




---------------------------------
Yahoo! Groups Links

   To visit your group on the web, go to:
http://groups.yahoo.com/group/lpc2100/
  
   To unsubscribe from this group, send an email to:
lpc2100-unsubscribe@yahoogroups.com
  
   Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. 



---------------------------------
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online

Re: [lpc2100] performance problems

2004-02-12 by Peter Kuhar

> What possibilities, are there to increase the performance.
> I need to process many instructions at my UART
> interrupt-service-routine. So I get problems at higher Baud rates. 
> I use the 14,745 MHz quartz, and don\ufffdt want to use the PLL (to save
> current); pclk = cclk. 
> I compiled the called functions in thumb mode, and optimized the output
> with level 3. 
> I reached a better performance, but are there other ways to get higher?
Have you enabled MAM?

AW: [lpc2100] performance problems

2004-02-12 by Sören Rennecke

Yes it was my aim.  I read it here:
http://www.nohau.com/appnotes/arm-thumb.pdf

Correct me if I misunderstood, but it seems that you're compiling in
thumb mode in order to obtain a speed gain. This is wrong. Thumb mode
will decrease the size of your application but will reduce its
performance. Run everything in ARM mode with full optimizations; if this
fails, write the ISR in assembler. If this still fails you'll have to
use a higher clock speed.

Sören_Rennecke <rennecke@...> wrote:
Hi,

What possibilities, are there to increase the performance. 
I need to process many instructions at my UART
interrupt-service-routine. So I get problems at higher Baud rates. 
I use the 14,745 MHz quartz, and don’t want to use the PLL (to save
current); pclk = cclk. 
I compiled the called functions in thumb mode, and optimized the output
with level 3. 
I reached a better performance, but are there other ways to get higher? 

Thanks Sören

Re: AW: [lpc2100] performance problems

2004-02-12 by Bogdan Marinescu

Thumb mode is perfect for speed optimization for chips with a 16-bit internal and/or external memory bus. In this mode ARM instructions would require two memory accesses and thus ARM mode would be quite slow. However, this is not the case with the LPC, so I really can't see how Thumb mode can help you speed un things in this case. Please someone correct me if I'm missing something.

S\ufffdren_Rennecke <rennecke@...> wrote:Yes it was my aim.  I read it here:
http://www.nohau.com/appnotes/arm-thumb.pdf

Correct me if I misunderstood, but it seems that you're compiling in
thumb mode in order to obtain a speed gain. This is wrong. Thumb mode
will decrease the size of your application but will reduce its
performance. Run everything in ARM mode with full optimizations; if this
fails, write the ISR in assembler. If this still fails you'll have to
use a higher clock speed.

S\ufffdren_Rennecke <rennecke@...> wrote:
Hi,

What possibilities, are there to increase the performance. 
I need to process many instructions at my UART
interrupt-service-routine. So I get problems at higher Baud rates. 
I use the 14,745 MHz quartz, and don\ufffdt want to use the PLL (to save
current); pclk = cclk. 
I compiled the called functions in thumb mode, and optimized the output
with level 3. 
I reached a better performance, but are there other ways to get higher? 

Thanks S\ufffdren






---------------------------------
Yahoo! Groups Links

   To visit your group on the web, go to:
http://groups.yahoo.com/group/lpc2100/
  
   To unsubscribe from this group, send an email to:
lpc2100-unsubscribe@yahoogroups.com
  
   Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. 




---------------------------------
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online

AW: [lpc2100] performance problems

2004-02-12 by Sören Rennecke

-----Ursprüngliche Nachricht-----
Von: Peter Kuhar 
Betreff: Re: [lpc2100] performance problems

> What possibilities, are there to increase the performance.
> I need to process many instructions at my UART
> interrupt-service-routine. So I get problems at higher Baud rates. 
> I use the 14,745 MHz quartz, and don’t want to use the PLL (to save
> current); pclk = cclk. 
> I compiled the called functions in thumb mode, and optimized the
output
> with level 3. 
> I reached a better performance, but are there other ways to get
higher?
Have you enabled MAM?

 


No I didn't enable MAM. I had this Idea, but I read that it is just
necessary if I have a cclk over 20 MHz.
But I'll try it...

AW: [lpc2100] performance problems

2004-02-12 by Sören Rennecke

OK You're right, I compiled in Arm Mode with optimize Level 3 and I
reach the same Baud rate. 


-----Ursprüngliche Nachricht-----
Von: Bogdan Marinescu 
Gesendet: Donnerstag, 12. Februar 2004 08:42
Betreff: Re: AW: [lpc2100] performance problems

    Thumb mode is perfect for speed optimization for chips with a 16-bit
internal and/or external memory bus. In this mode ARM instructions would
require two memory accesses and thus ARM mode would be quite slow.
However, this is not the case with the LPC, so I really can't see how
Thumb mode can help you speed un things in this case. Please someone
correct me if I'm missing something.

Sören_Rennecke <rennecke@corscience.de> wrote: 
Yes it was my aim.  I read it here:
http://www.nohau.com/appnotes/arm-thumb.pdf

Correct me if I misunderstood, but it seems that you're compiling in
thumb mode in order to obtain a speed gain. This is wrong. Thumb mode
will decrease the size of your application but will reduce its
performance. Run everything in ARM mode with full optimizations; if this
fails, write the ISR in assembler. If this still fails you'll have to
use a higher clock speed.

Sören_Rennecke <rennecke@...> wrote:
Hi,

What possibilities, are there to increase the performance. 
I need to process many instructions at my UART
interrupt-service-routine. So I get problems at higher Baud rates. 
I use the 14,745 MHz quartz, and don’t want to use the PLL (to save
current); pclk = cclk. 
I compiled the called functions in thumb mode, and optimized the output
with level 3. 
I reached a better performance, but are there other ways to get higher? 

Thanks Sören

Re: AW: [lpc2100] performance problems

2004-02-12 by Robert Adsett

At 08:41 AM 2/12/04 +0100, you wrote:
> > I reached a better performance, but are there other ways to get
>higher?
>Have you enabled MAM?
>
>
>No I didn't enable MAM. I had this Idea, but I read that it is just
>necessary if I have a cclk over 20 MHz.
>But I'll try it...

The caching portion might not make a difference but the default on the LPC 
is to use 7 cycles to access the flash. Reducing that is likely to make a 
big difference.

Robert


" 'Freedom' has no meaning of itself.  There are always restrictions,
be they legal, genetic, or physical.  If you don't believe me, try to
chew a radio signal. "

                         Kelvin Throop, III

Re: AW: [lpc2100] performance problems

2004-02-12 by Bill Knight

A couple of suggestions/options:
1) Run in ARM mode - faster w/ 32-bit memories
2) Possibly run a multiplier of 2X => 28+MHz CPU speed will
   help and still not be as current consuming as full speed.
3) Check the manner in which UART register addresses are used in
   the ISR.  A simple #define of each register address will
   typically cause a 32-bit cpu register load, then a 0 offset
   access of the UART register.  If several UART registers are
   accessed, typedef a struct for the UART register group then
   declare and use a pointer to the UART register group in the ISR.
   The compiler will then use offset addressing to access specific
   UART registers. For examples, look at the LPC210x.h & associated
   files I uploaded a couple of weeks ago.  The resulting executible
   will be potentially smaller and faster.

Regards
-Bill Knight
R O SoftWare

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.