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?
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.