Boot Block and Uniform Block Flash Memory and Executin In Place(XIP)

Hi,

I understand that boot block Flash Memory have "protected boot blocks" so they can not be erased accidentally unless special functions are used to do that.

Further, Top Boot Block Flash memory are intended for microprocessors that begin execution by reading from the top of their memory space. And vice versa for Bottom Boot Bloc Flash Memory. Here, the Boot Block is positioned at the bottom of the Flash's address space for many microprocessors that have their Reset vector at 0000h. So, my mapping the Flash to address 0000h of the processor's address space, the processor can boot from the Flash's Boot Block.

I find that some some major processor makers use Bottom Boot(ST10, Motorola 68000 series, Power PC) and others use Top Boot(Intel i960,

80x86 ).

My Queries are :-

1) But, What is the advantage of Top Boot Flash Memory and What is the advantage of Bottom Boot Flash memory ?

2) Apart from protection to the Boot Block, what are the other differences between these Boot Block based Flash memories and Normal Flash Memories (Uniform Block Flash Memory)?

3) Which is cost-effective (Boot Block based Flash or Normal Flash ( Uniform Block Flash Memory) ) ?

4) Is the lifetime (Number of programmable / erase cycles) of the Boot Block lesser than or equivalent to that of the Normal Blocks (Application Code, User Parameters and User Data.) ?

5) Can that Boot Block area used for other purporses w.r.t security of the application ?

6) I understand that for systems with small amounts of memory, XIP is very good that each instance of that program uses system RAM, only for their stack, BSS, and data segments while the shared text segment remains in Flash Memory. But, Is there any specific Block for text segment while performing XIP ?

7) Is there any other specific configuration to look for while selecting the Flash Memory while going in for XIP ?

Thx in advans, Karthik Balaguru

Reply to
karthikbalaguru
Loading thread data ...

Sometimes these special blocks are smaller than the others. This might be an advantage, when you have to store some kind of variable information in it. You waste less space in this case (the bootloader u-boot does so. Sometimes you must waste 256kiB (one sector), but you only need 3kiB for the real data).

AFAIK no other difference.

Prepare your hardware and software to handle both types. Then you can always buy the cheaper one.

AFAIK no.

To store data the user can setup at runtime.

The sizes of the sectors are only important, when you are going to erase them (or when you want to run a real filesystem on top of it, like JFFS2). When you read this memory type (=run code from it), they are unimportant.

Hope it helps Juergen

Reply to
Juergen Beisert

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.