C90LC Driver archive for the S32DS GCC compiler

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

C90LC Driver archive for the S32DS GCC compiler

1,349 Views
ronlewis
Contributor III

Does there exist a driver for the C90LC Flash module that is compatible with S32DS?

for Reference:

MPC56xx C90LC Flash Standard Software Driver (REV 1.0.3)

02 Oct 2014 MPC56xx C90LC Flash Standard Software Driver

EXE Device Drivers: MPC56XX_C90LC_JDP_SSD_100_DEVD   6.0MB

This version has archives for GHS, diab and CW, but no gcc.

0 Kudos
6 Replies

967 Views
martin_kovar
NXP Employee
NXP Employee

Hello Ron,

Functions in C90LC drivers are already pre-compiled by CW, GHS or diab. If you want to use this driver in the project which uses GCC compiler (S32DS IDE), there is no problem. You can use any of the pre-compiled function and call it in your project. Look at the demos in Driver installation folder.

If you have any other questions, please feel free to write me back.

Regards,

Martin

0 Kudos

967 Views
ronlewis
Contributor III

Martin,

   I have always been instructed that it is bad practice to use libs compiled with different compilers, and even different versions of the same compiler.   Are there plans to release the drivers compiled with GCC?

Regards,

-Ron

0 Kudos

967 Views
stanish
NXP Employee
NXP Employee

Hello Ron,

theoretically if a build tools comply with EABI (Embedded Application Binary interface) it should be possible to combine the object codes together. Anyway I'm aware of some differences e.g. VLE relocation types which may differ between vendors.

In case of Flash Drivers - this is not an object code format  but in a pure binary format (see example below). The linker just merge the code/const and place it into the appropriate section. 

I noticed that there are some pointers to structs used in API. If there is a common alignment in struct definitions it should be fine to use e.g. CodeWarrior version of Flash Drivers in S32DS/GCC.

const unsigned long BlankCheck_C[] = 
{
 
 0x182106D0, 0x00801B01, 0x0910DD01, 0x016D017C, 0x030B480F, 
 0x014E7C80, 0x2B780158, 0x1800C803, 0xE603481F, 0xE8232A05, 
 0xE2054800, 0x54080004, 0xE81D74A0, 0xF0BF4DA9, 0x1880A85A, 
 0x480A7C19, 0x005E0D0A, 0xE00DC09E, 0x1819ACFF, 0xE606D0ED, 
 0x4A0FC00E, 0xD00CE80A, 0x203E200A, 0xE8F36C20, 0xD0EB0780, 
 0xD3DBD10B, 0xD4CB3003, 0x003C2A00, 0xE60701F3, 0x1800D000, 
 0x00001800, 0xD00001F3, 0xCD011B01, 0x08100090, 0x18218030, 
 0x00044D50, 0x43353542, 0x43313130
};

Hope it helps.

Stan

967 Views
bjrajendra
Senior Contributor I

Hi Stan,

 

Good Morning.

 

I'm importing the code from CCW to S32DS.

As you mentioned it is fine to use CW version of Flash Drivers for S32DS but, there is one confusion in using these as it includes two different subfolders.

C:\Program Files (x86)\Freescale\Standard Software Driver v1.0.3\xPC56xx_C90LC\Driver\cw\vle

C:\Program Files (x86)\Freescale\Standard Software Driver v1.0.3\xPC56xx_C90LC\Driver\cw\BookE

 

Should I go for vle or BookE

 

Kindly help in choosing the right folder for using these drivers in S32DS.

 

Thanks in advance,

Raju

0 Kudos

967 Views
stanish
NXP Employee
NXP Employee

Hi Raju,

It really depends on the project you are integrating flash drivers into and also on your target MCU you are using (some MPC56xx (e200z0 core) does not support BookE).

The default project in S32DS is VLE based therefore I'd suggest you to use VLE alternative if possible.

If your project includes some 3rd party bookE libraries that you cannot rebuilt than better option is bookE version.

In general  VLE compiler generates higher density code with very little performance drop (it could be compensated in by caching more code,..).

Hope it helps.

Stan

0 Kudos

967 Views
martin_kovar
NXP Employee
NXP Employee

Hello Ron,

unfortunately, there is no plan to migrate SSD Flash drivers also for GCC compiler. If you do not want to mix code from different compilers, you have will to create your own flash driver using GCC compiler.

Regards,

Martin

0 Kudos