MPC5000 Family Serial Boot Mode

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

MPC5000 Family Serial Boot Mode

449 次查看
vmed5
Contributor I

Hello,

I am attempting to use serial boot mode to download a secondary bootloader into RAM which attempts to program a word in flash. However this method is not 100% successful and is corrupting the memory at the location I attempt to write to when it fails. I am using the MPC5566 reference manual section-13.4.2.3, as a guide to program the flash. When I use the debugger to observe the changes that have been made, a majority of the time I am shown "XXXXXXXXX Bus Error - No Opcode" at the location I attempt to write. Currently I am just attempting to program a word to 0x00000000, therefore I am not settings bits high, 0 -> 1(which is not possible using this method).

The reference manual mentions, "All programming operations must be from 64 bits to 256 bits, and be 64-bit aligned." The code downloaded accounts for this by also programming the previous memory address(i.e. if I want to write to 0xC, I attempt to write 0x8 and 0xC)

However it also states that, "Thus, if only 1 word in any given 64-bit ECC segment is programmed, do not program the adjoining word (in that segment) because the ECC calculation has already completed for that 64-bit segment." Could I possibly be interfering with the ECC?

Sometimes it writes successfully, but it seems to have a very low percentage of success. Any help is appreciated.

Thanks,

Victor

0 项奖励
1 回复

303 次查看
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

yes, that's related to ECC. Each double word has hidden 8bit ECC syndrome. When you program a double word, ECC syndrome is programmed too at the same time. It is not allowed to over-program a double word that is not fully erased. Even if you program data bits only from 1 to 0, it does not mean that bits in ECC syndrome will be programmed only from 1 to 0 too. There's very high probability that some bits in ECC will be programmed from 0 to 1. And this will cause ECC error.

ECC does not cover 100% of failures, so there are some patterns that will pass. But general recommendation is - do not program a double word that is not fully erased.

Regards,

Lukas

0 项奖励