De una gran idea a un gran producto con Intel System Studio

Desarrolla más inteligentemente utilizando las tecnologías IoT y embebidas más recientes

Noah Clemons, Technical Consulting Engineer, Parallel Programming Products, Intel Corporation

Cuesta un enorme esfuerzo convertir una gran idea en un gran producto. Disponer de las herramientas adecuadas para el trabajo hace todo el proceso mucho más simple. Intel ofrece todas las herramientas requeridas para satisfacer todas tus necesidades de desarrollo de sistemas embebidos en Intel System Studio e Intel System Studio for Microcontrollers. Este conjunto unificado de herramientas de desarrollo de software para la codificación, análisis y depuración funcionan con todos los micro-controladores, dispositivos IoT (Internet of Things) y plataformas embebidas.

En este artículo:

  • Se hace una presentación rápida de Intel System Studio e Intel System Studio para microcontroladores
  • Se discute cómo los componentes funcionan a través de todas las plataformas
  • Se describe dónde los componentes han sido adaptados para acomodar la nueva plataforma de microcontroladores
  • Se explica cómo Intel System Studio satisfice las necesidades de desarrollo tanto para IoT como para sistemas embebidos

¿Quién necesita Intel System Studio?

  • Fabricantes de dispositivos que necesitan las herramientas adecuadas para dar vida a las plataformas

  • Integradores de sistemas que se apoyan en plataformas existentes y necesitan establecer una pila de software completa

  • Desarrolladores de software embebido que necesitan crear y optimizar aplicaciones embebidas

Crear productos novedosos

Intel System Studio se centra en ofrecer todas las herramientas que necesitarás para desarrollar productos sobre hardware Intel, soportando las plataformas embebidas de Intel desde dispositivos IoT basados en Intel Quark X1000 e Intel Atom hasta servidores basados en procesadores Intel Core e Intel Xeon.

Intel System Studio for Microcontrollers ha sido creado específicamente para ofrecerte un entorno de desarrollo centrado en microcontroladores para los microcontroladores Intel Quark D1000, D2000 y SE.

La siguiente tabla presenta algunas de las características que algunas de estas suites ofrecen:

Intel System StudioIntel System Studio for Microcontrollers
PlataformasProcesadores Intel Xeon, Intel Core,
Intel Atom, Intel Quark U-series SoC
Microcontrolador Intel Quark D-series
Entorno de desarrollo de softwareEntorno integrado basado en Eclipse, línea de comandos, Intel Graphics Performance AnalyzersEntorno integrado basado en Eclipse, línea de comandos
Plataformas de origenLinux, Windows, OS XLinux, Windows
CompiladoresIntel C++ CompilerIntel C++ Compiler, GNU C Compiler
Plataformas de destinoLinux, Android, Windows, FreeBSD, VxWorks“Metal”, Real Time OS
Software para plataformas de destinoEjemplos, depurador, controladores de soporte al perfiladoPaquete de soporte a tarjeta, Interfaz de software para el microcontrolador
Intel Quark, ejemplos
LibreríasIntel Math Kernel Library, Intel Performance Primitives, Intel Threading Building Blocks (Image, Signal/DSP, Math, Data Processing, Multithreading)Motor de ejecución de C, librerías de emulación de punto flotante y tratamiento de señales (DSP)
AnalizadoresIntel VTune Amplifier, Energy Profiler, Inspector (Memory Analyzer)Power Analyzer
DepuradoresAplicaciones y OS, WinDbg, GDB mejorado por Intel, Intel System Debugger, JTAG, JTAG sobre USB, Agente UEFIAplicación y OS, Embedded System Registers View, MCU Flashing GDB mejorado por Intel, JTAG basado en OpenOCD

Intel System Studio

