Centro de desarrolladores sin software instalado del procesador Nios® II
La página del Centro para desarrolladores de Bare-Metal del procesador Nios II le ayudará a iniciar el desarrollo sin software instalado sin un sistema operativo (SO) o un sistema operativo en tiempo real (RTOS).
Introducción
El desarrollo sin software instalado utiliza un entorno de tiempo de ejecución de software sin un sistema operativo (SO) o un sistema operativo en tiempo real (RTOS). Para respaldar el desarrollo sin software instalado, Intel ofrece una biblioteca de nivel de abstracción de hardware (HAL) para el procesador Nios II en Intel® FPGAs. Puede utilizar esta biblioteca como un paquete de controladores de dispositivos para los sistemas de procesador Nios II dentro del FPGA y proporcionar una interfaz coherente a los periféricos de su sistema.
Los siguientes enlaces lo ayudarán a comenzar con el desarrollo completo en Intel FPGAs. 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 cursos de entrenamiento, descargar software, acceder a recursos y mucho más.
Consideraciones de diseño
¿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
- Facilidad en la validación y el análisis de cobertura de código
También puede considerar el desarrollo sin metal desnudo si:
- No requieren operaciones de varias tareas o de varios subprocesos
- Están realizando una puesta en marcha de placa y necesitan enfocarse en cada periférico individualmente
- Está reutilizando código heredado existente que ya se desarrolló como software instalado
Consideraciones sobre el software instalado
Para desarrollar una aplicación sin software instalado para el procesador Nios II, 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 la 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 tiene en cuenta el esfuerzo que podría requerir familiarizarse con los puntos anteriores, entonces se recomienda que considere utilizar una solución comercial de Linux* o RTOS.
Alternativas completas
Teniendo en cuenta las consideraciones anteriores, a menudo tiene sentido utilizar un sistema operativo para obtener el máximo rendimiento del procesador Nios II con el mínimo esfuerzo.
La siguiente tabla muestra una comparación básica entre un sistema operativo Linux y RTOS.
Criterios |
Sistema operativo Linux |
RTOS |
---|---|---|
Diferencia clave |
La programación de tareas en el sistema operativo Linux no se basa en prioridades, por lo tanto, todos los subprocesos se tratan de manera justa. Esta política de equidad permite un alto rendimiento informático general, pero con el inconveniente de una latencia de despacho ilimitada. Las latencias de programación en Linux generalmente se acumulan con el mayor número de subprocesos para programar y ejecutar. |
RTOS es un sistema basado en prioridades y proporciona programación preventiva de tareas para garantizar una respuesta oportuna y determinista a eventos o interrupciones. Los subprocesos de alta prioridad y tiempo crítico se ejecutan con preferencia a los subprocesos de menor prioridad. Los subprocesos de un RTOS tienen una latencia limitada. Un proceso o subproceso se ejecuta dentro de un límite de tiempo especificado. |
Aplicación |
Ideal para aplicaciones que requieren un alto rendimiento informático general y no requieren tiempo crítico. |
Ideal para aplicaciones que requieren una respuesta muy rápida y predecible. |
Recursos |
Requiere recursos de CPU significativos y una gran huella de memoria. |
Ligero y requiere menos espacio de memoria. |
Práctica de codificación |
Por lo general, no se cumplen las estrictas políticas de codificación. |
Se adhiere a políticas de codificación estrictas porque el código debe funcionar de forma coherente continua. |
Sistema operativo Linux
Con la introducción de una unidad de administración de memoria (MMU) para el procesador Nios II, tiene una amplia gama de proveedores Linux para elegir. Desde asistencia comercial, líderes de la industria, hasta una distribución gratuita de código abierto, los socios de Linux integrado de Intel ofrecen el nivel adecuado de asistencia para su proyecto Linux.
- RocketBoards.org - Consulte el Manual del usuario de Nios II Linux para obtener una distribución de Linux de código abierto respaldada por la comunidad
- LinuxLink de Timesys - Seleccione Intel FPGA del fabricante en la ficha Filtro de placas
- Wind River : seleccione Intel FPGA de Proveedores de hardware en la pestaña Paquetes de asistencia de placa
- System Level Solutions (SLS): Seleccione los módulos de soporte de placa que desee en la pestaña Descargas
RTOS
Usar un RTOS simple es fácil. Es similar a usar bibliotecas C de funciones que ya están implementadas en lugar de escribir esas funciones usted mismo. Algunos RTOS proporcionan compatibilidad completa con todos los periféricos, mientras que otros proporcionan compatibilidad sólo para un subconjunto. En los casos en los que sólo un subconjunto de los periféricos son compatibles con el RTOS que ha elegido, el código HAL proporciona la compatibilidad adicional necesaria. Para obtener más información, consulte la página web Nios II Processor Ecosystem .
Se incluye una evaluación gratuita del RTOS MicroC/OS-II y el código fuente ANSI C completo con la instalación de Nios II Embedded Design Suite (EDS). Para obtener más información, consulte la página web del sistema operativo en tiempo real Micrium MicroC/OS-II .
Diagrama de flujo de diseño
La figura a continuación ilustra el flujo general de desarrollo del sistema del procesador Nios II.
El flujo de desarrollo del procesador Nios II consta de tres elementos, a saber:
- Diseño de hardware
- Diseño de software
- Diseño de sistema, en el que participan hardware y software
El desarrollo del procesador Nios II comienza desarrollando un concepto de sistema y realizando un análisis de los requisitos del sistema. A continuación, cree y genere el sistema en Platform Designer, y genere un archivo .sopcinfo. Platform Designer incluye núcleos de procesador Nios II, componentes estándar, instrucciones personalizadas y lógica periférica. Después de la generación del sistema, se pueden iniciar los flujos de hardware y software.
Para Nios II desarrollo de hardware del procesador, usted debe:
- Integre el sistema Platform Designer con el proyecto de software Intel® Quartus® Prime.
- Asigne ubicaciones de pin.
- Configure los requisitos de temporización y otras restricciones de diseño.
- Después de compilar el diseño de hardware, descargue el archivo .sof en la placa de destino.
Para Nios II desarrollo de software de procesador, usted debe:
- Desarrolle su software con Nios II Software Build Tools (SBT) para Eclipse. El software Nios II incluye el HAL, los controladores periféricos, los códigos de aplicación C/C++ del usuario y las bibliotecas personalizadas.
- Descargue el archivo .elf en el sistema de procesador Nios II en la placa de destino después de crear la aplicación y el paquete de soporte de placa (BSP). El sistema del procesador Nios II está listo para pruebas y depuración.
Si descubre que el software no cumple con las especificaciones durante la prueba, vuelva al principio del flujo de software y verifique los códigos de aplicación, los controladores y el BSP para corregir cualquier error y asegurarse de que el sistema del procesador Nios II se ejecuta correctamente.
Si el hardware no cumple con las especificaciones, vuelva al paso de definición y generación del sistema de Platform Designer, y reinicie el flujo de hardware y software. El archivo clave necesario para generar el software de la aplicación es el archivo de información de Platform Designer (.sopcinfo). Dado que este archivo describe los componentes y las conexiones de hardware, debe volver a generar este archivo si realiza un cambio de hardware. El sistema está completo cuando tanto el software como el hardware cumplen con las especificaciones.
2. Primeros pasos
Seleccione la placa objetivo
Le recomendamos que inicie el desarrollo en un kit de evaluación o desarrollo proporcionado por Intel, ya que la mayoría de los ejemplos disponibles están destinados a ejecutarse en esas placas.
- Nios II kits de evaluación del procesador:
- Bajo costo, fácil de usar
- Lleno de ejemplos de diseño, tutoriales y ejemplos de software
- Muchos ejemplos de diseño y software aportados por la comunidad de procesadores Nios II en el sitio Intel FPGA Wiki
- Ejemplo: kit de evaluación integrado Intel® MAX® 10 FPGA Nios® II (NEEK)
- Intel FPGA kits de desarrollo:
- Todos los kits nuevos incluyen ejemplos de diseño de procesadores Nios II preempaquetados titulados Board Update Portal
- Diseño introductorio de un procesador y control de acceso a medios (MAC) Ethernet con una aplicación de servidor web HTML
Consulte Todos los kits de desarrollo para obtener una lista de las placas disponibles. Para ver la lista de ejemplos de diseño específicos de placa que están disponibles en la Tienda de diseño, seleccione el kit de desarrollo que desee en el menú desplegable.
Instalar Nios II Embedded Design Suite (EDS)
Para instalar Nios II Embedded Design Suite (EDS), primero debe descargar el software Intel® Quartus® Prime desde el Centro de descargas. La Intel FPGA Software Installation and Licensing proporciona instrucciones detalladas para descargar e instalar el software Intel® Quartus® Prime, que incluye el Nios II EDS.
El Nios II EDS es un paquete de desarrollo integral para diseños de software Nios II. El EDS Nios II contiene no solo herramientas de desarrollo, sino también software, controladores de dispositivos, una biblioteca de HAL completa, un software de pila de red de nivel comercial y una versión de evaluación de un RTOS.
Cree su primer sistema de procesador Nios II
El AN 717: Tutorial de desarrollo de hardware de Nios II y Nios® II Manual para desarrolladores de software le presentan el flujo de desarrollo del sistema para el procesador Nios II. Utilizando el software Intel® Quartus® Prime y Nios II EDS, usted crea un diseño de sistema de hardware Nios II y crea un programa de software que se ejecuta en el sistema Nios II e interactúa con los componentes en las placas de desarrollo Intel®.
3. Crear tu propio proyecto
Tipos de proyectos sin software instalado
Hay dos tipos diferentes de proyectos que pueden ser administrados por el Nios II EDS.
En la tabla siguiente se ilustran las diferencias entre los dos tipos de proyecto, aparte de la GUI de Eclipse.
Característica |
Proyecto basado en GUI |
Proyecto basado en la línea de comandos |
---|---|---|
Descripción del tipo de proyecto | Proyecto basado en la interfaz gráfica de usuario (GUI)
|
Proyecto basado en la línea de comandos
|
Gestión de archivos de origen del proyecto |
Especifique las fuentes automáticamente, por ejemplo, arrastrando y soltando en el proyecto |
Especificar orígenes manualmente mediante argumentos de comando |
Depuración |
Sí |
Importar proyecto al entorno de Eclipse |
Se integra con scripts de shell personalizados y flujos de herramientas |
No |
|
Método recomendado para crear el proyecto
Escribir software para el procesador Nios II es similar a escribir software para cualquier otra familia de microcontroladores. Modificar el código existente es una manera común y fácil de aprender a escribir software en un nuevo entorno. El Nios II EDS proporciona muchos ejemplos de diseño de software que puede examinar, modificar y usar en sus propios programas.
Cada ejemplo de programa de procesador Nios II consta de un proyecto de aplicación, proyectos de biblioteca de usuario opcionales y un proyecto BSP.
- Proyecto de aplicación: consiste en una colección de código fuente, más un archivo make. Una característica típica de una aplicación es que uno de los archivos fuente contiene la función main( ). Una aplicación incluye código que llama a funciones en bibliotecas y BSPs. El archivo makefile compila el código fuente y lo vincula con un BSP y una o más bibliotecas opcionales para crear un archivo .elf.
- Proyecto de biblioteca de usuario: es una colección de código fuente compilada para crear un único archivo de archivo de biblioteca (.a). Las bibliotecas suelen contener funciones reutilizables de uso general que pueden compartir varios proyectos de aplicaciones. Una colección de funciones aritméticas comunes es un ejemplo.
- Proyecto BSP: es una biblioteca especializada que contiene código de soporte específico del sistema, como el HAL, una biblioteca estándar newlib C personalizada opcional, controladores de dispositivo, paquetes de software opcionales y un sistema operativo en tiempo real opcional.
Siga estos pasos para crear un proyecto de software con el Nios II SBT:
- Obtenga el diseño de hardware en el que se ejecutará el software. Independientemente de si se trata de un ejemplo de diseño de procesador Nios II o un diseño desarrollado por otra persona, debe tener el archivo de información de SOPC (.sopcinfo).
- Genere un archivo de configuración de BSP (settings.bsp) y, a continuación, un archivo makefile de BSP después de definir las características que requiere su BSP.
- Cree una biblioteca de usuario (opcional). Si necesita incluir una biblioteca de usuario de software personalizado, recopile los archivos de origen de la biblioteca de usuario en un único directorio y genere un archivo Make de biblioteca de usuario.
- Escriba el código fuente de su aplicación y genere un archivo makefile de aplicación.
- Compile el proyecto de software para generar un archivo .elf y ejecute la aplicación en la placa.
El Nios II SBT incluye herramientas para crear makefiles, que son clave en la construcción de proyectos Nios II C y C ++. No es necesario utilizar los makefiles generados si prefiere escribir los suyos propios. Sin embargo, le recomendamos que administre y modifique los archivos makefiles de BSP mediante el SBT.
Para obtener más información, consulte el Manual del desarrollador de software Nios® II.
4. Ejemplos
Ejemplos de diseño
Hay muchos ejemplos de diseño disponibles en la Tienda de diseño de Intel para ayudarle a comenzar con Intel FPGA productos. Todos los ejemplos se pueden utilizar como punto de partida para sus propios diseños, y algunos ejemplos se personalizan para kits de desarrollo específicos. Busque ejemplos de diseño de procesador Nios II seleccionando Nios II en el menú desplegable de IP Core. También puede filtrar otros criterios de búsqueda, como la familia de dispositivos, el kit de desarrollo y Intel® Quartus® versión del software Prime.
¿Cómo iniciar una aplicación de procesador Nios II?
Para obtener información sobre cómo arrancar una aplicación de procesador Nios II, consulte la sección Nios II Configuración y soluciones de arranque del Manual de diseño integrado.
Hay varias opciones de arranque o ejecución de software disponibles con el procesador Nios II. Puede configurar el procesador Nios II para que arranque y ejecute software desde diferentes ubicaciones de memoria.
Nios II memorias de arranque compatibles con el procesador:
- Flash de interfaz flash común (CFI)
- Memoria flash de usuario (UFM) en dispositivos Intel® MAX® 10 FPGA
- Dispositivo de configuración EPCQ de flash serie
- Flash de interfaz periférica en serie cuádruple (QSPI)
- Memoria en chip (OCRAM)
Nios II opciones de arranque del procesador:
- Ejecución en contexto
- Copiado de la memoria flash a la RAM con la copiadora de arranque
5. Recursos adicionales
Centro de asistencia
¡La ayuda está a solo un clic de distancia! El Centro de asistencia ofrece 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. También se puede buscar completamente.
Comunidad Intel FPGA
La Comunidad Intel es un sitio web de la comunidad que permite la colaboración entre Intel FPGA usuarios. Consulte la sección Nios II Embedded Design Suite (EDS) en FPGA Desarrolladores. Utilice el motor de búsqueda para encontrar material relevante. También se le anima a actualizar y contribuir.
Mi Intel
Su cuenta Mi Intel le permite presentar una solicitud de servicio para obtener ayuda sobre temas específicos. También puede usarlo para registrarse en clases de capacitación y acceder a otros recursos. Es necesario registrarse.
Aprendizaje fundamental: clases de capacitación
En la tabla siguiente se enumeran las clases de formación fundamentales que puede realizar antes de empezar a desarrollar el diseño.
Curso |
Habilidades desarrolladas |
---|---|
El procesador Nios® II: capa de abstracción de hardware (Curso en línea de 34 minutos) |
|
The Nios II Processor: Introducción al desarrollo de software (Curso en línea de 30 minutos) |
|
Uso del procesador Nios II: componentes e instrucciones personalizados (Curso en línea de 11 minutos) |
|
Uso del procesador Nios II: Desarrollo de hardware (Curso online de 27 minutos) |
|
Documentación y recursos adicionales
La siguiente documentación sirve como referencia principal para el procesador Nios II.
- El Manual del desarrollador de software Nios II describe la información básica necesaria para desarrollar software integrado para el procesador Nios II Gen2. Los capítulos de este manual describen el entorno de desarrollo de software de procesador Nios II, las herramientas de Nios II Embedded Design Suite (EDS) que están disponibles y el proceso para desarrollar software.
- El Manual de diseño integrado complementa la documentación principal para el desarrollo de sistemas integrados. Describe cómo utilizar las herramientas de la manera más eficaz y recomienda estilos y prácticas de diseño para desarrollar, depurar y optimizar sistemas integrados con las herramientas proporcionadas por Intel. El manual también introduce conceptos a los nuevos usuarios de las soluciones integradas de Intel, y ayuda a aumentar la eficiencia de diseño de un usuario experimentado.
- La Guía de referencia de procesadores Nios II describe el procesador Nios II Gen2 desde una descripción conceptual de alto nivel hasta los detalles de bajo nivel de implementación. Los capítulos de este manual describen la Nios II arquitectura del procesador, el modelo de programación y el conjunto de instrucciones.
- La Guía del usuario de PI de periféricos integrados describe los núcleos IP proporcionados por Intel que funcionan a la perfección con el procesador Nios II y que se incluyen en el software de diseño Intel® Quartus® Prime. Los núcleos de IP están optimizados para dispositivos Intel® y se pueden implementar fácilmente para reducir el tiempo de diseño y prueba.
Para obtener una lista completa de Nios II documentación relacionada con el procesador, visite la página Nios II Processor Support .
Videos de ingeniero a ingeniero
Explore el conjunto de videos instructivos que le presentan los ingenieros de Intel®. Los videos rápidos Intel® FPGA contienen videos instructivos para ayudarlo a desarrollar sus proyectos FPGA.
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.