MMU on Raspberry Pi (ARMv6 Address Translation)
Preface This example demonstrates ARM MMU basics. You will need the ARM ARM (ARM Architectural Reference Manual) for ARMv5. This code so far does not work on the Raspberry pi 2 yet, will get...
Porting Micropython to bare-metal Raspberry Pi
In the last months I ported Micropython to the Raspberry Pi. Micropython is an embedded Python interpreter, which already runs on ARM Cortex-M processors. I had to understand the build process, alter it as to target the Raspberry Pi processor and fix some annoying bugs and glitches. The...
Controlling features of the ARM1176jzf-s (Raspberry Pi)
This article is about the Raspberry Pis Processor, the ARM1176jzf-s. It is a 32 Bit ARM-processor, with ARMv6-architecture. It has a VFPv2 Floating Point Unit, can run Java Bytecode natively (Jazelle), can run Thumb(1) code, can use both little and big endian-data, has an MMU and many things...
Porting Micropython to the Raspberry Pi - Part 2
In a previous post [1] I commented on how to port the Micropython Interpreter to the Rasperry Pi. There I went over the basics of porting Micropython to a new hardware and showed some ways on how to configure your port. This post builds upon that foundation and uses the Micropython which did...
PiOS: ARM Timer and Interrupts
For quite some time I've been working on a prototypic operating system, PiOS (previously PilotOS) [1]. I've been writing articles earlier about processes [2][3] and I want to discuss the current state here. Additional to a rewrite of most of the code, so removing the assembler-code and...
PiOS: ARM Timer und Interrupts
Seit einiger Zeit arbeite ich an einem prototypischem Betriebssystem, PiOS ("früher" PilotOS) [1]. Ich habe früher schon einige Artikel über Prozesse [2][3] geschrieben und will nun hier den aktuellen Stand diskutieren. Neben einem Rewrite des Codes, also entfernen quasi aller...
Porting Micropython to Raspberry Pi
This article is in English for I hope it will be useful for someone who tries to port Micropython to new hardware as I do here. Micropython [1] is a very small Python interpreter, which can run on very restricted hardware. The pyboard is based on an STM32-F04 ARM processor,...
PilotOS: Prozesse
PilotOS [1] soll ein einfaches Betriebssystem für den Raspberry Pi werden. Der Sinn hinter dem Betriebssystem ist hauptsächlich der Wissenszuwachs für mich, und die Einblicke in die Entwicklung von Betriebssystem, angefangen von einfachen Funktionalitäten, bis hin zur...
ChibiOS/RT für Raspberry Pi
Hallo. ChibiOS/RT [1] ist ein sehr kleines Realtime-Operating System. Es unterstützt Plattformen, die Linux bspw. nicht mehr abdeckt und kann für allerlei Spielerei benutzt werden. ChibiOS/RT kann keine Prozesse zur Laufzeit erstellen oder nachladen, Programme für das...
Raspberry Pi Betriebssystem | Assembler
Hallo. Aktuell beschäftige ich mich mit dem Raspberry Pi und dem enthaltenen BCM2835-Chip, sowie mit ARM-Assembler. Dazu verfolge ich dieses Tutorial der Cambridge University [1]. Das Tutorial führt in...