Hi,
In fact, the 24 bit Flash internal address Flash address bit [23] indicate the program Flash block is program flash block or data flash block. If customer want to program data flash, it just need to add 0x800000 with converted FTFL internal flash address. More detailed info, please check below code:
/* check for valid range of the target addresses */
if((endAddress >= PSSDConfig->PFlashBlockBase) && \
(endAddress <= (PSSDConfig->PFlashBlockBase + BYTE2WORD(PSSDConfig->PFlashBlockSize))))
{
/* Convert System memory address to FTFx internal memory address */
#if DSC_56800EX == CPU_CORE
destination = (2*(destination - PSSDConfig->PFlashBlockBase));
#else
destination -= PSSDConfig->PFlashBlockBase;
#endif
sectionAlign = PPGMSEC_ALIGN_SIZE;
}
else if((endAddress >= PSSDConfig->DFlashBlockBase) || \
(endAddress <= (PSSDConfig->DFlashBlockBase + BYTE2WORD(PSSDConfig->DFlashBlockSize))))
{
/* Convert System memory address to FTFx internal memory address */
#if DSC_56800EX == CPU_CORE
destination = (2*(destination - PSSDConfig->DFlashBlockBase)+ 0x800000);
#else
destination = destination - PSSDConfig->DFlashBlockBase + 0x800000;
#endif
sectionAlign = DPGMSEC_ALIGN_SIZE;
}
else /* end address does not fall within Pflash or Dflash range */
{
/* return an error code FTFx_ERR_RANGE */
returnCode = FTFx_ERR_RANGE;
goto EXIT;
}
Customer could dowload Kinetis Flash driver from below link:
http://cache.freescale.com/files/32bit/software/C90TFS_FLASH_DRIVER.exe
Wish it helps.