EmbeddedRelated.com
Forums
Memfault Beyond the Launch

MAM and how to get the most from the LPC2106

Started by acetoel February 11, 2005

Hello

I would like to know how to get the most of the LPC in Speed and
Performance... Now I'm using a 10MHz crystal PLLed to 60MHZ for PCLK
and CCLK, and 240Mhz Fcco (what is this?).
But set MAM or other optimization parameter... well, how can I do it,
and which is the most powerful configuration (it doesn't care that the
MCU consumes more current, my supply is a 12V 7.4Ah Gel Battery)

Thanks

Kimi




Re: MAM and how to get the most from the LPC2106

An Engineer's Guide to the LPC2100 Series


Also, now I'm using Thumb Mode, as I'm compiling with -mthumb.
To run it in ARM mode it should be -marm ?

Thanks

Kimi

--- In , "acetoel" <acetoel@y...> wrote:
>
> Hello
>
> I would like to know how to get the most of the LPC in Speed and
> Performance... Now I'm using a 10MHz crystal PLLed to 60MHZ for PCLK
> and CCLK, and 240Mhz Fcco (what is this?).
> But set MAM or other optimization parameter... well, how can I do it,
> and which is the most powerful configuration (it doesn't care that the
> MCU consumes more current, my supply is a 12V 7.4Ah Gel Battery)
>
> Thanks
>
> Kimi



I think, you can look at user guide for PC2292/2294

UM_LPC21XX_LPC22XX_2_FULLDATA.pdf

on page 90 to 94 describe abour MAM and the control registers. the copy is provided here for reference... from the manual.
Memory Accelerator Module (MAM) 93 May 03, 2004

MAM CONFIGURATION

After reset the MAM defaults to the disabled state. Software can turn memory access acceleration on or off at any time. This

allows most of an application to be run at the highest possible performance, while certain functions can be run at a somewhat

slower but more predictable rate if more precise timing is required.

REGISTER DESCRIPTION

All registers, regardless of size, are on word address boundaries. Details of the registers appear in the description of each

function.

*Reset Value refers to the data stored in used bits only. It does not include reserved bits content.

Table 37: Summary of System Control Registers

Name Description Access

Reset

Value*

Address

MAM

MAMCR

Memory Accelerator Module Control Register. Determines the MAM

functional mode, that is, to what extent the MAM performance

enhancements are enabled. See Table 38.

R/W 0 0xE01FC000

MAMTIM

Memory Accelerator Module Timing control. Determines the number of

clocks used for Flash memory fetches (1 to 7 processor clocks).

R/W 0x07 0xE01FC004

Memory Accelerator Module (MAM) 94 May 03, 2004

Philips Semiconductors Preliminary User Manual

LPC2119/2129/2194/2292/2294 ARM-based Microcontroller

MAM Control Register (MAMCR - 0xE01FC000)

Two configuration bits select the three MAM operating modes, as shown in Table 38. Following Reset, MAM functions are

disabled. Changing the MAM operating mode causes the MAM to invalidate all of the holding latches, resulting in new reads of

Flash information as required.

MAM Timing Register (MAMTIM - 0xE01FC004)

The MAM Timing register determines how many cclk cycles are used to access the Flash memory. This allows tuning MAM timing

to match the processor operating frequency. Flash access times from 1 clock to 7 clocks are possible. Single clock Flash

accesses would essentially remove the MAM from timing calculations. In this case the MAM mode may be selected to optimize

power usage.

MAM USAGE NOTES

When changing MAM timing, the MAM must first be turned off by writing a zero to MAMCR. A new value may then be written to

MAMTIM. Finally, the MAM may be turned on again by writing a value (1 or 2) corresponding to the desired operating mode to

MAMCR.

For system clock slower than 20 MHz, MAMTIM can be 001. For system clock between 20 MHz and 40 MHz, Flash access time

is suggested to be 2 CCLKs, while in systems with system clock faster than 40 MHz, 3 CCLKs are proposed.

Table 38: MAM Control Register (MAMCR - 0xE01FC000)

MAMCR Function Description

Reset

Value

1:0

MAM mode

control

These bits determine the operating mode of the MAM as follows:

0 0 - MAM functions disabled.

0 1 - MAM functions partially enabled.

1 0 - MAM functions fully enabled. use this to take full advantage

1 1 - reserved

0

7:2 Reserved

Reserved, user software should not write ones to reserved bits. The value read from a

reserved bit is not defined.

NA

Table 39: MAM Timing Register (MAMTIM - 0xE01FC004)

MAMTIM Function Description

Reset

Value

2:0

MAM Fetch

Cycle timing

These bits set the duration of MAM Flash fetch operations as follows:

0 0 0 = 0 - Reserved.

0 0 1 = 1 - MAM fetch cycles are 1 processor clock (cclk) in duration.

0 1 0 = 2 - MAM fetch cycles are 2 processor clocks (cclks) in duration.

0 1 1 = 3 - MAM fetch cycles are 3 processor clocks (cclks) in duration.

1 0 0 = 4 - MAM fetch cycles are 4 processor clocks (cclks) in duration.

