Running code from external nand flash on MCF-TWR5441X eval board

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

Running code from external nand flash on MCF-TWR5441X eval board

2,040 Views
bole
Contributor II

Hi,

 

I have a Freescale Tower Kit and MCF-TWR5441X eval board.  The board comes with external nand flash chip.

 

Based on this design, logically  a code can be downloaded to flash using flasher tool provided with CodeWarrior ver. 10.3 and later run from the flash.

 

I have a hard time understanding how nand flash controller works on this micro Coldfire 54418. How I access data, how I run my program?


Is there anyone that worked with this and understands this??


Can someone help me understand this?


Thank you very much.

 

Bole

Labels (1)
6 Replies

965 Views
Monica
Senior Contributor III

Hello Bole!

Have there been any breakthroughs? Please keep us posted :smileywink:

Best regards,

Monica

0 Kudos

965 Views
bole
Contributor II

Hello Monica,

I did post on this topic. Please refer to my response to Fang.

Bole

965 Views
miduo
NXP Employee
NXP Employee

Hi, Bole


CodeWarrior does not provide in its default settings the capability to use the NAND flash located in the main board for example the U10 MT29F2G16AADWP. Debugging from NAND flash is quite difficult because this memory is read in blocks. The method used to debug NAND memories is to copy code to RAM and debug from RAM. But unfortunately CodeWarrior does not provide this support. NOR flash can be read by single address and this makes easy to debug the project.

We provide an useful app note regarding the NAND Flash controller of MCF5441x for your reference.

http://cache.freescale.com/files/32bit/doc/app_note/AN4348.pdf?fsrch=1&sr=1


0 Kudos

965 Views
bole
Contributor II

Hello Fang,

I am reading at the reference manual for MCF54418 chip.

According to the manual the CPU can boot from flash. The NAND flash controller on the micro will load up the first 4Kb of NAND flash chip memory in its local SRAM and make it addressable by the micro CPU on addresses 0x000 - 0xF8F.

This means that this memory contains some kind of the bootloader program that runs and copies the rest of the NAND flash chip memory into SDRAM chip and switches execution to whatever is loaded in SDRAM.

Since you work for Freescale, can you please let me know how to obtain that bootloader program and the user manual for it. How does it work? Copies what data from where and to where?

In my design I will use the same NAND flash memory, so I will need to install that bootloader code. I need to know how I can do this.

I looked for this on the freescale website and I cannot find anything about this.

I run Codewarrior 10.3 on Windows 8 system.


Thank you very much for your help.

Bole

0 Kudos

965 Views
miduo
NXP Employee
NXP Employee

Hi, Bole

Yes, Freescale provide an U-boot bootloader with TWR-MCF5441x which embedded in MCF5441x Tower Linux BSP. Attached is the u-boot NAND source for MCF54418. You may would like to refer to it for more development.

As for the document, please check the attachment you can find the Quick Start Guide for TWR-MCF5441X in this Quick Start Guide, you will see how to set up the TWR-MCF5441X module and run the Linux and MQX shell demonstrations.

In addition I am sending you an application note that is a guide if you want or need to set up the Freescale LTIB for the ColdFire MCF54418 Tower BSP.


Best Regards,

Fang

0 Kudos

965 Views
bole
Contributor II

Fang,

The U-boot bootloader is a separate software and does not have anything to do with my question above.

It was meant to be used in if you want to run linux on the eval board.

As far as how it is setup:

The boot.c and strapboot.c files that are part of the board support package (BSP) for MCF5441X contain the bootloader code that takes data from NAND flash and copies it local SDRAM chip from where you can run your program.

In addition, the BSP files do not come with Codewarrior on its own. One has to install MQX 4.0 support package for codewarrior and BSP for MCF5441X eval board comes with it. Being part of the MQX, the BSP package is tied to MQX OS and thus you cannot use it with a different OS, without modifying the code.

This, of course, is no where documented in the user manual under MCF5441X dev board and one has to dig to figure out how it works.

Other people told me Freescale documentation is far from good, I did not believe until now. Sorry for the frustration.

Bole

0 Kudos