ARM Cortex A as a strict micro controller

I am wondering if the Cortex A chip on the BBBlack can be used as a strict micro controller, i.e. without an operating system?

Rick W

I am wondering if the Cortex A chip on the BBBlack can be used as a strict micro controller, i.e. without an operating system?

It can, but you have to understand that the AM335x processor is a general purpose applications processor. So when compared directly with specific purpose type processor such as the TI TM4C micro processor, it can be slower at some, or perhaps all real time tasks.

However, something that perhaps you may not be aware of. The AM335X comes with two PRU’s on die. These Programmable Real-time Unit’s can be used outside of Linux, and offers a small instruction set where many instructions are single cycle( 5ns ). In short, this on die real time controller is a simplified instruction set Cortex M3, that sits on the L3 interconnect bus of the main AM335x processor . . . So it can control just about anything, but some things are slower than single cycle access. Particularly, from what I understand, any interaction over the L3 interconnect will be slower than single cycle. But it’s still fast and very deterministic.

Also, perhaps obvious, perhaps not. The AM335X is a very complex processor. Writing bare metal code the these processors would not be a trivial task. But anyone who has written code for just about any micro controller knows that yes, perhaps some MCUs are semi complex, but usually they’re very manageable.

Yes it can. running bare bone is faster than linux and can achieve reponse times requirements dictated by a hard real time system. You use starter ware and can have the system running very quickly. You won’t have every driver but will have the basic drivers required for most simple uC system
You wouldn’t be using the full capability of the SOC but you didn’t state your application and it could be used as a dev board basically.

You also get jtag debugging .if you’re experienced in RTOS you have more options. Starting at the metal allows you to really understand the Cortex A far less code to wade through if you have the desire to understand the architecture. If you want to focus on your application and don’t need many peripherals that’s an option.

If your application looks like a PC application and needs all the drivers and doesn’t have to meet really hard real Time ie sevicing interrupts quickly and happening repeatedly in very small periods then linux is the better choice