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 […]
Today, I was debugging within the Simics virtual platform debugger when I needed to log my console to file, while still being able to work with it. Usually, I would have done: c:\prompt> [commands to start Simics] > out.txt However, this kills the console since stdout is fully redirected to a file. I quickly coded […]
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 !
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 […]
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 […]
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 […]