• Tinker Board bare metal: JTAG debugging

    in Bare-metal

    JTAG is a set of standards for testing digital circuits, which includes a four-wire serial protocol for debugging. ARM CPUs support JTAG via their debug facilities. This proves very useful for bare-metal programming where we don’t have OS support to inspect running code. While there is no visible “JTAG port” on the Tinker Board, JTAG debugging is available on RK3288 and this is how I use it. Read more »

  • The three(ish) levels of QEMU VM graphics

    in Linux, Virtualization

    I enjoy tinkering with VMs and consider QEMU to be one of the sharpest tools in my shed. In recent years, great progress in QEMU itself and in Linux device drivers has made VMs more powerful and more convenient than ever. Modern Linux distributions are ready to take advantage of those out of the box. However, it’s not always easy to figure out what the options are and what they offer. Here are some of my notes on graphics support in QEMU guests. Read more »

  • Absolutely minimal Android project

    in Android

    I’m a big fan of the command line. I spend most of my programming time in the Integrated Development Environment of tmux and Vim. When I started dabbling in Android development, I feared I would be stuck in the IDE all the time, wrangling some binary file formats using graphical click-and-play tools, with little to no understanding of what goes behind the scenes. I was delighted to learn otherwise. Read more »

  • Amazon S3 REST API with curl

    in AWS

    Lately I’ve been more and more attracted to the AWS platform. My current pet project is a simple OS X screenshot sharing app. S3 instantly felt like the appropriate storage for the files. Read more »