Model Rocket Altimeter Part 1: Electronics

Introduction I do model rocketry with my son, Leon. He has enjoyed the fire, noise and setup since he was 3. I think it’s a good activity to introduce him to STEM over time. Since starting, I have always wanted to know how far up our rockets went. There are commercial altimeters, which are very […]

Release of PowerPC Instruction Set Reference Card, rev 1

This is a quick post to announce that I have just released the first revision of my PowerPC User-Level Instruction Set Quick Reference Card. I think it will be useful to anyone having to deal with 32-bit PowerPC assembly, from people examining compiler output to low-level embedded programmers. You can download it here. Enjoy !

5 minute interrupt controller bug chase and fix with Simics

The problem I was writing and testing the interrupt processing code for a real-time hypervisor on the MPC8641 Multi-core PowerPC SoC. During testing, I hit a bug: the system would not take any more interrupts after the highest priority interrupt got serviced. Since I was debugging on the Wind River Simics virtual platform, debugging the […]

A worksheet for bitwise operations

Click here to download the worksheet (PDF) The problem When doing a lot of low-level system code, you constantly need to build hexadecimal constants and masks for bitwise arithmetic. Maybe you are accessing specific bits of an I/O register, or making sure you extract the proper field of a packed variable. You can scribble your […]

Easy multi-core PowerPC timebase synchronization with Simics

The problem When writing low-level multi-core OS code, it is important that all cores have at least some form of time synchronization so that scheduling can be done using local timers. On 32-bit PowerPCs, this is usually accomplished by making sure the 64-bit Time Base register (made up of TBL and TBU, the lower and […]