summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/mimxrt/mphalport.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/ports/mimxrt/mphalport.c b/ports/mimxrt/mphalport.c
index 46349d3a3..87741e0b5 100644
--- a/ports/mimxrt/mphalport.c
+++ b/ports/mimxrt/mphalport.c
@@ -140,8 +140,8 @@ uint64_t mp_hal_time_ns(void) {
// MAC address
void mp_hal_get_unique_id(uint8_t id[]) {
- *(uint32_t *)&id[0] = OCOTP->CFG0;
- *(uint32_t *)&id[4] = OCOTP->CFG1;
+ *(uint32_t *)id = OCOTP->CFG0;
+ *(uint32_t *)(id + 4) = OCOTP->CFG1;
}
// Generate a random locally administered MAC address (LAA)
@@ -150,12 +150,12 @@ void mp_hal_generate_laa_mac(int idx, uint8_t buf[6]) {
unsigned char id[8];
mp_hal_get_unique_id(id);
- uint32_t pt1 = *(uint32_t *)&id[0];
- uint32_t pt2 = *(uint32_t *)&id[4];
+ uint32_t *pt1 = (uint32_t *)id;
+ uint32_t *pt2 = (uint32_t *)(id + 4);
buf[0] = 0x02; // Locally Administered MAC
- *(uint32_t *)&buf[1] = pt1 ^ (pt1 >> 8);
- *(uint16_t *)&buf[4] = (uint16_t)(pt2 ^ pt2 >> 16);
+ *(uint32_t *)&buf[1] = *pt1 ^ (*pt1 >> 8);
+ *(uint16_t *)&buf[4] = (uint16_t)(*pt2 ^ *pt2 >> 16);
buf[5] ^= (uint8_t)idx;
}