Con Intel System Studio, puedes elegir entre utilizar la línea de comandos o herramientas visuales, incluyendo integración completa con Eclipse o Microsoft Visual Studio. Estas herramientas soportan el desarrollo para Windows, Linux, VxWorks, Wind River Linux, FreeBSD y Android, y soportan las versiones más recientes de los procesadores de Intel, incluyendo Intel Quark, la plataforma Intel Edison, Intel Atom x3 (antes conocidos como SoFI), x5, x7 (antes conocidos como Cherry Trail), procesadores Intel Core de 6ta. generación (antes conocidos como Skylake), Microsoft Windows 10 y FreeBSD.

El núcleo central de Intel System Studio lo constituye un compilador-optimizador, el compilador de Intel C/C++, y librerías con compatibilidad avanzada con C++11 y C++14 (-std=c++14) que generan código específico para su arquitectura y le permiten analizar su sistema. Las tres librerías principales son Intel Integrated Performance Primitives (Intel IPP), Intel Math Kernel Library (Intel MKL), e Intel Threading Building Blocks (Intel TBB). Intel IPP ofrece bloques de rendimiento para el tratamiento de imágenes, señales y cadenas, la compresión de datos, la criptografía y el reconocimiento de imágenes, a través de una amplia librería de funciones de software.

Soportadas tanto por Intel System Studio como por Intel System Studio for Microcontrollers, estas librerías ofrecen optimizaciones adicionales para procesadores Intel Quark, Intel Atom e Intel Core.

Estas funciones listas para su uso y libres de royalties, están altamente optimizadas utilizando los conjuntos de instrucciones Intel Streaming SIMD Extensions (Intel SSE) e Intel Advanced Vector Extensions (Intel AVX, Intel AVX2, e Intel AVX-512), y frecuentemente superan en rendimiento a las funciones que un compilador optimizado podría producir por sí solo.

Optimizadas para el rendimiento y la eficiencia energéticaDiseñadas y probadas por Intel para acortar el tiempo de desarrolloAmplio rango de funcionalidades para múltiples plataformas
Rutinas altamente optimizadasOptimizadas para procesadores actuales y futurosMiles de funciones para señales, datos y medios altamente optimizadas
Altamente optimizadas usando los conjuntos de instrucciones SSSE4,
SSSE3, SSE, y AVX, AVX2,
AVX-512
Ahorre tiempo de desarrollo, depuración y mantenimientoAmplio soporte del dominio
Rendimiento que va más allá de lo que un compilador optimizador puede producir por sí mismoCodifique una vez ahora, y reciba optimizaciones futuras más adelanteSoporte para plataformas Intel Quark, Intel Core, Intel Xeon e Intel Xeon Phi
  • Intel MKL

    Acelera el tratamiento matemático en aplicaciones científicas, financieras y de ingeniería. La versión 11.2 añade resolución directa de matrices escasas para clusters, modo extendido de BLAS y LAPACK, mejoras en S/C/Z/DGEMM para tamaños pequeños de matrices, mejoras de rendimiento de SVD y cálculo de valores propios, y otras características y optimizaciones.

  • Intel TBB

    Librería de plantillas para C++ ampliamente utilizada para el paralelismo de tareas. Ofrece algoritmos y estructuras de datos paralelas, primitivas de hilos y sincronización, reservación de memoria escalable y planificación de tareas. La versión 4.3 ofrece mejoras en la reservación de memoria (tbbmalloc mejorada para incrementar el rendimiento y escalabilidad de aplicaciones multi-hilos), mejoras en el soporte de Intel Transactional Synchronization Extensions (Intel TSX) (las aplicaciones que utilizan bloqueos de lectura-escritura puede utilizar Intel TSX a través de tbb::speculative_spin_rw_mutex), compatibilidad mejorada con el estándar C++ 11, arenas de tareas (control mejorado sobre el aislamiento de cargas y el grado de concurrencia gracias a la nueva clase tbb::task_arena), y soporte para la arquitectura Intel más reciente.

  • Intel VTune Amplifier

    Herramienta esencial para el perfilado de rendimiento y el análisis avanzado. Le permite obtener rápida y fácilmente los datos de puesta a punto necesarios para una amplia gama de tipos de análisis, como el análisis en una plataforma de IoT o basada en módem.

  • Intel System Debugger

    Ofrece depuración JTAG a través de USB, suministrando uno amplio conjunto de herramientas para satisfacer sus necesidades de depuración. La primera herramienta es la traza de JTAG para Microsoft WinDbg (en la versión para Intel System Studio para Windows). Esto ayuda a identificar fallos en controladores Windows durante el arranque de placas e incluye soporte para Intel Processor Trace en WinDbg para ayudar a aislar problemas complejos en tiempo de ejecución.

  • Intel Trace Hub

    Realiza una traza a nivel de sistema para capturar eventos globales de hardware y software (soporta la 6ta. generación de procesadores Intel Core). Esto le ayuda a comprender más rápidamente las interacciones complejas entre hardware y software y le ofrecerá información temporal sobre los eventos.

    Closed Chassis Debug es una herramienta de depuración y traza basada en JTAG que opera sobre una conexión USB de bajo coste. Esto le permitirá desarrollar contra el factor de forma que satisfice los objetivos de su producto sin exponer un puerto de depuración. En su lugar, un puerto USB puede ser conectado para soportar todas sus necesidades de depuración.

