This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Can't register.set PC. And getting ERROR(CMM26-TAD17) then.

Hi,

I tried to set PC with register.set like this in my .cmm file.

    register.set PC 0x80000000

But I got error code after sourcing my .cmm script.

- - -

ERROR(CMM26-TAD17):
! Failed to set the register PC(PC) to 0x80000000
! Register PC is an unsupported size (32)

- - -

Why is it an unsupported size?
I can't understand which setting goes wrong?

Thanks.

Parents
  • I guess you are connecting to an Armv8-A (Cortex-Axx) processor.

    On AArch64 processors, the PC is 64-bits wide, but the value 0x80000000 here in your register.set command is being treated as a 32-bit quantity.  You can resolve this by adding an explicit cast, e.g:
    register.set PC (long)0x80000000

    The same applies to the general purpose registers X0-X29, LR & SP.
    By contrast, W0-W30 are 32-bits wide, so you can use, e.g.:
    register.set W0 0x80000000

    Hope this helps

    Stephen

Reply
  • I guess you are connecting to an Armv8-A (Cortex-Axx) processor.

    On AArch64 processors, the PC is 64-bits wide, but the value 0x80000000 here in your register.set command is being treated as a 32-bit quantity.  You can resolve this by adding an explicit cast, e.g:
    register.set PC (long)0x80000000

    The same applies to the general purpose registers X0-X29, LR & SP.
    By contrast, W0-W30 are 32-bits wide, so you can use, e.g.:
    register.set W0 0x80000000

    Hope this helps

    Stephen

Children