4 ms·
Why is 64-bits a requirement?
by packetlost 3y ago
Why is 64-bits a requirement?
- sylware 3y agoBecause I will code once 64bits risc-v assembly.
- RetroTechie 3y agoSounds like a one-off custom project. So RV32 or RV64 shouldn't matter. Apart from the register size, assembly for these is very similar if not the same. Disadvantage of complex SoCs is that even if you use just a few peripherals, several other peripherals might get in the way or need initialization even if you're not using them (like onboard flash, DRAM controller timings, or power management). To some degree bootloaders take care of this. Which leaves you with an overly complicated (+ time consuming) boot process before your code can do useful stuff. Not to mention power consumption. Or the cost of keeping spares around. If you want to go RISC-V route for this, I'd recommend to just pick a lowly uC (or more likely, a board it sits on), like: GigaDevices GD32VF103 WCH CH32V series A step up: Bouffalo Lab BL808 Allwinner F133 Milk-V Duo I'm not aware of an extensive / complete list of such parts or boards. But there are more out there (and new ones popping up).
- packetlost 3y agoI would personally reach for a BL602 or BL616. They're RV32IMAFC MCU cores that would be good for a keyboard project.
- sylware 3y agoI know risc-v 32bits and 64bits instructions are very similar... but it is not the same in the end: I prefer to write 64bits risc-v code paths once and for all. I have already a few GD32VFG10[12] boards, but the MCU is 32bits, I avoid them. BTW, the bouffalo has a 32bits risc-v MCU, the 64bits risc-v is only a "guest" processor. And of course, initing a complex SOC can be a nightmare if really badly done, it all depends on the SOC, but the code is usally around. But do you know of a mini-board with plenty of available GPIOs (~30), a USB-C port and a USB device block, RV64 ofc. The only one seems to be the mango pi with the D1.