A Rocketboards.org deve ser usada como referência, mas não abrange as internas dos fluxos de inicialização onde a personalização específica da placa está contida.
Este documento foi projetado para ser um guia de alto nível para mostrar onde procurar e quais arquivos você pode querer copiar e adaptar.
Para Rocketboards.org sobre como construir o carregador de inicialização para projetos soC Intel® Arria® 10 FPGA, consulte a seção soC Arria 10 - Inicialização da seção SD Card do Bootloader de construção para Cyclone® V e Arria 10 páginas da web.
Os itens em BOLD referem-se às seções das diretrizes do Bootloader de construção para Cyclone V e Arria página 10 da Web.
Personalização de U-boot e U-boot-SPL para sua placa
As configurações do HPS do seu projeto Platform Designer são levadas para u-boot por meio de arquivos hand off usando um script, que é enviado como parte do u-boot-socfpga:
Veja: Converta o arquivo de entrega hps.xml para incluir o arquivo a ser usado pela árvore do dispositivo
cd u-boot-socfpga
./arch/arm/mach-socfpga/qts-filter-a10.sh \
< local do projetoQuartus>/hps_isw_handoff/hps.xml
arch/arm/dts/socfpga_arria10_socdk_sdmmc_handoff.h
Isso cria o arquivo socfpga_arria10_socdk_sdmmc_handoff.h , que é então puxado durante a compilação.
Outros itens de configuração específicos da placa (Ethernet, Uart, tamanho da memória etc.)
- arquivo de config u-boot: u-boot-socfpga/configs/socfpga_arria10_defconfig
A maioria dos itens agora são definidos na árvore de dispositivos u-boot, no entanto, recomendamos a criação de versão personalizada do arquivo defconfig u-boot para sua placa:
O arquivo config especifica:
- Whats habilitado na compilação u-boot
- Comando de inicialização padrão
- Árvore de dispositivo padrão
- Alguns padrões de ambiente
- Config incluir arquivo: include/configs/socfpga_arria10.h
- Tamanhos de memória
- Endereços pré-definidos e itens de config
- Nomes de arquivos da árvore de dispositivos
- Ambiente de tempo de executar u-boot padrão
- Padrões de UART
- Alguma configuração é compartilhada, consulte também #include
- árvores do dispositivo de inicialização u: arch/arm/dts/_.dts
Há vários conjuntos de arquivos hierárquicos para cada destino de inicialização (NAND, SDMMC, QSPI). Há um arquivo de alto nível, que inclui informações genéricas e substituições específicas da placa. Alguns arquivos têm itens para você inicializar e alguns para você inicializar spl
Arria 10 SDMMC SoC SoC:
socfpga___.dts: arquivo de nível superior para um alvo de flash de placa e inicialização
Que flash para habilitar etc
socfpga__.dtsi: arquivos específicos da placa: Substituir ou estender os arquivos genéricos
Configuração de IP exata: UART, EMAC, MEMORY
socfpga_.dtsi: arquivos genéricos para o dispositivo
Nota:
- socfpga_arria10_socdk_sdmmc-u-boot.dtsi
- Contém o nome dos arquivos .itb a usar para FPGA configuração e carregamento adequado de uboot.
- Consulte o arquivo .its relevante
- board/altera/arria10socdk/*.its
&fpga_mgr {
u-boot,dm-pre-reloc;
altr,bitstream = "fit_spl_fpga.itb";
};
- .seus arquivos: para criar os arquivos .itb u-boot tentarão carregar: board/altera/arria10-socdk
board/altera/arria10-socdk/fit_uboot.its
arquivo de controle de U-boot SPL: qual U-boot adequado para carregar
placa/altera/arria10-socdk/fit_spl_fpga.its
FPGA de SPL: caminhos para arquivos .rbf para FPGA configuração
placa/altera/arria10-socdk/fit_kernel_qspi.its
Carga do Kernel Linux do QSPI
board/altera/arria10-socdk/fit_kernel_nand.its
Carga do Kernel Linux da NAND
Nota: com versões mais recentes da inicialização de distro de inicialização de inicialização, para inicialização de SDMMC, um arquivo .itb não é carregado para o sdmmc. Os arquivos relevantes são carregados na partição FAT e carregados diretamente.
Para obter mais informações, consulte a seção C. Build SD Card Image do Bootloader de construção para Cyclone® V e Arria 10.
Para Linux
- A configuração do kernel usada agora é padrão e pode ser adicionada à forma normal
- Padrão de carga: faça desconfigue
- Editar usando: faça manuconfig
- Salve o novo arquivo de configuração como defconfig: faça o saveefconfig
- Copie para o diretório configs, para ser usado mais tarde:
- cp defconfig arch/arm/configs/socfpga_myName
- Árvores de dispositivo personalizadas para uma placa personalizada devem ser criadas copiando e editando as versões do kit de desenvolvimento. A nomeação e estrutura é semelhante à uboot, com arquivos específicos da placa (.dts) que substituem configurações genéricas (.dtsi).