Teach Remote lab lessons

Teach lesson

Nios V na DE1-SoC (1/5): primeira execução

Abra o CodeIDE Nios V na DE1-SoC, execute o programa pronto hello.elf e registre no terminal JTAG UART evidências da placa real.

  • Nios V for DE1-SoC
  • 35 min
  • Graduação em Ciência ou Engenharia da Computação
  • Português (Brasil)
  • Digital systems & FPGA · Embedded systems
Nios V for DE1-SoC
Nios V for DE1-SoC · Lab details

Learning Outcomes

  • Executar um ELF pronto no sistema Nios V fixo da DE1-SoC.

  • Identificar o Nios V como uma CPU soft-core RISC-V implementada dentro da FPGA.

  • Distinguir a imagem fixa do sistema FPGA do programa ELF do estudante.

  • Usar o terminal JTAG UART como saída observável do programa.

Student activity preview

Activity Content

Preview only. In a class session, students can fill in responses and submit their work to the teacher.

1

Sistema FPGA fixo, programa enviado

8 min

Objetivo desta primeira execução: comprovar que um programa conhecido pode ser executado em um processador Nios V real dentro da FPGA da DE1-SoC e entender quais partes do sistema são fixas antes de começar a editar código nas próximas lições.

Uma FPGA é um chip reconfigurável: sua lógica interna pode ser configurada para funcionar como um sistema digital. Neste laboratório, a FPGA da DE1-SoC já está configurada com o FPGAcademy DE1-SoC Computer with Nios V. Nesta oficina, você não enviará uma imagem de hardware .sof personalizada.

RISC-V é uma arquitetura de conjunto de instruções: uma especificação das instruções, dos registradores e do modelo básico de execução que um processador compatível compreende. O Nios V é a implementação soft-core da Intel de um processador RISC-V em FPGA. Soft-core significa que a CPU é construída com a lógica da FPGA, em vez de ser um chip de processador fixo separado.

Nesta lição, você controla o programa de software selecionado: um arquivo ELF já compilado para o Nios V. O .sof descreve o sistema de hardware na FPGA — CPU, memória e periféricos mapeados em memória. O .elf contém as instruções e os dados que a CPU Nios V executa dentro desse sistema de hardware já configurado.

Você não editará código-fonte nesta primeira lição. A edição começa na Lição 2. Aqui, o objetivo é relacionar o arquivo enviado à evidência observada: o terminal JTAG UART deve imprimir a mensagem do programa.

O hello.elf pronto vem de um pequeno programa como este:

#include <stdio.h>

int main(void) {
    printf("Hello from Nios V\n");
    while (1) {
    }
}

Referências úteis:

- Processador Intel Nios V
- Visão geral de FPGAs e processadores embarcados da Intel
- FPGAcademy DE1-SoC Computer with Nios V
- RISC-V International: sobre o RISC-V

Você não precisa ler todas essas referências antes de continuar. Nesta primeira lição, as explicações anteriores são o conteúdo necessário. Os links permitem verificar como o Nios V, o RISC-V e o sistema DE1-SoC da FPGAcademy se encaixam em um ecossistema maior.

Fluxo do Nios V: imagem de hardware SOF fixa e programa ELF enviado.

A imagem de hardware .sof fixa é preparada no servidor. Nesta oficina, sua tarefa é selecionar, compilar ou enviar o programa .elf e observar seu funcionamento pelo terminal e pelos periféricos da placa.

Com suas palavras, qual é a diferença entre a imagem fixa do sistema .sof e o programa .elf neste laboratório?

O programa não movimenta motores nem desenha gráficos. Qual saída você deve procurar para saber que o hello.elf foi executado?

2

Execute hello.elf

12 min

Abra o laboratório de envio do Nios V e use o programa hello.elf já carregado. Essa entrada permite selecionar e executar um arquivo ELF, mas não mostra nem edita seu código-fonte.

  1. Abra a entrada Nios V for DE1-SoC, destinada apenas ao envio.

  2. Selecione hello.elf como programa Nios V caso ainda não esteja selecionado.

  3. Clique em Verify program (Verificar programa).

  4. Clique em Upload to FPGA (Enviar para a FPGA).

  5. Aguarde a sessão da placa e o console JTAG UART.

  6. Procure pelo menos uma linha Hello from Nios V no console.

Depois de executar hello.elf, registre o arquivo selecionado, o texto exato observado no console, se a sessão da placa abriu e qualquer atraso ou problema.

ELF selecionado Texto observado no console A sessão da placa abriu? Problema ou atraso observado

Registre a linha exata do console JTAG UART que comprova a execução do ELF. A linha esperada é Hello from Nios V. Se ela aparecer mais de uma vez, registre esse fato também; isso pode ocorrer quando o terminal se reconecta ou o programa é executado novamente.

3

Mapa do fluxo de trabalho

10 min

O fluxo destinado apenas ao envio tem várias etapas. Cada uma existe por um motivo.

Qual sequência descreve melhor o que aconteceu?

Este laboratório permite compilar, enviar e executar, além de observar o terminal e o hardware. Que tipo de suporte à depuração não faz parte do fluxo atual?

4

Síntese final

5 min

Escreva um resumo de três frases do fluxo do laboratório: qual sistema de hardware foi usado, qual arquivo você executou e como observou o resultado.