[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