[Openmcl-devel] Challenge: CCL port to the RPi Pico (RP2040)
Carl Shapiro
carl.shapiro at gmail.com
Sun Jul 28 10:43:21 PDT 2024
On Sun, Jul 28, 2024 at 7:54 AM Tim McNerney <mc at media.mit.edu> wrote:
> CCL already has 32-bit ARM support. There is no OS interfacing work to do
> here (only work to make up for the *lack* of OS).
>
The Cortex-M processors execute Thumb-1 or Thumb-2 instructions which are
different from 32-bit ARM instructions. The Cortex-A designs and older
designs from ARM with a "T" in their name support both the 32-bit ARM and
Thumb instructions.
On a Cortex-A and other processors that support both ISAs, code can switch
between ISA states with the BX or BLX instruction setting the lower bit of
the destination to 1 or 0 to specify either the Thumb or ARM ISA. If
someone wants to add a backend to the Cortex-M, starting with a working ARM
backend and switching the code generator to using Thumb would seem like a
possible way to start.
Anyone interested in the history of the ARM instruction set and how Thumb
came to be might like this YouTube video
https://www.youtube.com/watch?v=_6sh097Dk5k
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.clozure.com/pipermail/openmcl-devel/attachments/20240728/b995b92c/attachment.htm>
More information about the Openmcl-devel
mailing list