Escalabilidad extremo-a-extremo de las herramientas para proyectos de IoT

Intel System Studio for Microcontrollers

Una nueva suite de herramientas que dan soporte a los microcontroladores Intel Quark D1000, Intel Quark D2000 e Intel Quark SE. La suite ofrece un entorno integrado de desarrollo basado en Eclipse. Los desarrolladores pueden también ejecutar las herramientas en Intel System Studio for Microcontrollers desde la línea de comandos utilizando Make.

Intel System Studio for Microcontrollers soporta la creación de código para su ejecución en sistemas basado en “metal” o algunos sistemas operativo de tiempo real (para los microcontroladores D2000 y SE). Incluye un paquete de soporte a placa (Board Support Package, BSP) que elimina la necesidad de escribir código de arranque y simplifica las funciones de Entrada-Salida.

Además de BSP para los microcontroladores Intel Quark D2000 e Intel Quark SE, Intel System Studio for Microcontrollers incluye el paquete Quark Microcontroller Software Interface (QMSI), que incluye la implementación para la mayoría de las interfaces de I/O (como GPIO, entrada analógica, I2C, SPI, UART) e incluye además controladores de dispositivo para periféricos comunes en placas de referencia de clientes (por ejemplo, el acelerómetro Bosch BMC150).

Intel System Studio for Microcontrollers incluye librerías de emulación de punto flotante y procesamiento de señales (DSP), altamente optimizadas para el tamaño del código (típicamente menos de 1KB por función) con énfasis en el rendimiento, la precisión, y el bajo consumo de energía. La librería DSP, basada en la popular CMSIS-DSP, incluye funciones matemáticas básicas, números complejos, estadísticas, transformaciones, interpolación y tratamiento de matrices. La librería LibM incluye algunas de las funciones matemáticas más frecuentemente utilizadas, como sqrtf, expf, logf, sinf, cosf, sincosf, tanf, asinf, acosf, atanf, floorf, ceilf y truncf. En comparación con la librería estándar de funciones matemáticas de C incluida en GNU, ofrece un rendimiento hasta 10x superior con un tamaño hasta 5x menor.

Intel System Studio integra soporte para depuración y grabación de firmware MCU utilizando software GDB y OpenOCD. En relación al hardware, la interfaz JTAG se implementa utilizando los adaptadores FTDI FT232H y FTDI FT2232H USB a JTAG/UART, simples y efectivos.

Herramientas multiplataforma

Independiente de la plataforma a la que usted se oriente, Intel System Studio ofrece un conjunto de herramientas bien definido que funciona a través de la amplia variedad de plataformas embebidas, móviles, IoT y ahora microcontroladores. Puedes utilizar esas herramientas para crear desde aplicaciones muy pequeñas hasta aplicaciones grandes para muchos núcleos. Aunque este artículo se centra en el compilador y las librerías, las herramientas de análisis operan sobre el mismo rango de plataformas y vale la pena echarles un vistazo también.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
¡Siéntete libre de contribuir!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *