Intel® SoC FPGA Centro de desarrolladores sin software instalado
Recursos para ayudarlo a iniciarse y familiarizarse con el desarrollo completo en Intel® SoC FPGAs.
El desarrollo sin software instalado utiliza un entorno de tiempo de ejecución de software que no utiliza un sistema operativo (SO) o un sistema operativo en tiempo real (RTOS). En una configuración sin software instalado, se puede utilizar el sistema de procesamiento duro (HPS) de SoC FPGAs. Intel ofrece bibliotecas de hardware (HWLIBs) que consisten en interfaces de programación de aplicaciones (API) de alto nivel y macros de bajo nivel que le permiten utilizar la mayoría de los periféricos HPS.
Puede acceder a diversos recursos que lo ayudarán a comenzar con el desarrollo completo en la FPGAs de SoC Intel® desde los enlaces a continuación. Si es la primera vez que utiliza los recursos, le recomendamos que siga los recursos linealmente.
1. Requisitos previos
Cree su cuenta Mi Intel
- Cree su cuenta Mi Intel desde la página Mi Intel.
- Su cuenta Mi Intel le permite presentar solicitudes de servicio, registrarse para clases, descargar software, acceder a recursos, cursos de entrenamiento y mucho más.
Consideraciones de diseño
¿Qué es Bare-metal?
- Bare metal representa las interfaces de registro reales y las características de hardware del sistema de procesador.
- El desarrollo sin software instalado utiliza un entorno de tiempo de ejecución de software que no utiliza un sistema operativo ni un RTOS.
- En configuraciones sin software instalado, se puede utilizar el HPS de SoC FPGAs. Intel ofrece HWLIBs que consisten en API de alto nivel y macros de bajo nivel que le permiten ejercitar la mayoría de los periféricos HPS.
¿Por qué Bare-metal?
- Las ventajas de utilizar un enfoque sin software instalado son:
- Control absoluto del hardware
- Mayor eficiencia
- Tamaño mínimo (tanto flash como memoria física)
- Sin dependencia de otros códigos fuente o bibliotecas
- Más fácil de probar formalmente la corrección y realizar un análisis de cobertura de código
- Otras razones para seleccionar el desarrollo de metal desnudo son:
- Necesidad de llevar a cabo la puesta en marcha de la placa y centrarse en un periférico a la vez
- Necesidad de reutilizar código heredado existente que ya está desarrollado como bare-metal
- Falta de experiencia con un sistema operativo o RTOS
Consideraciones sobre el software instalado
Para desarrollar una aplicación sin software instalado para el HPS, debe estar familiarizado con el desarrollo de capacidades de tiempo de ejecución para asegurarse de que la aplicación hace un uso eficaz de los recursos disponibles en el subsistema de la CPU. A continuación se muestran ejemplos de lo que puede ser necesario:
- Conocimiento profundo de la plataforma de hardware
- Desarrollo de capacidades de tiempo de ejecución para administrar el proceso entre el núcleo y el subsistema de caché si desea utilizar completamente el subsistema de CPU, ya que una aplicación sin software instalado típica utiliza un solo núcleo
- Desarrollar capacidades para administrar y programar procesos, manejar comunicaciones entre procesos y sincronizar eventos dentro de su aplicación
Si su proyecto programado no permite realizar un esfuerzo para familiarizarse con los puntos anteriores, se recomienda que considere la posibilidad de utilizar una solución comercial de Linux* o RTOS.
Alternativa |
Ventajas |
Comentarios |
---|---|---|
Linux | Redes, almacenamiento, multitarea, comunicación entre procesos, sincronización y más. | No es necesario ser un experto en kernels de Linux para usar Linux en su proyecto. Por ejemplo, podría escribir una aplicación de espacio de usuario Linux y acceder directamente a los registros de propiedad intelectual (IP) FPGA, de forma similar a como se comportaría una aplicación sin software instalado. |
RTOS | Procesamiento multinúcleo, multitareas, comunicación entre procesos y sincronización, según RTOS. | Usar un RTOS simple es fácil. Es similar a usar las bibliotecas C de funciones que ya están implementadas, en lugar de escribir esas funciones usted mismo. |
Bootloader | Tiempo de arranque más rápido y acceso a las características ya implementadas en el gestor de arranque, como almacenamiento masivo y redes | Los cargadores de arranque disponibles son: |
Diagrama de flujo de diseño
A continuación se muestra el diagrama de flujo de diseño típico para el desarrollo sin software instalado:
A continuación se presenta un resumen del flujo:
- Comience con un diseño de hardware, que incluya:
- Configuración de HPS: configuración de reloj, multiplexación y configuración de pin, configuración de DDR, periféricos conectados, etc.
- Contenido del tejido de FPGA: núcleos IP instanciados en el FPGA, pin de FPGA, controlador de memoria y configuración de bucle de bloqueo de fase (PLL)
- El diseño de hardware se compila con las herramientas de Intel® FPGA Complete Design Suite, que generan los siguientes archivos:
- Archivo SOF: se utiliza para configurar la estructura de FPGA a través de varios métodos: programador externo, flash externo, cargador de arranque HPS o incluso aplicación HPS
- Handoff: contiene la información utilizada por el generador del cargador de arranque de la segunda etapa para crear el cargador de arranque que se utilizará en el HPS
- Archivo SOPCINFO: se puede utilizar para crear automáticamente archivos de encabezado con las direcciones IP soft FPGA
- Archivo SVD: contiene información sobre los registros de IP soft de FPGA para que el depurador de ARM* Development Studio 5* (DS-5*) Intel SoC FPGA Edition pueda mostrarlos en un formato fácil de usar durante la depuración
- El usuario escribe código fuente personalizado, con la ayuda de los HWLIBs, y potencialmente utilizando los archivos de encabezado de dirección IP FPGA
- El usuario compila la aplicación sin software instalado con la ayuda de los compiladores sin software instalado
- El usuario depura la aplicación sin software instalado mediante ARM DS-5 Intel SoC FPGA Edition
2. Primeros pasos
Seleccione la placa objetivo
- Recomendamos comenzar el desarrollo con un kit de desarrollo de SoC proporcionado por Intel, ya que los ejemplos completos de introducción están destinados a ejecutarse en esas placas.
- Para ver las placas de FPGA SoC disponibles, visite Intel® FPGA Boards.
Instalar Intel SoC FPGA EDS
- El EDS Intel SoC FPGA proporciona herramientas esenciales que se requieren para todo el desarrollo de FPGA SoC, incluido el software instalado. Consulte Software y herramientas integradas para Intel® SoC FPGA para obtener más detalles.
- Descargue Intel® SoC FPGA Embedded Development Suite (SoC EDS) Pro Edition del Centro de descargas de FPGA.
- Proceso de instalación e instalación de las herramientas para Intel SoC FPGA EDS.
- Si ARM DS-5 Intel SoC FPGA Edition se utiliza para depurar y/o rastrear aplicaciones sin software instalado, deberá obtener una licencia. La licencia por lo general se incluye con la compra del kit de desarrollo de Intel SoC FPGA. Consulte las instrucciones de configuración de licencia de la guía de usuario de Intel® SoC FPGA Embedded Development Suite (SoC EDS).
Seleccione Herramientas de compilación
- El Intel SoC FPGA EDS ofrece las siguientes herramientas de construcción sin software instalado:
- Intel SoC FPGA versión de Mentor CodeSourcery: basada en GCC, no se requiere licencia
- ARM Compiler 5: licencia incluida con la licencia Intel SoC FPGA EDS
- Se pueden utilizar otros conjuntos de herramientas de compilación destinados a plataformas ARM: vaya al Ecosistema para Intel® FPGA y Intel® SoC FPGA dispositivos.
- Los proyectos de ejemplo de introducción están disponibles para los compiladores GCC y ARMCC proporcionados como parte de Intel SoC FPGA EDS.
Seleccione las herramientas de depuración y seguimiento
- El Intel SoC FPGA EDS incluye ARM DS-5 Intel SoC FPGA Edition, que es totalmente compatible con la depuración y el rastreo de programas sin software instalado (se requiere licencia)
- Los proyectos de ejemplo de introducción utilizan ARM DS-5 Intel SoC FPGA Edition para la depuración y el seguimiento
Ejercite la aplicación Getting Started
- Hay disponible un ejemplo de aplicación de introducción para dispositivos Cyclone V, Arria V y Intel® Arria® 10, compatible con compiladores ARMCC y GCC.
- La aplicación de ejemplo ejercita lo siguiente:
- HPS SDRAM, MMU, cachés,
- Temporizadores HPS, interrupciones
- Puentes HPS a FPGA
- FPGA IP soft: SysID
- FPGA interrupciones
- Encuentre la documentación y las descargas en la versión que necesita en Rocketboards.org sobre el tema SoCEDS y ARM Development Studio.
3. Crear tu propio proyecto
Tipos de proyectos sin software instalado
Hay dos tipos diferentes de proyectos que pueden ser gestionados por el ARM DS-5 Intel SoC FPGA Edition:
- Proyectos basados en makefile: el proyecto se gestiona editando manualmente el makefile, y el ARM DS-5 Intel SoC FPGA Edition solo llama a 'make all' y 'make clean' en ese makefile para construir y limpiar su proyecto, respectivamente.
- Proyectos basados en plugins: ARM DS-5 Intel SoC FPGA Edition administra completamente su proyecto, incluidos los archivos para compilar, las opciones del compilador, la creación y la limpieza.
La ventaja de un proyecto basado en makefile es que puede invocar cualquier otra herramienta, no solo el compilador bare-metal, ofreciendo así más flexibilidad. La única ventaja de usar un proyecto basado en complementos es que se puede acceder fácilmente a la configuración desde la interfaz gráfica ARM DS-5 Intel SoC FPGA Edition en lugar de editar el archivo makefile con un editor de texto.
Método recomendado para crear su propio proyecto
Recomendamos comenzar a usar el script proporcionado para crear automáticamente su proyecto basado en complementos o en makefile .
El script realiza las siguientes acciones:
- Crear carpeta de proyecto
- Cree un archivo de proyecto C, con toda la configuración de compilación necesaria
- Cree un archivo main.c simple, que simplemente imprime un mensaje de "hola mundo"
- Traiga todos los archivos HWLIBs relevantes
- Cree el archivo system.h con las direcciones base de los periféricos de FPGA fabric (requiere que primero se instale el software Intel® Quartus® Prime; de lo contrario, se omitirá este paso)
- Crear una configuración de depuración para depurar la aplicación
- Crear una configuración de depuración para ejecutar el cargador de arranque [opcional]
- Crear un lanzador de herramientas externo para configurar FPGA estructura desde ARM DS-5 Intel SoC FPGA Edition [opcional]
- Cree un iniciador de herramientas externo para volver a generar el archivo system.h cuando sea necesario [opcional]
Tenga en cuenta que todos los proyectos de introducción descritos en la sección Introducción se crearon con este método.
Métodos alternativos para crear un proyecto
También puede crear sus propios proyectos utilizando las siguientes alternativas:
- Opción 1: Cree manualmente un archivo make, luego consulte Arm* Development Studio* for Intel® SoC FPGA Edition para encontrar instrucciones para crear el proyecto en ARM DS-5 Intel SoC FPGA Edition como un proyecto basado en makefile . Crear manualmente el archivo makefile está más allá del alcance de esta guía y requiere que se familiarice con todas las herramientas de compilación y sus opciones. Si se requiere un archivo make, el método recomendado es utilizar el script proporcionado para crearlo.
- Opción 2: Crear manualmente un proyecto basado en plugins desde cero. Consiste en reproducir manualmente el procedimiento que sigue el script proporcionado para crear el proyecto. Tenga en cuenta que el script ofrece más características y es el método recomendado para crear el proyecto. Esta opción está documentada solo como referencia.
- Opción 3: Comience con un proyecto existente y modifíquelo para adaptarlo a sus necesidades. Esto se puede hacer especialmente para pruebas y experimentos cortos, pero este método no se recomienda.
4. Ejemplos
Introducción a las aplicaciones completas
Tabla A. Focalización de las placas de desarrollo de SoC Intel y ejercicio:
- HPS SDRAM
- HPS MMU y cachés
- Temporizador HPS, con interrupciones
- FPGA IP: SysID y PIO: botones, conmutadores de paquete en línea dual (DIP) y LED
- FPGA interrupciones
Dispositivo |
Compilador |
Ejemplo |
---|---|---|
Cyclone® V |
ARMCC |
|
Cyclone® V |
GCC |
|
Arria® V |
ARMCC |
|
Arria® V |
GCC |
|
Intel® Arria® 10 |
ARMCC |
|
Intel® Arria® 10 |
GCC |
Ejemplos de Bare-metal incluidos con el EDS Intel SoC FPGA
Tabla B. Dirigido a las placas de desarrollo de SoC Intel y disponible en <SoC FPGA Installation Folder>\embedded\examples\software\:
Nombre del ejemplo |
Descripción |
Dispositivo |
Compilador |
---|---|---|---|
HardwareLib-16550 |
Utiliza las API de interrupción y UART para implementar una aplicación de consola. |
Cyclone V |
ARMCC |
HardwareLib-ECCL2 |
Configura las tablas de la MMU y muestra las capacidades ECC de la caché L2. |
Cyclone V |
ARMCC |
HardwareLib-FPGA |
Configura FPGA HPS mediante el acceso directo a memoria (DMA), abre los puentes H2F y se comunica con un componente de PI blanda GPIO dentro de la estructura FPGA. |
Cyclone V |
ARMCC |
HardwareLib-SPI |
Se comunica con una EEPROM SPI en una placa externa. |
Cyclone V |
ARMCC |
HardwareLib-Timer |
Configura temporizadores e interrupciones. |
Cyclone V |
ARMCC |
HelloWorld-Baremetal | Imprime el mensaje "hola mundo" utilizando semihosting. | Cyclone V Arria V Intel Arria 10 |
ARMCC GCC |
Ejemplos adicionales sin software instalado
Tabla C. Orientación hacia las placas de desarrollo de SoC Intel y disponible en la página Ejemplos de diseño, todas ellas con el compilador GCC:
Ejemplo |
Descripción |
Dispositivo (archivo de proyecto) |
Dispositivo (archivo Léame) |
---|---|---|---|
DMA |
Inicializa DMA, realiza transferencias de memoria a memoria y de cero a transferencias de memoria. |
||
ECC |
Configura y habilita ECC para RAM en chip, SD/MMC, interfaz periférica en serie cuádruple (SPI), DMA y caché L2. Inyecta errores de bit simple/doble y configura las interrupciones para las detecciones de errores de bit simple/doble. |
||
GPIO |
Configura la entrada/salida de propósito general (GPIO) como puertos de salida para impulsar los LED HPS y para configurar GPIO como puertos de entrada para los botones pulsadores HPS. |
||
I2C |
Se comunica a través de I2C con pantalla LCD, memoria EEPROM y entre dos módulos I2C. |
||
SPI cuádruple |
Realiza la lectura y escritura en el SPI cuádruple utilizando el modo de E/S de bloque genérico, el modo indirecto y el modo DMA. También configura MMU y cachés. |
||
SD/MMC |
Inicializa la tarjeta SD/MMC, lee y escribe utilizando funciones de E/S de bloque. |
||
Temporizador |
Utiliza temporizadores en modos de carrera libre, one-shot y watchdog. Realiza mediciones de temporizador globales. |
||
Sin alojar | Utiliza UART para la salida de printf en lugar de semihosting. También muestra cómo iniciar un programa completo desde una tarjeta SD. | ||
SPI | Se comunica entre dos módulos SPI conectados a través del tejido FPGA. | ||
Puentes HPS a FPGA | Ejercita las interfaces de memoria asignada del sistema de procesador físico (HPS) expuesto al tejido FPGA. Realiza pruebas de memoria escribiendo y leyendo la memoria HPS utilizando varios puertos del HPS y mide el desempeño de los movimientos de datos. | Ejemplo |
Cómo implementar la ejecución in situ (XIP) en Cyclone V FPGAs
Consulte la página de diseño de ejemplo Cyclone V QSPI XIP en Intel FPGA Wiki para obtener instrucciones completas sobre cómo ejecutar una aplicación bare-metal desde la memoria flash QSPI.
Cómo iniciar aplicaciones completas en Cyclone V FPGAs
Consulte la Nota de aplicación, capítulo Ejemplos de arranque 709, para ver ejemplos sobre el arranque de una aplicación sin software instalado del sistema integrado en chip Cyclone V desde:
- SD/MMC
- QSPI
- FPGA
5. Recursos adicionales
Recursos de asistencia
¡La ayuda está a solo un clic de distancia! Los recursos de asistencia le proporcionan recursos técnicos en línea, desde clases de entrenamiento hasta ejemplos de diseño y foros, que lo guían a través de cada paso del proceso de diseño.
Base de conocimientos
La base de conocimientos proporciona un gran número de soluciones de asistencia, artículos de referencia, mensajes de error y guías de solución de problemas, y también se puede buscar completamente.
Comunidad Intel
La Comunidad Intel es un sitio web de la comunidad que permite la colaboración entre Intel FPGA usuarios. Consulte las secciones "Embedded Design Suite (EDS)" y "SoC Discussion". Utilice el motor de búsqueda para encontrar material relevante. También se le anima a actualizar y contribuir.
Clases de entrenamiento
A continuación se presentan las clases de capacitación fundamentales que puede tomar antes de comenzar su desarrollo completo.
Recursos |
Tipo |
Habilidades desarrolladas |
---|---|---|
Curso online gratuito de 27 minutos |
|
|
Bibliotecas de hardware y programación sin software instalado del sistema integrado en chip |
Curso online gratuito de 28 minutos |
|
Desarrollo de software para un sistema integrado en chip basado en ARM |
Curso de clase virtual / guiado por instructor de 8 horas |
|
Guía del usuario de Aprendizaje -Intel SoC FPGA EDS
La Guía del usuario de SoC EDS es un documento fundamental que describe todas las herramientas y componentes Intel SoC FPGA EDS. Recomendamos encarecidamente revisar las siguientes secciones relevantes para el desarrollo de metal desnudo:
Sección de EDS SoC |
Descripción |
---|---|
Descripción general y el flujo de desarrollo de hardware y software. |
|
Cómo instalar el EDS Intel SoC FPGA y el ARM DS-5 Intel SoC FPGA Edition. |
|
Opciones de licencia para Intel SoC FPGA EDS y cómo instalar la licencia. |
|
Cómo iniciar el shell y usarlo para acceder al resto de las herramientas Intel SoC FPGA EDS. |
|
Operaciones básicas, como iniciar ARM DS-5 Intel SoC FPGA Edition, administración de proyectos sin software instalado y depuración. |
|
Descripción general de HWLIBs y cómo llegar a la información de Doxygen incluida con la instalación de Intel SoC FPGA EDS. |
|
Descripción general de los dos compiladores sin software instalado incluidos con la Intel SoC FPGA EDS: ARMCC y GCC. |
Aprendizaje - Intel SoC FPGA EDS Getting Started Guides
Las guías de inicio de SoC EDS en el Intel FPGA Wiki son un conjunto de instrucciones básicas fundamentales para ayudarlo a comenzar fácilmente con el EDS Intel SoC FPGA.
Guía |
Descripción |
---|---|
Configure la placa de desarrollo de SoC Intel. |
|
Ejecute algunas de las herramientas proporcionadas con el Intel SoC FPGA EDS. |
|
Importe, compile y depure el ejemplo de aplicación completa de Hello World proporcionado. |
Documentación y recursos adicionales
Manuales de referencia técnica
Los manuales de referencia técnica contienen descripciones detalladas del hardware, incluido el comportamiento, las direcciones base, la asignación de interrupciones y los registros de control/estado de todos los periféricos.
Páginas de documentación del sistema integrado en chip
Las páginas de documentación del sistema integrado en chip proporcionan convenientemente una única ubicación para acceder a toda la documentación relevante del sistema integrado en chip, como manuales de referencia técnica, hojas de datos y notas de aplicación.
Recursos adicionales
Recursos |
Descripción |
---|---|
Descargue SoC FPGA EDS. |
|
Vea todos los kits de desarrollo de FPGA disponibles. Haga clic en SoC Series Kits en el panel de navegación izquierdo para ver las placas compatibles con un SoC FPGA. |
|
Acceda a varios ejemplos de diseño. Haga clic en Ejemplos de diseño de SoC en el panel de navegación izquierdo para ver los ejemplos dirigidos a un FPGA de SoC . |
|
Acceda a todos los Intel FPGA programas de formación. Seleccione Desarrollo de software en el panel de navegación izquierdo y, a continuación, busque "SoC" para obtener cursos específicos relacionados con FPGA SoC. O seleccione cualquier otra área de interés. |
|
Acceda a todo el catálogo de capacitación de Intel FPGA. Busque "SoC" para cursos específicos relacionados con FPGA SoC. O seleccione cualquier otro curso de interés. |
|
Consulte una descripción general del Intel SoC FPGA EDS, incluidas las novedades de la última versión, las notas de la versión y el historial de versiones. |
|
Obtenga enlaces a diversos recursos relacionados con el sistema integrado en chip FPGA, como sistemas operativos, herramientas de desarrollo, núcleos de IP y placas. |
|
Acceda a más de 200 videos creados por Intel FPGA ingenieros. Algunos videos son genéricos, mientras que otros están relacionados con productos de SoC FPGA. |
|
Colaborar con otros usuarios Intel FPGA a través de este sitio web de la comunidad. Consulte las secciones de discusión del Paquete de diseño integrado (EDS) y del sistema integrado en chip. Utilice el motor de búsqueda para encontrar material relevante. Se anima a todos a actualizar y contribuir. |
El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.