Yahoo Groups archive

Lpc2000

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

Message

Re: lpc2294 external bus query

2004-10-12 by douglasbolton

--- In lpc2000@yahoogroups.com, "itsjustimpossible" <simonjh@b...> 
wrote:
> 
> Hi
> Does anyone know if it is possible to run with internal FLASH and 
> RAM, but also have an additional SRAM and 8-bit peripheral on the 
> external bus?
> 
> From the data sheet it looks like it should be, but if I run from 
> internal FLASH I don't get any bus activity if I try to access the 
> external memory.
> 
> many thanks
> Simon

You sure can. I'm currently running an external 8 bit lcd and 2*16 
bit sram chips. I also use both the internal flash and sram.

I'm using CS1,CS2 and CS3 for the external devices. Below is my setip 
code and it seems just to work!


	dummy = PINSEL2;
	// set extended memory D0-D16 CS,CS1,CS2,CS3 A0-A19
	dummy &= ~(0x00000020);
	dummy |= 0x00000010;
	
	// enable /WE,/CS1
	dummy |= 0x00000900;
		
	// enable /CS2,/CS3
	dummy |= 0x00014000;
	
	// enable A0,A1, A2-A19
	dummy |= 0x0d800000;
					
	PINSEL2 = dummy;	


	// set up the external sram on CS1
	dummy = BCFG1;	

	// 1 idle cycle
	dummy &= ~(0x0000000f);	
	
	// 3 wait states, 16 bit wide bus
	dummy &= ~(0x000003e0);	
	dummy |= 0x00000460;	

	// 3 wait states
	dummy &= ~(0x0000f800);	
	dummy |= 0x00001800;		
	
	// 16 bit bus
	dummy &= ~(0x30000000);	
	dummy |= 0x10000000;					
	BCFG1 = dummy;

	// set up the external non volatile sram on CS2
	dummy = BCFG2;	

	// 1 idle cycle
	dummy &= ~(0x0000000f);	
				
	// 3 wait states, 16 bit wide bus
	dummy &= ~(0x000003e0);	
	dummy |= 0x00000460;					
		
	
	// 3 wait states
	dummy &= ~(0x0000f800);	
	dummy |= 0x00001800;			

	// 16 bit bus
	dummy &= ~(0x30000000);	
	dummy |= 0x10000000;					
	BCFG2 = dummy;

	// set up the lcd on CS3
	dummy = BCFG3;	
	// maximum idle cycles
	dummy |= 0x0000000f;	
	// maximum wait cycles
	dummy |= 0x000003e0;	
	// maximum wait cycles
	dummy |= 0x0000f800;	
	// 8 bit bus
	dummy &= ~(0x30000000);		
	BCFG3 = dummy;

Attachments

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.