RE: 16-bit Memory Configuration Files

"Dobbin Allan-r11834" <[email protected]>
Newsgroups gmane.comp.hardware.motorola.microcontrollers
Message-ID <4147ED8B92A864498825C07E53594E4A3229EC@az33exm20.fsl.freescale.net>
A 32-bit memory most likely does not have ADDR[30:31] connected wheras a
16-bit memory system requires ADDR[30].  So when you set PS for 16-bit,
what happens is that address bytes 0x00000002 and 0x00000003 get mapped
onto 0x00000000 and 0x00000001 respectively.  So if you try and write,
say, 8-bytes of data where data equals lowest byte of address, you'd get
the following:

ADDR    DATA
0       2  (the original 0 gets overwritten with 2)
1       3  (the original 1 gets overwritten with 3) 
2       never accessed
3       never accessed
4       6 (the original 4 gets overwritten with 6)
5       7 (the original 5 gets overwritten with 7)
6       never accessed
7       never accessed

So the problem isn't the linker file or config file, it's a basic
hardware limitation. I don't think there is a way round it other than
doing something (silly?) like swapping the MSB ADDR line to the memory
for ADDR[30] which should give you access to half of the available
memory. I've not tried this, but if you can cut traces on the board to
do this, I think it may work - the data is now physically scattered
across the SRAM but you wouldn't see any difference as far as your
linker, config or any other software is concerned, just set PS for
16-bit.

There was a similar question on this subject last month and the author
was told there wasn't a way to get what he wanted i.e. some sort of
jumper configuration so his board could use 16 or 32-bit memory.
Perhaps a jumper between these two address line s may work.

Terry - if you try this, please let me know if it works.

Regards,
Allan

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf
Of Terry Hansen
Sent: Friday, September 09, 2005 12:00 PM
To: [email protected]
Subject: [MPC500] 16-bit Memory Configuration Files


MPC500 Group -
 
I would like to test my PhyCore MPC555 module for 16-bit wide memory.
It has 32-bit memory, but the next hardware design might use 16-bit
memory, so I want to make the PhyCore think it has 16-bit memory.
 
Simply changing the PS bits in the BRx registers in the initialization
and config files does not do the trick.  Code does not load.  Linker
files do not appear to care about memory port size.  Although, maybe
there is a preference panel setting that needs to be changed?
 
Does anyone have configuration and/or initialization files that
communicate to 16-bit wide memory?
 
Any help is greatly appreciated.  I have invested quite a bit of time in
this and seem to have hit a blank wall.  Hints about directions to go
help too.
 
Terry Hansen
Compact Power Inc
Palmer Lake, CO
 


------------------------ Yahoo! Groups Sponsor --------------------~--> 
Get Bzzzy! (real tools to help you find a job). Welcome to the Sweet Life.
http://us.click.yahoo.com/A77XvD/vlQLAA/TtwFAA/dN_tlB/TM
--------------------------------------------------------------------~-> 

-----------------------------------------------------------
To learn more about Freescale Microcontrollers, please visit
http://www.freescale.com/mcu


 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/MPC500/

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.