S32DS-KEAZ128-KEA EEPROM Emulation Driver

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

S32DS-KEAZ128-KEA EEPROM Emulation Driver

跳至解决方案
1,493 次查看
Roc_Wang
Contributor I
Hello, We are using S32DS to develop a KEAZ128 project now. We have downloaded the EEPROM emulation "KEAZN8_64_EEE_DEVD", but our project can not work normally after using it. Is there a S32DS-KEAZ128 demo project available ? or How to use this driver in S32DS project ? Thank you !
0 项奖励
1 解答
1,477 次查看
Robin_Shen
NXP TechSupport
NXP TechSupport

Hi Wangyuepeng,

We offered a verified demo project below which can work normally based on the transplanted EEPROM emulated driver.(I will send it to you by email)

 

For the transplant process, there are several modification points which need to pay attention to:

1.This demo project is based on the FRDM-KEAZ128 EVB board, and you can find the reference documents in this website(https://www.nxp.com/design/development-boards/automotive-development-platforms/s32k-mcu-platforms/ke...).

2.The startup code is created by the new S32DS project for the toolchains of CodeWarrior and S32DS are different.

3.In order to avoid the conflicts between emulation EEPROM data and application code, we actively reserve dedicated memory for emulation EEPROM data in the linker file.
Specifically, 3KB of Flash memory is reserved for EEPROM simulation data(used for 6 sectors with only 512 bytes each).
For similar considerations, we reserved 1KB of dedicated memory in RAM to implement the cache table function.
Of course, the starting address of cache table and EEPROM simulation data should also be modified accordingly in the "ee_user_config.h" and "ee_demo.h" files.

4.Since there is only 1 RWW partition, Flash read operations(such as interrupts) are not supported when some EEPROM emulation drivers are executing the Flash write operations.
For this project, after the global interrupt was turned off during the execution of the "p_FLashLanchComamnd" macro operation in 3 APIs(Eed_SyncFlashErase()|Eed_EraseVerify()|Eed_FlashProgram()) in the "ee_low_level.c" file, the PIT ISR can run normally.

Best Regards,
Robin
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
4 回复数
1,478 次查看
Robin_Shen
NXP TechSupport
NXP TechSupport

Hi Wangyuepeng,

We offered a verified demo project below which can work normally based on the transplanted EEPROM emulated driver.(I will send it to you by email)

 

For the transplant process, there are several modification points which need to pay attention to:

1.This demo project is based on the FRDM-KEAZ128 EVB board, and you can find the reference documents in this website(https://www.nxp.com/design/development-boards/automotive-development-platforms/s32k-mcu-platforms/ke...).

2.The startup code is created by the new S32DS project for the toolchains of CodeWarrior and S32DS are different.

3.In order to avoid the conflicts between emulation EEPROM data and application code, we actively reserve dedicated memory for emulation EEPROM data in the linker file.
Specifically, 3KB of Flash memory is reserved for EEPROM simulation data(used for 6 sectors with only 512 bytes each).
For similar considerations, we reserved 1KB of dedicated memory in RAM to implement the cache table function.
Of course, the starting address of cache table and EEPROM simulation data should also be modified accordingly in the "ee_user_config.h" and "ee_demo.h" files.

4.Since there is only 1 RWW partition, Flash read operations(such as interrupts) are not supported when some EEPROM emulation drivers are executing the Flash write operations.
For this project, after the global interrupt was turned off during the execution of the "p_FLashLanchComamnd" macro operation in 3 APIs(Eed_SyncFlashErase()|Eed_EraseVerify()|Eed_FlashProgram()) in the "ee_low_level.c" file, the PIT ISR can run normally.

Best Regards,
Robin
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 项奖励
1,458 次查看
Roc_Wang
Contributor I

Hi Robin,

I will try it directly.

Thank you very much !

0 项奖励
1,486 次查看
Roc_Wang
Contributor I

This is my test project.

0 项奖励
1,491 次查看
Roc_Wang
Contributor I
 
0 项奖励