Skip to content

Flix V: FPGA, Linux y Risc V

Juan Gonzalez-Gomez edited this page May 12, 2023 · 4 revisions

Introducción

Este cuaderno técnico es muy ambicioso. Se quiere estudiar todo lo necesario para correr un sistema Linux mínimo en un procesador RISC-V en la FPGA. Este sistema ya está operativo, y ha sido desarrollado por Kian. Vamos a partir de él y estudiarlo

Componentes

  • CPU: Procesador KianV: Un RV32IMA con modo privilegiado
  • Memoria flash (16MB)
  • Memoria RAM (32MB)
  • Registro de lectura de frecuencia (Opcional)
  • Controlador local de interrupciones y temporizador
  • UART a 3000000 Baudios (3Mbaudios)
  • Frecuencia: 70Mhz

Mapa de memoria

Dir Componente Descripción
0x10000000 UART TX y RX
0x11000000 CLINT Controlador local de interrupciones y temporizador
0x20000000 FLASH Memoria flash
0x80000000 RAM

Memoria Flash

Esta es la memoria a la que tenemos acceso desde el PC para grabar el bitstream, el código y los datos. La dividimos en bloques de 1MB. Este es su contenido:

Direccion local Bloque (1MB) Mapa memoria Contenido
0x0000000 - 0x00FFFFF 0 0x20000000 Bitstream para FPGA
0x0100000 - 0x01FFFFF 1 0x20100000 Bootloader
0x0200000 - 0x02FFFFF 2 0x20200000 Kernel
0x0700000 - 0x07FFFFF 7 0x20700000 DTB
0x0800000 - 0x0FFFFFF 8-15 0x20800000 8MB of free space
Clone this wiki locally