I have problems when I'm doing a flash erase with the SSD C55 flash driver.
I'm doing a bootloader so I found a CAN bootloader. So I took the example and got to run it.
But when I start modifiying to ajust for my app I can't get it to work.
I have the bootloader in this flash positions:
/*16 KB low flash memory block 2 (boot location 0) from 0x00F98000 to 0x00F9BFFF*/
/*16 KB low flash memory block 3 (boot location 1) from 0x00F9C000 to 0x00F9FFFF*/
/*64 KB low flash memory block 4 (boot location 2) from 0x00FA0000 to 0x00FAFFFF*/
/* use the low flash memory block 2 and 3(96KB in total) as bootloader area */
flash_rchw : org = 0x00F98000, len = 4
cpu0_reset_vec : org = 0x00F98004, len = 4
m_text : org = 0x00F98008, len = 96K - 4 - 4
So I wont to erase the rest of the momry so I configure the SSD C55 driver like that:
- block_mpc574xP.h:
#define UNLOCK_LOW_BLOCKS 0x0000000E
#define UNLOCK_MID_BLOCKS 0x00000000
#define UNLOCK_HIGH_BLOCKS 0x00000001
#define UNLOCK_FIRST256_BLOCKS 0x00
#define SKIP_IDX_NUM 0x4
- block_mpc574xP.c:
const UINT32 SKIP_BLOCK_IDX[SKIP_IDX_NUM] =
{
/*for bootloader project, the flash block to ship depends on the project linker command file*/
0x1, /* BAF block */
0x2, /* bootloader block, Flash low 1 block: address 0x00F98000 to 0x00F9BFFF */
0x3, /* bootloader block, Flash low 2 block: address 0x00F9C000 to 0x00F9CFFF */
0x6 /* bootloader block, Flash high 0 block: address 0x00FA0000 to 0x00FAFFFF */
};
But when I do this modification and I run the program, this is allways jumping to the EER_exception_handler.
Thanks