Interfacing External flash memory in MC9S12XEQ512 - need help

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Interfacing External flash memory in MC9S12XEQ512 - need help

990 Views
anandk1
Contributor I

We are implementing external flash memory (Numonyx 16MB exterrnal flash memory) using External Bus Interface of microcontroller MC9S12XEQ512 in our project.  we already have the driver code obtained from Numonyx and made changes in the user section of the driver code based on the variant(which is 160FT variant of Numonyx-16MB) we are using. but still we are unable to access the external flash memory. 

 

It would be much helpful if anyone can post any application notes and application program for the same(external memory interface).

Labels (1)
0 Kudos
3 Replies

353 Views
kef
Specialist I

An Introduction to the External Bus Interface on the HCS12X

 

http://cache.freescale.com/files/microcontrollers/doc/app_note/AN2708.pdf

 

S12X can address only 8MB of memory. Your device has not 16MB, but only 16Mb or 16Mbit or 2MB of flash.

 

Can you show your circuit? At least relevant parts of it: all wires between MCU and external flash + PORTE pins connections.

Are you booting is normal expanded mode or indeed in single chip and switching to expanded mode? If single chip, then it would help if you showed piece of code how are you configuring memory bus and switching to expanded mode.

0 Kudos

353 Views
anandk1
Contributor I

Yes It is 16Mb or 2MB of external flash memory. we have set "normal expanded mode" only(MODE register set to160d).
 
I have attached screen shots of MCU-Flash circuit. I have attached the driver code downloaded from Numonyx site.

0 Kudos

353 Views
kef
Specialist I

Not a lot can be told looking at these screen shorts. I hope Flash_xx signals are headed in the right direction. But I wonder why Flash_BYTE is going somewhere far? It is flash chip bus mode configuration input pin. For 16 bits wide bus it should be pulled high, or maybe simply shorted to Vcc. Did you connect it to MCU?

 

I think BASE_ADDR define should use __far24 keyword like this:

 

#pragma BASE_ADDR ((volatile uCPUBusType * __far24)0x140000)

 

0 Kudos