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?
Thanks for reaching out Renesas Engineering Community!
Could you be more specific in what errors are you getting? Also providing us some screenshots, would be very helpful! Are you using e2studio IDE or an other IDE?
I would like to add something more. FSP version 4.0.0 requires a minimum e2-studio version of 2022-07. In case you are using e2-studio please provide to us the version you are using? Also have you generated code when moving from FSP 3.4.0 to 4.0.0 and porting your project to FSP v.4.0.0?
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.