2021-05-08

I have finally gotten two UARTs working from NetBSD on the Allwinner/sunxi V3s board that I bought from AliExpress. I purposely wanted to work with something more obscure and (at the same time) more mainstream than a Raspberry Pi.

The Lichee Pi Zero (which is the board; honestly not much more than a breakout board and some regulators for the V3s chip) supports three UARTs and SPI and I2C. It also technically supports Ethernet via some interface that I am not (currently) interested in.

I haven't used NetBSD in a very long time so in way this feels like retrocomputing -- which sounds like a diss against NetBSD but should not. Linux is this massive thing now, and NetBSD has not been able to keep pace with all of the features, although it's kept current on the features it did have and has added architectures. The source code is readable and once again I feel like I can (kind of) understand the system that I'm working on.

Getting a second UART working means that I can run PPP over one of the serial channels (to /dev/ttyAMA0 on a Pi400 running Linux) and still have a serial console and access the kernel debugger on the other serial port.

All of this is working towards a medium-term project for me: add a driver to the NetBSD kernel. Specifically, a driver for the ENC28J60 SPI-attached Ethernet controller.

(I expect many crashes, which is why access to the debugger is neccessary)

I don't really need this, but working through the datasheets of a small system and writing C (and learning about DTB) has been a really pleasant experience. Not sure why; I don't want to overanalyse.

Anyway this is closer to a blog post than a .project update so bye!

Proxy Information
Original URL
gemini://tilde.town/~insom/2021-05-08.gmi
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
500.457123 milliseconds
Gemini-to-HTML Time
0.273625 milliseconds

This content has been proxied by September (ba2dc).