Hi NXP experts:
I make my development base on S32K312EVB-Q172 , and switching RTD version from 3.0.0 P01 to 5.0.0 HF01 (S32K3_S32M27x Real-Time Drivers ASR R21-11 Version 5.0.0 HF01).
However, the Fee&Fls drivers change a lot between two RTD versions and I encountered some problems, especially the writing process will take longer time than 3.0 version.
Hardware: S32K312EVB-Q172
Software: S32 Design Studio - 3.5 Update14(Build 240924)
RTD: RTD 3.0.0 P01 v.s RTD 5.0.0 HF01
Flash Block size: 8KB
EEPROM number of block: 2 blocks
Block size: Block_0: 0x200; Block_1: 0x500
Reference documents: User Manual for S32K3 Fee Driver UM34FEEASR4.4 Rev0000R2.0.0 Rev. 1.0
RTD 3.0.0
| RTD 3.0.0 | ms | 1 | 2 | 3 | Average |
| Init | 0.782 | 0.78246 | 0.78282 | 0.782427 |
| Write | Block0 | 0.1624 | 0.16237 | 0.16239 | 0.162387 |
| Block1 | 0.28598 | 0.28597 | 0.28605 | 0.286 |
| Read | Block0 | 0.58423 | 0.58414 | 0.58411 | 0.58416 |
| Block1 | 1.39559 | 1.39569 | 1.39583 | 1.395703 |
RTD 5.0.0 HF01
| RTD 3.0.0 | ms | 1 | 2 | 3 | 4 | Average |
| Init | 3.58261 | 4.578746 | 5.59698 | 3.59889 | 4.339307 |
| Write | Block0 | 8.06584 | 8.07293 | 67.77847 | 8.07187 | 22.99728 |
| Block1 | 18.46129 | 18.45089 | 18.47874 | 18.47775 | 18.46717 |
| Read | Block0 | 2.2121 | 2.20861 | 2.21325 | 2.2073 | 2.210315 |
| Block1 | 5.42842 | 5.41367 | 5.43186 | 5.4238 | 5.424438 |
1. I tried to copy my setting in RTD 3.0, but some configs are not migratable between 2 versions.
For example, the maximum write size for FLASH can only be 128 bytes in RTD 5.0, at least in the GUI settings.
My config in detail is in the attachment to save space.

2. The write page size limited to 32 bytes due to data alignment check in RTD 5.0.
I tried to follow my setting in RTD 3.0. Despite the code and compile, the Mem_43 module returns ErrorID 0x04. Which is caused by Fee_WriteToMemAcc and Fee_ReadFromMemAcc
To be more specific, WritePageSize should be the greatest common divisor(GCD) of
1. FEE_VIRTUAL_PAGE_SIZE = 96
2. FEE_BLOCK_OVERHEAD - (2U * FEE_VIRTUAL_PAGE_SIZE) = 32
3. FEE_CLUSTER_OVERHEAD - (2U * FEE_VIRTUAL_PAGE_SIZE) = 32
As for ReadPageSize has to be the GCD of FEE_BLOCK_OVERHEAD = 96
According to RTD_FEE_UM, FEE_VIRTUAL_PAGE_SIZE has default value of 32, and FEE_BLOCK_OVERHEAD will be Ceiling(12/FEE_VIRTUAL_PAGE_SIZE + 2) * FEE_VIRTUAL_PAGE_SIZE = 96.
So the WritePageSize and the ReadPageSize are stuck at 32 and 96 respectively.
Nevertheless, there were no such limitation in RTD 3.0.
I would like to know why there are such limitation in RTD 5.0, and how to improve S32K312 EEPROM performance.