Just to blog about something I hacked on recently.
The MSP430 Launchpad is a God Tier MCU Eval board. If you haven't got one, you're missing out on a very sweet (and cheap) RISC platform that's a joy to play with, especially if you've coded for 8 chips in the past, had to fuck with overhyped Arduino, or had to put up with the ABSOLUTELY SHIT 'free' Vendor x86_32 binary-blob toolchains, proprietary libraries, and hardware debuggers manufacturers force on people (you can suck my dong but I'll never use your crap, Microchip). There's 27 processor instructions (and the joy of RISC gives another 24 standard 'emulated' instructions), with all the addressing modes and calculation widths needed for a real 16-bit CPU. Free Software has supported it for a very long time.
...well, GNU/Linux, at least. On a Debian system it's just a matter of "apt-get install mspdebug msp430mcu gcc-msp430", and tutorials like
http://mitchtech.net/cross-compiling-for-ti-msp430-launchpad/ (and the hundreds of others Google can find) make it easyfun for anyone with half a brain. It's a good use for those cheap Linux boards, if you don't already have a Stallmanstation has your main box.
My main box though is NetBSD, and while I've got a 24/7 RPi around, it's currently set up in the living room and I want the Launchpad next to me to watch its snazzy new ultra-low-power LCD display. So, it was a mission to find out why NetBSD-current was not supporting the LP in 2015..
Firstly, the LP was being detected and attached as a USB HID device for some reason-- the kernel heuristics were fucking up-- but that was a simple case of adding an entry for the MSP430 to usb_quirk.c in the kernel. After that worked, I emailed a bug report upstream, and about 2 hours later the patch was mainlined by the kernel devs! Neat.
While I believe the GDB debugger supports the MSP430 USB FET interface now, the preferred debugger for me is mspdebug, in that it easily does things like command-line firmware flashing without any setting-up of .gdbinit or the like-- great for makefiles-- but also all the other real debugging stuff like breakpoints, tracing, stepping. After spending 10 or so minutes taking notes of what changes were needed to the OpenBSD support, I realized I was looking at old sources, and after upgrading I found that things were improved and it was a triv
Post too long. Click here to view the full text.