Difference of FSP 3.4 and 4.0

Hello, can someone tell me that why use FSP 3.4 config and the code can run well, and then use FSP 4.0 open the config , the code reports some wrong. Can higher version software not be compatible with lower version software? 

Parents
  • I had similar problem when I switched from 3.8, since Renesas decided to not use anonymous or unnamed nested structs anymore. For example if you used fsp_pack_version_t struct and called it R_FSP_VersionGet(&version) function then in FSP 3.4 you had version.major, version.minor, version.patch values. But since FSP 4.0 this changed and you need to call the struct by name like so:  version.version_id_b.major, version.version_id_b.minor, version.version_id_b.patch.

    I suspect the reason for such change was to make it portable to different compilers, since some compilers using C99 do not have anonymous structures or unions. I hope it helps to understand the rationale for breaking backward compatibility.

Reply
  • I had similar problem when I switched from 3.8, since Renesas decided to not use anonymous or unnamed nested structs anymore. For example if you used fsp_pack_version_t struct and called it R_FSP_VersionGet(&version) function then in FSP 3.4 you had version.major, version.minor, version.patch values. But since FSP 4.0 this changed and you need to call the struct by name like so:  version.version_id_b.major, version.version_id_b.minor, version.version_id_b.patch.

    I suspect the reason for such change was to make it portable to different compilers, since some compilers using C99 do not have anonymous structures or unions. I hope it helps to understand the rationale for breaking backward compatibility.

Children
No Data