Other Parts Discussed in Thread: CONTROLSUITE
Hi expert,
My customer is porting his code from F28067 to F28062 due to lack of supply.
And they found the flash sector is not the same for these two parts.
One sector of F28062 is 8K
One sector of F28067 is 16k.
so they want to ask, when they call the function 'Flash_Erase(SECTORB,&FlashStatus)'
how does the code judge how long to erase?
I have found we have some demo in controlsuite. which have a defination.
#if (FLASH_F28069 || FLASH_F28068 || FLASH_F28067 || FLASH_F28066) #define FLASH_START_ADDR 0x3D8000 SECTOR Sector[8]= { (Uint16 *) 0x3D8000,(Uint16 *) 0x3DBFFF, (Uint16 *) 0x3DC000,(Uint16 *) 0x3DFFFF, (Uint16 *) 0x3E0000,(Uint16 *) 0x3E3FFF, (Uint16 *) 0x3E4000,(Uint16 *) 0x3E7FFF, (Uint16 *) 0x3E8000,(Uint16 *) 0x3EBFFF, (Uint16 *) 0x3EC000,(Uint16 *) 0x3EFFFF, (Uint16 *) 0x3F0000,(Uint16 *) 0x3F3FFF, (Uint16 *) 0x3F4000,(Uint16 *) 0x3F7FFF, }; #elif (FLASH_F28065 || FLASH_F28064 || FLASH_F28063 || FLASH_F28062) #define FLASH_START_ADDR 0x3E8000 SECTOR Sector[8]= { (Uint16 *) 0x3E8000,(Uint16 *) 0x3E9FFF, (Uint16 *) 0x3EA000,(Uint16 *) 0x3EBFFF, (Uint16 *) 0x3EC000,(Uint16 *) 0x3EDFFF, (Uint16 *) 0x3EE000,(Uint16 *) 0x3EFFFF, (Uint16 *) 0x3F0000,(Uint16 *) 0x3F1FFF, (Uint16 *) 0x3F2000,(Uint16 *) 0x3F3FFF, (Uint16 *) 0x3F4000,(Uint16 *) 0x3F5FFF, (Uint16 *) 0x3F6000,(Uint16 *) 0x3F7FFF, }; #endif
does customer have to add the same code in their project?
Besides, they found 8K erase can also succeed in F28067, can they use the same length group for these two project, since it is for same project in customer.
BR
Emma