Project Structure
Ok, vamos escrever isso em português por enquanto, por valorização da agiidade.
Este projeto é organizado em três pastas principais (ignore as outras por enquanto):
- .devcontainer: Configurações do Visual Studio Code para o ambiente de desenvolvimento.
- acionamento_brushless: Código fonte do firmware do acionamento brushless.
- de0-nano-sdeam-qsys: Projeto do Quartus Prime para o FPGA DE0-Nano-SoC e também o código fonte do firmware do FPGA.
.devcontainer
Se você é do time de desenvolvemento e quer ser capaz de compilar os códigos C para o RISC-V esse é o seu principal companheiro. Aqui você encontra as configurações do Visual Studio Code para o ambiente de desenvolvimento.
Assim que você abrir o projeto no Visual Studio Code, ele vai te perguntar se você quer abrir o projeto no container. Aceite e ele vai montar um ambiente de desenvolvimento com todas as ferramentas necessárias para compilar o código C para o RISC-V.
O devcontainer contém a toolchain do RISC-V e o Quartus. Então, se você quiser compilar o código C para o RISC-V ou programar o FPGA, você deve fazer isso dentro do container.
Para abrir o Quartus, você pode abrir o terminal do Visual Studio Code e digitar quartus
para abrir o Quartus.
acionamento_brushless
Eu não sei muito dessa parte, vamos ageitar isso depois.
de0-nano-sdeam-qsys
Esta pasta possui outras duas subpastas:
- hw: Projeto do Quartus Prime para o FPGA DE0-Nano-SoC.
- sw: Código fonte do firmware do FPGA.
Os arquivos da pasta hw que são mais importantes para o desenvolvimento são:
- de0-nano-soc.qpf: Arquivo de projeto do Quartus Prime. (use este arquivo para abrir o projeto no Quartus Prime)
- de0-nano-soc.qsf: Arquivo de configuração do projeto. (é onde estão as configurações de pinagem, use este arquivo sempre que precisar fazer uma montagem de pinos)
- src/top.vhd: Arquivo de descrição do hardware do FPGA. (no inicio e no final do arquivo estão configurados os sinais mais importantes, então é onde a sua dúvida provavelmente será respondida).
Dentro da pasta sw, vcoê encontrará mais duas pastas principais (ignore as outras por enquanto):
- example: São os códigos C do projeto (se baseie no golden_top para entender como o código C se comunica com o hardware).
- lib: Bibliotecas de suporte para o projeto.