3 ms·
I've had a lot of fun messing with SiLabs EFM8 series chips recently. They've taken an 8051-compatible core and added a bunch of the peripherals you'd expect to
by synack 9y ago
I've had a lot of fun messing with SiLabs EFM8 series chips recently. They've taken an 8051-compatible core and added a bunch of the peripherals you'd expect to find on a modern ARM SoC; SPI, I2C, USB, CAN, Watchdog, and the PWM/PCA module has a lot of interesting options for generating different waveforms.
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 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/msg00489.html
https://sourceware.org/ml/binutils/2001-12/msg00488.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.
- makomk 9y agoUsing an 8051-based trainer like this is definitely a retro choice even just in terms of 8-bit solutions. For example, Atmel has had AVRs that are pin-compatible with their 8051 line ever since they introduced the AVR and it's just so much nicer in terms of instruction set, peripherals, etc. Normally you'd use an external programmer and development toolchain these days too.
- kosma 9y agoThere's one thing about EFM8 that you simply cannot beat: price. We're using them in several product lines and aside from some minor errata, our experience has been very good. When it comes to doing simple real-time control (PWM and the like), you just can't beat a $.40 MCU... not to mention the smallest 20-pin version is just 3x3mm.