MTK51 8051 Microcontroller Trainer Kit
kswichit.com
kswichit.com
SiLabs provide a free license for Keil 8051, which is based on an absurdly old DOS assembler called A51.EXE (The Mac/Linux version runs under Wine behind the scenes).
The SDCC toolchain supports 8051 fairly well, using code ported from the ASxxxxx project that dates back to the PDP-11 days! http://shop-pdp.net/ashtml/asmlnk.htm
There was an attempt to add 8051 support to binutils and gdb in 2001, but the patches were never merged. If somebody's looking for a project to get their hands dirty... This would be a good one. https://sourceware.org/ml/binutils/2001-12/msg00489.html https://sourceware.org/ml/binutils/2001-12/msg00488.html
I really like the 8051 ISA, it's simple enough to wrap your head around and the modern variants are competitive on price and power efficiency with things like the PIC and AVR.
That said, with ARM Cortex-M0 chips costing only a few cents more and having active support in every toolchain, it's hard to argue for 8-bit solutions beyond nostalgia or sunk cost. Still, they're fun chips.
The 8051 is a very unusual architecture by contemporary standards, but is found in a surprisingly large amount of products and by some statistics, outsells ARM by a wide margin.
And cost isn't one of those reasons anymore.
Quite good? Keil's compiler is horrible. It produces large (2x too big) slow (2-4x too slow) binaries.
No disagreement there that handcoded assembly is slower to develop! You do get code size below 50% and it runs twice as fast.
8051 cores are cheap but they have weird memory hierarchies - managing them results in giant code, unless you're willing to break into assembly way too often
Documentation and tutorials are at https://docs.hidiot.com/ if anyone's interested.
[1] - https://www.kickstarter.com/projects/2072712581/the-hidiot-c...
Going to the course website, it looks like they still use the 8051, and the same professor is teaching the course.
My project was a floppy disk drive, a floppy disk drive that had an LCD, which totally makes sense...
[1]: http://www.ti.com/lsds/ti/tools-software/launchpads/overview...
Edit: I should have added I meant MSP430 series as now I see they have arm based boards as well
Neat stuff!