3 ms·
I realize this is just one data point, but I implemented a full EHCI (USB 2.0) stack in 3 weekends. Then I implemented a simple mass storage driver in 2 more (t
by sounds 14y ago
I realize this is just one data point, but I implemented a full EHCI (USB 2.0) stack in 3 weekends. Then I implemented a simple mass storage driver in 2 more (that was the hardware I was targeting).
My HID implementation isn't worth talking about but it was helpful to test interrupt transfers.
- krichman 14y agoI'm assuming by the fact that it took you a few weekends, you are beyond the level of learning about OS's as an undergrad, though :) I'm sure it is doable, but the point is probably that it's a non-trivial detour from writing a basic OS.
- sounds 14y agoYes, of course. I'm all for teaching as many undergrads as possible about writing an OS - so many valuable lessons that aren't easy to teach in any other context. Still – there are always a few who really take off. Such might enjoy a tutorial that walked through doing a full USB stack. Maybe... :) I feel compelled to speak for the over-achievers because they may not even realize they could go so far, so fast, until someone points them in the right direction. It's fun to watch.
- sown 14y agoThat sounds neat. If by chance you ever write a tutorial I'd be all ears! :D
- sounds 14y agoI thought about a tutorial or a step-by-step but EHCI controllers vary widely by platform, and going with the "least common denominator" means doing it for x86... I could never convince myself it was worth a blog post. Maybe if the RPi becomes a favorite for OS development, I might do it. You could always poke around on http://osdev.org http://osdev.org and see if you find some useful stuff there. :)
- sown 14y agoSome controller better than no controller. I was allegedly a kernel engineer at one time but never go to do any kind of development work, so this sort of thing intrigues me greatly. What hardware did you have?