There are no sacred technologies

In my previous post I talked about how there are no silver bullets, that is there are no technologies that will solve all your problems without introducing some of their own. In this post I will talk about something that happens often, as development processes mature in an organization, somehow technologies become sacred. Let’s startContinue reading “There are no sacred technologies”

What you need to know about interrupts

If you are from my generation or older, you remember the wonderful days of manually configuring hardware by using jumpers and then connecting the hardware to the ISA bus on a computer. Before I got my first PC, I owned a more user friendly system(an Atari 65XE), so new hardware was magically configured. Well theContinue reading “What you need to know about interrupts”

User to hardware (part 2)

Disclaimer This post is not meant to be a precise description of how a device driver works or an accurate description of the hardware components and their interactions. This post is an introductory post for people that would like to know more about device drivers and hardware programming. Therefore some simplifications have been made. InContinue reading “User to hardware (part 2)”

User to hardware (part 1)

This is the first post in a two post series covering the trip from a running process all the way down to the hardware and back. In this post I will cover the software side, this means I will start from a running process and walk through the different pieces that are needed to talkContinue reading “User to hardware (part 1)”

The so called userspace

Most people have heard the term userspace and most people have a grasp of what it means, but why is it called userspace and what is it? To understand the name we need to go back to the core and look at the architecture of a CPU. Most processors, including most microcontrollers, have two modesContinue reading “The so called userspace”