Hacker News new | ask | show | jobs
by kragen 6354 days ago
Great! That's awesome! (Although it's true that CC-BY isn't really intended for software, it's open-source and IIRC GPL-compatible, so it's plenty good enough for me. The 4-clause BSD license recommended by the other poster is not GPL-compatible.)

AVRs are these fun little cheap microcontrollers; the Arduinos and Chalkroaches, among other things, use them. Writing enough code to drive a couple of on-board UARTs and switch between some real-time processes on an ATMega AVR would be a thing to do in an evening or a week, not three months. So three months to do the same thing due to the unnecessary complexities of PC hardware is kind of depressing! It's a little less depressing if you were only working on it, like, 8 hours a week or something.

2 comments

be a thing to do in an evening or a week, not three months. As someone who wrote an AVR RTOS kernel for a class in Realtime systems I agree, but you're comparing apples to oranges. I can write, and have written, a real-time control system (RTCS) for a set of peripherals in an evening or a few days, but that's not the same thing as an RTOS. The RTCS is a specific case, the RTOS is the general one and as a result it's much more complex because it has a more open-ended specification. My RTOS took me about 4 weeks or so before it was usable.
You're right, targeting the x86 architecture added a lot of complexity without any tangible benefit. Poring over the subpar Intel documentation consumed an inordinate amount of time.

That said, it only took a little over a month to build the OS itself, while the other two months I spent working on the train control program. All the equipment is notoriously flaky so coping with real-world brokenness was probably the biggest time sink.

Oh, well, a month part-time doesn't sound so bad. And I already have a lot of the subpar Intel documentation in my head.