I am working with an ARM Cortex M3 (specifically STM32F217IGH6).
Are there any OS that have been ported to it?
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It only takes a minute to sign up.Sign up to join this community
There are many open source options:
Most of the above listed have commercial versions as well. I didn't list the strictly commercial RTOS's that are out there, as I assume you are more interested in open source offerings.
FreeRTOS is a popular choice.
We have used Rowley's CT (started and dropped very fast) and FreeRtos (recommended) in M3s before.
I have been very interested in ChibiOS but haven't had a chance to try it out. Commercial but reasonable.
Also there is M3 specific OS out there called Cocox, looks neat but something bothered me and didn't give it a detailed go. While I was looking at this, I guess, I felt it was too new to take the plunge, perhaps now it is a different story. (14 months ago).
Freescale has ported MQX to its line of Kinetis microcontrollers. The line includes Cortex-M4s and Cortex-M0s. Freescale provides a license for MQX when used with Kinetis. I am not sure it will run on a non-Kinetis Cortex out of the box.
Emcraft Systems specializes in providing a Linux (uCLinux) distribution for Cortex-M3 and Cortex-M4 MCUs:
In addition to providing a commercial (but very low-cost) software distribution and various Cortex-M eval boards / system-on-modules (SOM), Emcraft also distributes the full source of its U-Boot and uClinux kernel ports for Cortex-M3 and M4 at github.com./
SAFERTOS and OPENRTOS have been ported to Cortex-M3 from High Integrity Systems, and you can evaluate them for free. http://www.highintegritysystems.com/
I know about uClinux as it's used in my university, and another one of which I don't remember the name now.
You can check this page for some links, but this is much more detailed about available platforms; some of them refer to specific microcontrollers, but you can find what of them are CM3: TI Stellaris, ST STM32, NXP LPC1700 are some.
EDIT: I didn't read about the specific microcontroller; as I said, uClinux is used on STM32 microcontrollers in research projects at my university.
This is a pretty big RTOS list https://en.wikipedia.org/wiki/List_of_ARM_Cortex-M_development_tools#Real-time_operating_systems