Maybe the RP2040 (Raspberry Pico) can do this. It has some programmable IO setup, but I'm not up to speed with it, so not sure.
Then do it easily with PSoC.
As for alternatives, the STM32L1xx line has a set of interesting internal interconnections which maybe could and maybe couldn't be abused for this purpose. Its original purpose is to provide touchscreen support, but they are just analog switches controllable by both directly using registers, and also from timers. I never gotten so far that I would understand all the minutiae of this arrangement, and now the 'L1 are NRND although ST promises they will be around for the next 8 years or so.
nRF52, but if you don't need the 2.45GHz radio, the main selling point, it would be a pretty weird choice, I admit that. This being said, I have used it in non-radio applications lately, too, because I like the simplicity and flexibility of the peripheral system (although it's lacking some features compared to higher end STM32 for example). Nearly full IO connection matrix is one of such features, you indeed can route SPI peripheral to any set of digital IO pins. Other similar features are arbitrary logical interconnections between any peripherals using their EVENT / TASK inputs/outputs, and easier-than-anything-else DMA. Really simple microcontroller to understand and use, and really simple to program in register level.
does it have to be ARM?
this could be done with any microchip part with PPS and CLC (PPS Input to both SPI and CLC, the CLC configured as a passthrough) which means any PIC16/PIC18/PIC24/dsPIC introduced in the last 4-5 years. Probably some of the newest ATSAM as well (and PIC32C which are rebranded ATSAMs)
Hi all,
I am looking for an MCU which can internally route IO input pins to IO output pins.
I have a device with a processor connected to SPI flash and I want to make a board with a MCU that ‘hooks onto’ the SPI lines, act as sniffer and is able to disconnect the SPI flash from the device’s processor and inject data to both the processor as the SPI flash.
Basically, it ‘sits’ between the device processor and SPI flash, can sniff and inject data both ways.
I know I could easily do this with PSoC, however Infineon has completely killed the PSoC by pricing it out of the market. The PSoC was promoted for a sub 1 dollar ARM M0 MCU and now you’re lucky if you can buy it for 4 dollar. The higher end PSoC devices went from 4 USD to over 15 USD in just a few years
I don’t want additional circuitry (multiplexers, transistors etc), so I’m hoping to find a good chip!
I am looking for an MCU which can internally route IO input pins to IO output pins.
I have a device with a processor connected to SPI flash and I want to make a board with a MCU that ‘hooks onto’ the SPI lines, act as sniffer and is able to disconnect the SPI flash from the device’s processor and inject data to both the processor as the SPI flash.
Basically, it ‘sits’ between the device processor and SPI flash, can sniff and inject data both ways.
I think the PIC I used recently in a project, the PIC16F18857, can do this, using its “configurable logic cell” feature.
I don’t know what it is you consider “wacky”, but that project was my first time touching a PIC and MPLAB X, and I had no trouble getting it up and running. Everything worked smoothly, including debugging.
See the attached circuit, still looking for alternatives to implement this functionality (without external components).
I have a device with a processor connected to SPI flash and I want to make a board with a MCU that ‘hooks onto’ the SPI lines, act as sniffer and is able to disconnect the SPI flash from the device’s processor and inject data to both the processor as the SPI flash.