When compiling the compile_and_link sample, the compiler was generating the following types of warnings and errors. These each occur several times in several different areas.
In file included from ..\..\..\..\private\idigi_api.c:28:0: ..\..\..\include/idigi_api.h:522:1: warning: padding struct size to alignment boundary [-Wpadded]
In function 'release_receive_packet': ..\..\..\..\private etwork_intf.h:387:45: error: cast increases required alignment of target type [-Werror=cast-align]
Researching this, it seems that the ARM processors require different byte alignment that x86/x64 and that is leading to the warning. However, looking at where the error occurs, I don’t believe any of the pointer casts are casting from one struct to another where alignment differences would cause an error (though I very well may have overlooked something). While I could probably get rid of the error by casting to a void* first, that would require changing the private code. Therefore, I removed the -Werror=case-align flag. I still get the -Wpadded warnings, but the code now compiles without error. The connect_to_digi sample also compiles, runs, and connects (it works).
I haven’t tried all of the features, but things seem find with the change in compiler flags. Am I overlooking something that’s going to bite me later on, or it my solution acceptable (or is there a better way to address the issue).
Thanks (I’ve attached the full output from the compile).