boot: boot_serial: Add updated SMP header

Adds missing fields which were wrongly treated as part of the
operation value, which they were not, and adds a big/little
endian check.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This commit is contained in:
Jamie McCrae 2023-07-20 11:34:51 +01:00 committed by Jamie
parent 36ae4fdabf
commit 61898dad92
1 changed files with 9 additions and 1 deletions

View File

@ -60,7 +60,15 @@ extern "C" {
#endif #endif
struct nmgr_hdr { struct nmgr_hdr {
uint8_t nh_op; /* NMGR_OP_XXX */ #if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
uint8_t _res1:3;
uint8_t nh_version:2;
uint8_t nh_op:3; /* NMGR_OP_XXX */
#else
uint8_t nh_op:3; /* NMGR_OP_XXX */
uint8_t nh_version:2;
uint8_t _res1:3;
#endif
uint8_t nh_flags; uint8_t nh_flags;
uint16_t nh_len; /* length of the payload */ uint16_t nh_len; /* length of the payload */
uint16_t nh_group; /* NMGR_GROUP_XXX */ uint16_t nh_group; /* NMGR_GROUP_XXX */