Embedded assembly programming


Well, I've finally done something that I've been meaning to do for a long time. I've written some non-trivial assembly language code. Up until recently I wasn't expecting this to be embedded assembly, but it actually seems like a sensible way to get into this low level stuff. Programming an 8bit RISC microcontroller in assembly is considerably easier than trying to do something with a PC. The chips are cheap (as chips), the tools are free, there's an active user community and the electronics required is relatively simple.

Right now the code is heavily based one someone else's code; but heh, isn't that the way we always start out. The good thing is that I have the complete development system working, a VM with the tool chain, simulator and programmer all working. I have a breadboarded circuit with my Atmel ATTiny2313 in it and I have a challenging project to keep me interested.

Already I can see how this new project will change how I think about the coding that I do for my day job. Testing embedded assembly could be interesting, for once I'm working on code where performance really does matter and it's relatively easy to reason about it. It's interesting stuff!

Leave a comment

About this Entry

Everything you need to know about timers and periodic scheduling in the server framework was the previous entry in this blog.

Building an inproc ATL COM object as x86 and x64 is the next entry in this blog.

I usually write about C++ development on Windows platforms, but I often ramble on about other less technical stuff...

Find recent content on the main index or look in the archives to find all content.

I have other blogs...

Subscribe to feed The Server Framework - high performance server development
Subscribe to feed Lock Explorer - deadlock detection and multi-threaded performance tools
Subscribe to feed l'Hexapod - embedded electronics and robotics
Subscribe to feed MegèveSki - skiing