Hola, hace tiempo que sigo los increibles trabajos de KianV en twitter[1]. Ha creado un RISC-V desde 0, en verilog, que incorpora el modo privilegiado y que es capaz de correr LINUX!! (Bueno, en realidad micro-Linux, porque no incluye MMU)
Todo el trabajo está publicado en su repo [2]
Con la idea de hacer tutoriales e ir poco a poco estudiando la información, estoy recopilando lo esencial en este repositorio de FPGAwars:
Así que, si alguno de vosotros tiene ansia viva (SAV) y quiero probar el linux en la FPGA, estos son los pasos
De momento sólo lo he puesto para la placa ULX3S-12F de Radiona, que es en la que lo estoy probando:
1. Instala apio
2. Clona el repositorio de Flix-V
3. Entra en el directorio Demo
4. Ejecuta estos comandos
apio raw "fujprog -l 4 -j FLASH -f $((1024*1024*1)) Linux/boot.bin"
apio raw "fujprog -l 10 -j FLASH -f $((1024*1024*2)) kernel.bin"
apio raw "fujprog -l 4 -j FLASH -f $((1024*1024*7)) kianv32mb.dtb"
Estos comandos graban en la memoria flash los diferentes binarios necesarios para Linux
Luego hay que cargar el RiscV en la FPGA:
apio raw "fujprog -l 4 -j FLASH Soc-Kianv-ULX3S-12F.bit"
Ahora ya empezará a arrancar LInux. Para verlo hay que arrancar un terminal seria a la velocidad de 3000000 baudios (velocidad no estandar)
Un terminal muy útil es tio. Si lo tienes instalado ejecuta este comando:
tio -m INLCRNL /dev/ttyUSB0 -b 3000000
La información la he dejado en Inglés aquí:
Os seguiré informando de los progresos
Correr linux (sistema operativo libre) en un procesador RISC-V, que es abierto, en una placa open Hardware, usando exclusivamente herramientas libres para la síntesis, me parece alucinante...
El ecosistema de las FPGAs libres está avanzando cada vez más rápido...
Saludos, Obijuan