ColdFire MCF5213 Flash page size

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

ColdFire MCF5213 Flash page size

Jump to solution
1,318 Views
benjaminkeller
Contributor II

The reference manual (MCF5213RM.pdf Rev. 5 of 4/2011) reads


"Flash logical blocks are divided into multiple -kByte logical pages that can be erased separately."

 

 

on page 15-1 (223).

 

How big is a a logical page?


To what extent can I make use of the user manual of MCF5216 (MCF5282UM.pdf) regarding the flash module documentation?

Labels (1)
1 Solution
981 Views
benjaminkeller
Contributor II

I got the following answer from Freescale as a response to a service request:

Regarding the issue, the basic definition is:

Internally, the flash is divided in the following ways:

• Logical block — there is one block, (256 KBytes in 5212 and 5213, 128 KBytes in 5211). It is not possible to read from any block while the same block is being erased, programmed, or verified.

• Physical block — there are two physical blocks inside each logical block

• Sector — portion of a logical block. There are 32 sectors in an entire logical block, each one 8 Kbytes, also known as a logical sector)

• Logical Page — each page is 2 Kbytes

You may would like to make reference from the attached application note on the MCF521X CFM.

View solution in original post

0 Kudos
6 Replies
982 Views
benjaminkeller
Contributor II

I got the following answer from Freescale as a response to a service request:

Regarding the issue, the basic definition is:

Internally, the flash is divided in the following ways:

• Logical block — there is one block, (256 KBytes in 5212 and 5213, 128 KBytes in 5211). It is not possible to read from any block while the same block is being erased, programmed, or verified.

• Physical block — there are two physical blocks inside each logical block

• Sector — portion of a logical block. There are 32 sectors in an entire logical block, each one 8 Kbytes, also known as a logical sector)

• Logical Page — each page is 2 Kbytes

You may would like to make reference from the attached application note on the MCF521X CFM.

0 Kudos
981 Views
TomE
Specialist II

> You may would like to make reference from the attached application note on the MCF521X CFM.


Which App Note did they send you?


Is this App Note available on Freescale's web site?


If not, please respond to the Service Request and request it be made available to the rest of us.


Tom


0 Kudos
981 Views
benjaminkeller
Contributor II

They attached this documuent:

"Using the ColdFire Flash Module with the MCF521x ColdFire Microcontroller"

Document Number: AN3521

Rev. 0, 09/2007

available here: http://www.freescale.com/files/32bit/doc/app_note/AN3521.pdf

0 Kudos
981 Views
scifi
Senior Contributor I

I seem to remember a great deal of confusion regarding sizes of various flash blocks in Coldfire devices. There was a long thread in this forum on this subject, but I can't seem to find it. There is a rock-solid method of establishing the size of a sector (i.e. minimum erasable unit): pre-program flash and erase one sector, then see how much was actually erased.

981 Views
benjaminkeller
Contributor II

Thanks for the hint. I nevertheless would like to see Freescale engineers act their part and bring some clarity to the reference manual.

0 Kudos
981 Views
TomE
Specialist II

Searching for "flash block size" in this group finds 28 articles.

Google managed to find the following post from 2007(!) which puts a strong case for 2k erase sectors, I suggest you read it:

Incircuit FLASH programming - M5223X

Searching the MCF5213 Data Sheet for "Flash" finds:

1.2.5.2 Flash Memory

The ColdFire flash module (CFM) is a non-volatile memory (NVM) module that connects to the processor’s high-speed local

bus. The CFM is constructed with four banks of 32-Kbyte×16-bit flash memory arrays to generate 256 Kbytes of 32-bit flash

memory.

The Reference Manual echoes the above with multiple instances of "The CFM is constructed with four banks of 32-Kbyte 16-bit flash memory arrays to generate 256 Kbytes of 32-bit flash memory." The more interesting quote is at the front in the "Organisation" section where it says where they bought the FLASH module from:

Chapter 15, “ColdFire Flash Module (CFM),” describes implementation of the SuperFlash (R) technology licensed from SST used on this device. The ColdFire Flash Module (CFM) is constructed with four banks of 32K x 16-bit flash to generate a 256-Kbyte, 32-bit wide electrically erasable and programmable read-only memory array.

Nothing says how big the pages are though. Maybe you have to ask SST?

But I see what you mean. Section "15.1.1 Overview" contains "Flash logical blocks are divided into multiple -kByte logical pages that can be erased separately". That's not a "lack of clarity", that's a pure copy-and-paste editing bug. That chapter has been copied from another manual and the block size has been deleted with the intention of filling it in later, but "later" didn't happen. This is Revision 5 of the manual, so they've missed 4 chances to fix this. The Reference Manual Errata doesn't catch this either.

So the standard way to handle this is to perform some Archaeology. Search EVERY Freescale Manual for sentences like the above, download and compare them all. Reverse-engineer their design and editing mistakes.

The MCF5213 manual is the only one that has the "multiple -kByte" line. Searching reveals the line is present (with something other than " -kByte") in the following manuals:

MCF52110     "multiple 2-kByte logical pages"

MCF52211     "multiple logical pages"

MCF52223     "multiple 2-kByte logical pages"

MCF52235     "multiple logical pages"

MCF52259     "multiple 4-kByte logical pages"

MAC7100     "multiple logical pages ... Diagram showing 1k Data pages and 4k Program pages"

So the MCF5213 manual is a "Missing Link" between the ones that deliberately tell you nothing about the page sizes (at least in the Reference Manual) and the ones that do.

You should submit a proper report of this bug in the manual. I've only been able to get one severely broken manual (with multiple missing pages!) fixed, but then it was never released. You might get lucky and score a Reference Manual Addendum.

Tom