While playing with the GPSTracker firmware, I noticed that it seems to contain an illegal instruction:
.text:00083F76 STREX.W R3, R3, [R6]
The ISA documentation says that: "For STREX, Rd must not be the same register as Rt, Rt2, or Rn". However here we have Rd=3 and Rt=3, which is not allowed.
I also ran this firmware on QEMU, and when it reached this instruction, it triggered an Undefined Instruction exception as expected.
However, I don't have a SAM3 development board to verify this issue. Could you check if you can reproduce it?
Thanks!
While playing with the GPSTracker firmware, I noticed that it seems to contain an illegal instruction:
The ISA documentation says that: "For
STREX,Rdmust not be the same register asRt,Rt2, orRn". However here we haveRd=3andRt=3, which is not allowed.I also ran this firmware on QEMU, and when it reached this instruction, it triggered an Undefined Instruction exception as expected.
However, I don't have a SAM3 development board to verify this issue. Could you check if you can reproduce it?
Thanks!