1 0 1 = 5 - MAM fetch cycles are 5 processor clocks (cclks) in duration.

1 1 0 = 6 - MAM fetch cycles are 6 processor clocks (cclks) in duration.

1 1 1 = 7 - MAM fetch cycles are 7 processor clocks (cclks) in duration.

Warning: Improper setting of this value may result in incorrect operation of the device.

0x07

7:3 Reserved

Reserved, user software should not write ones to reserved bits. The value read from a

reserved bit is not defined.

NA

Philips Semiconductors Preliminary User Manual

LPC2119/2129/2194/2292/2294 ARM-based Microcontroller k b shah

----- Original Message -----
From: acetoel
To:
Sent: Friday, February 11, 2005 6:37 AM
Subject: [lpc2000] Re: MAM and how to get the most from the LPC2106
Also, now I'm using Thumb Mode, as I'm compiling with -mthumb.
To run it in ARM mode it should be -marm ?

Thanks

Kimi

--- In , "acetoel" <acetoel@y...> wrote:
>
> Hello
>
> I would like to know how to get the most of the LPC in Speed and
> Performance... Now I'm using a 10MHz crystal PLLed to 60MHZ for PCLK
> and CCLK, and 240Mhz Fcco (what is this?).
> But set MAM or other optimization parameter... well, how can I do it,
> and which is the most powerful configuration (it doesn't care that the
> MCU consumes more current, my supply is a 12V 7.4Ah Gel Battery)
>
> Thanks
>
> Kimi

------
Yahoo! Groups Links

a.. To




I have been using Segger JLink JTAG with IAR. I frequenly get Blue Screen
of Death. I am running Vsn 32 of the dll.
Is anyone else running JLink/IAR? Similar problems? I have found that
enumerating another USB device during Debug really screws up JLink.
I have tried two machines with similar results. I am about to install a new
PC just to rule that out as a factor


> I have been using Segger JLink JTAG with IAR. I frequenly get Blue Screen
> of Death. I am running Vsn 32 of the dll.
> Is anyone else running JLink/IAR? Similar problems? I have found that
> enumerating another USB device during Debug really screws up JLink.
> I have tried two machines with similar results. I am about to install a new
> PC just to rule that out as a factor
>

I have a great dislike to that device. IMO it's a piece of crap.
Admittedly, for a big part because it's just about the only commercial USB device I've
come across so far that doesn't support WIN98SE.
It seems it works woefully on XP anyway, given many others' feedback.

I think Segger should pull their finger out and write a more decent driver for it, or somesuch.
I've used numerous USB devices so far on WIN98SE - and none have ever played up or
crashed the PC.
( Laser printer / Networked, HP DeskJet / Scanner / Copier / Networked, Rowley CrossConnect,
AVR JTAG-ICE MKII, RFWaves 2.4 GHz Eval/app 1 MBps w/ imaging streams, Silicon Labs CP210X
drivers & eval/app HW, .... and the list of Eval w/ USB goes on ...)

If I were IAR, I'd be ashamed to have my logo on that half-cooked excuse for a USB JTAG.

-- Kris


Now Kris, tell us what you really think about it.

Al

microbit wrote:

> > I have been using Segger JLink JTAG with IAR. I frequenly get Blue
> Screen
> > of Death. I am running Vsn 32 of the dll.
> > Is anyone else running JLink/IAR? Similar problems? I have found that
> > enumerating another USB device during Debug really screws up JLink.
> > I have tried two machines with similar results. I am about to
> install a new
> > PC just to rule that out as a factor
> >
>
> I have a great dislike to that device. IMO it's a piece of crap.
> Admittedly, for a big part because it's just about the only commercial
> USB device I've
> come across so far that doesn't support WIN98SE.
> It seems it works woefully on XP anyway, given many others' feedback.
>
> I think Segger should pull their finger out and write a more decent
> driver for it, or somesuch.
> I've used numerous USB devices so far on WIN98SE - and none have ever
> played up or
> crashed the PC.
> ( Laser printer / Networked, HP DeskJet / Scanner / Copier /
> Networked, Rowley CrossConnect,
> AVR JTAG-ICE MKII, RFWaves 2.4 GHz Eval/app 1 MBps w/ imaging streams,
> Silicon Labs CP210X
> drivers & eval/app HW, .... and the list of Eval w/ USB goes on ...)
>
> If I were IAR, I'd be ashamed to have my logo on that half-cooked
> excuse for a USB JTAG.
>
> -- Kris >
>
> <http://www.netflix.com/Default?mqso`190075" target="_blank" rel="nofollow">http://us.ard.yahoo.com/SIG9751dki/M)8184.6018725.7038619.3001176/D=groups/S06554205:HM/EXP10368562/A%93423/R=0/SIGel9gslf/*http://www.netflix.com/Default?mqso`190075 >
>
> >. >
>
>No virus found in this incoming message.
>Checked by AVG Anti-Virus.
>Version: 7.0.308 / Virus Database: 266.6.4 - Release Date: 7/03/2005





Memfault Beyond the Launch