I am working with a k60 using CW10.2. I would like to force a label in an assembly file to be at a thumb address, i.e. with the LSB set, but have not been able to do this. Can anyone tell me how to do this?
Thanks.
Solved! Go to Solution.
Hi,
Cortex M processors only support thumb and thumb-2 instructions.
http://www.arm.com/products/processors/cortex-m/cortex-m4-processor.php
Whether you need to add one to your code address depends on what instruction you use to jump there (B/BL vs BX/BLX), so adding the one to the label is dangerous.
What are you trying to do?
I was attempting to implement the QK Scheduler portion of the Quantum Leaps QP code. There is a warning, at least for the GNU C compiler, to insure that the address of an assembly label is a thumb address in the PendSV_Handler routine. As it turned out there was no problem and the function is working correctly with no intervention on my part, so I assummed that the fist responder was correct.
Thanks for responding.
Hi,
Cortex M processors only support thumb and thumb-2 instructions.
http://www.arm.com/products/processors/cortex-m/cortex-m4-processor.php