8-pin Linux
54 points by fcbsd
54 points by fcbsd
This is quite a remarkable effort.
but I am allergic to RISC-V for personal reasons.
That’s a shame. However, I’ve been tinkering with the CH32V003 and I think the RV32E ISA it uses would have limited it’s ability for this project.
the RV32E ISA it uses would have limited it’s ability
I’m not sure why you think so. Even in reduced E form it’s still got 16 registers the same as the Cortex-M0 he actually chose, but with a more powerful instruction set. The RAM and flash sizes and the 48 MHz vs 75 MHz might be limiting, but not the ISA.
computers no longer have serial ports
They do. There are COM pins that are bog standard UART, sometimes RS232 voltage level (so be prepared), exposed as pin headers on most motherboards.
Every ARM chip I’ve ever seen personally has at least one UART interface, too.
So not sure where this assertion came about.
I would argue that pins are not ports, and I assume the author is referring to the familiar 9-pin serial port. That port is definitely less common these days, though I still see it in some places.
I just checked with a big computer e-shop:
429 motherboards
4 with external serial port
163 with internal serial port header
(cable with DE-9 connector for the header costs about 2 USD)
So 39 % motherboards have a serial port.
And this is a consumer-oriented store. If you look for something more industrial or server-oriented, serial ports are even more common.
What is much less common nowadays is the parallel port. Which is bit of shame (other platforms have usually GPIO but x86 had LPT which was quite universal interface – it can print, control your CNC, scan images, program your pager and other devices, work as a sound card, blink a LED, create a network with other computer, connect your ZIP drive etc.).
Going by your numbers, aren’t only <1% equipped with a serial port? Headers are not ports. Plugging in a serial-to-USB cable is easier than opening up your PC case and connecting a port to a header. I still think the author’s comment is generally true in practice.
Headers are not ports.
FYI, at least one motherboard vendor disagrees (MSI lists internal headers as “ports”) - but regardless, saying “computers no longer have serial ports” just because they don’t put it on valuable backplate space is like saying high-end motherboards “no longer have USB2 ports”.
That’s an RS232 equipped Dsub receptacle. The article mentions that computers tend only to have UART over USB, which is not true.
What about tiny computers that can run Linux natively, though?
Going to all this effort to build a 150 MHz+ board only to slap together an xkcd-worthy emulator sandwich that barely gets over 1 MIPS of effective throughput feels… underwhelming.
The very goal was to comply with a completely arbitrary self-imposed challenge of only using 8-pin chips. I certainly don’t claim that faster computers cannot be created. Only that a faster computer could not be created using only 8-pin chips available today :)
There are a few candidates.
Try the Sipeed LicheeRV Nano: 22.9mmx35.6mm, 1 GHz 64 bit Linux core with 128 bit vector processor and 1 TOPS NPU (INT8, supports BF16), 256 MB DDR3 RAM, 2nd 700 MHz 64 bit microcontroller core, MIPI DSI video output, USB2 OTG. Two versions, one with 100M RJ45 ethernet, one with WIFI&BLE.
https://wiki.sipeed.com/hardware/en/lichee/RV_Nano/1_intro.html
https://www.aliexpress.us/item/1005006519668532.html
Or the same chip cheaper on the slightly larger 21mmx51mmMilk-V Duo256. Or even cheaper if 64 MB RAM is enough for you.
The Luckfox Pico is also worth looking at:
Also the older FriendlyElec NanoPi range.
The RISC-V CV1800B/SG2002 boards are my pick though.
Ever tried doing anything like that? If so we look forward to your writeup.
The important thing is that the author has significant other achievements in terms of microcontroller engineering etc., so it’s reasonable to assume that he does this sort of thing in lieu of crossword puzzles.