The goal of this article is to run a C program bare metal on an ARM Cortex M3. We will go through the assembler code generated from a small program written in C and come up with the prerequisites that must be in place in order for it to run.
Mit den Arduinos kann man zwar schnell Prototypen zusammenstecken und rasch erste Ergebnisse erhalten, auch ohne größeren Lernaufwand. Doch lassen sich die Atmel-Prozessoren auch ganz schnell an ihre Grenzen bringen - dem eher gemütlichen Takt von maximal 16 MHz bei den Standardmodellen sowie dem 8-Bit-Rechenkern geschuldet. Hier versprechen die ARM-Cortex-Mikroprozessoren Abhilfe, fangen diese doch durchweg bei höherem Takt an, liefern mehr Timer, DMA-Controller und bieten zudem eine 32-Bit-Architektur, mit der sich zudem schneller Rechnen lässt. Der hier vorgestellte Einstieg gelingt sehr billig und man kann sein System noch kleiner aufbauen als ein Arduino-Nano oder -Pro-Mini-Board. Damit erhält man 15 IO-Pins, 48 MHz Takt, 32 Bit-Architektur, 16 kByte Flash und 4 kByte SRAM.
There are a wide variety of possible software architectures for the secure world, and the implementation of these is almost totally dependent on the application the user is targeting.