Today at work I had a major breakthrough. The device driver that I’ve been working on for six weeks now finally compiles, installs and operates 100% correctly. It’s not much of a driver. It provides two operations for a network bus master, to enable an unused feature of a device.

The big win was a personal one. I’ve never written a device driver of any sort, let alone one cross-compiled for embedded linux. There were a lot of hiccups along the way, too. I implemented by hand in user-land all the features that the driver architecture provide for me, only to find out that system interrupts were fouling up my timing. So I moved to kernel land and started learning about device drivers. Module makefiles, installable modules, had to fix busbox’s rmmod so that it didn’t segfault when trying to remove modules, etc.

All-in-all, a big win for me today. It’s something I’ve always wanted to know how to do, and now I’m down the road towards saying that I know how! (:

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>