4 ms·
I'd love a NUC-performance single board computer with proper GPIO+SPI+I2C to use for prototyping projects in place of slower ARM64 SBCs, and at first glance, th
by qhwudbebd 3y ago
I'd love a NUC-performance single board computer with proper GPIO+SPI+I2C to use for prototyping projects in place of slower ARM64 SBCs, and at first glance, this looks like that. But reading the description, the GPIO isn't memory-mapped on the real CPU, but is exiled on the wrong side of a horrible microcontroller bottleneck. :(
From time to time, I search around for something like a PCI-express card to expose a bunch of 3.3V GPIO, SPI and I2C lines, but all I've been able to turn up expose old-fashioned 5V logic levels, no SPI/I2C, and at distinctly 'industrial' price points.
- heavyset_go 3y agoIf anyone knows products that fit this use case, I'd love to know as well.
- CamperBob2 3y agoFor better or worse, memory-mapped I/O isn't coming back -- how would that work on a modern flat-model OS with memory protection, anyway? It would require dedicated support from the memory controller itself, not something a system OEM could even think about implementing themselves. It also wouldn't be useful for real-time applications, since these machines don't generally run true real-time operating systems. Delegating I/O to a dedicated controller usually makes much more sense than trying to do it by bit-banging ports (or addresses) on a general-purpose CPU running a general-purpose OS. Not advocating the Arduino model necessarily, but if you want memory-mapped I/O, my guess is you really want an FPGA connected via PCIe, or at least USB HS. And if you don't need an FPGA to handle your I/O tasks, then there's a darned good chance that the Arduino is actually good enough. What might be interesting is integrating something like a Teensy 4, so that you could offload not only I/O but a non-trivial amount of processing on the data to be acquired or transmitted.
- qhwudbebd 3y agoI'm probably describing what I want incorrectly with 'memory mapped IO'. All I'm after is GPIO, SPI and I2C directly attached to the real processor, as you get with a completely standard Raspberry Pi or Rockchip board, but apparently never on x86.
- heavyset_go 3y agoAll I want is a card or motherboard with some GPIOs and other pins. I've seen some products that almost get there, but they're something awkward like an ARM SBC stuck on Linux 2.6.x with an embedded Arduino. Memory mapping doesn't matter to me, although it would be cool.