Sistemas de desarrollo
Cualquier desarrollo del sistema con un microprocesador (MPU) o microcontrolador (MCU) presente requerirá el uso de sistemas de desarrollo. Estas son herramientas utilizadas por los ingenieros de diseño para implementar software o hardware. Ayudan en la prueba y depuración del desarrollo y soporte de su diseño. Hacen más fácil para el diseñador implementar, verificar y depurar el sistema en el que están trabajando.
En cualquier sistema de desarrollo, existe el concepto de un objetivo. Un objetivo es lo que el software o hardware (en el caso de la lógica programable) ejecutará. Este objetivo puede ser el entorno del hardware y software real donde funcionará el diseño o puede ser una máquina de hardware y software que lo emula.
En el caso de utilizar el objetivo final real en un diseño, muchos sistemas tienen interfaces especiales integradas para permitir el acceso. Estas incluyen interfaces físicas como JTAG que permiten el acceso a los subsistemas y E/S del microprocesador con una técnica llamada exploración de límites. Los módulos de depuración físicos también pueden estar integrados en MPU o MCU para permitir los registros internos que serán leídos y actualizados, el contador del programa que cambiará y será dirigido y los buses de datos que tendrán acceso. La memoria es generalmente accesible y los subsistemas como la caché interna puede tener circuitos adicionales para ayudar en la ejecución del código durante el tiempo de ejecución.
Si el hardware actual no está disponible, los fabricantes de chips y las instalaciones de diseño de terceros producirán kits de desarrollo. Estos son plataformas genéricas que permiten a los diseñadores conseguir diseños que trabajan en su mayoría en una plataforma que tiene similitudes con el objetivo final. Hay plataformas de hardware disponibles para la mayoría de los objetivos, incluidos los microprocesadores y dispositivos lógicos programables.
En el caso de desarrollar ellos mismos los MPU, los diseñadores tienen la oportunidad de simular el dispositivo en simuladores lógicos, que son programas que interpretan el lenguaje de descripción del hardware, ejecutan el diseño a través de un conjunto de estímulos de prueba y dan salida a los resultados. En algunos casos, los equipos pueden descargar el diseño del hardware a una plataforma lógica programable para ponerlo a prueba, por lo general a una velocidad de reloj más lenta que el diseño final.
Los sistemas de desarrollo de software incorporan simuladores para emular el objetivo, pero también pueden incluir conexiones físicas en los emuladores de circuito (ICE) para realizar una depuración. En el caso de escritura en un lenguaje de alto nivel (como C), la depuración de entornos puede mostrar el lenguaje ensamblador subyacente y ver el estado de las variables y la memoria. Las máquinas virtuales se pueden utilizar para desacoplar la computadora que el diseñador está utilizando desde el diseño y orientar el sistema operativo correcto.
Los diseñadores también escriben algoritmos y estos pueden ser probados en los programas de modelización matemática como Matlab. Los modelos matemáticos se pueden extender para emular los sistemas completos (por ejemplo, Simulink).
Los diseñadores de circuitos tienen la opción de poner a prueba los circuitos analógicos en paquetes como SPICE y simulación electromagnética física. Estas herramientas se pueden conectar a los sistemas de medición reales para obtener las características de rendimiento y mejorar el modelado.
- Sistemas de desarrollo
Investigación y eventos
Understanding the Microsoft Vision AI Development Kit
Computer vision has come a long way since the days of reading text off of typed pages or helping identify shorts and opens on an assembly line. Advances in computing abilities, enormous amounts of data stored over the last 20 years in data centers and new and better algorithms have finally helped make artificial intelligence (AI) more than just a buzzword.
Vision AI at IoT Edge Brings Broad Application Revolution
Computer vision has been around for a long time. We have been machine-reading typed text from scanned pages, getting information from QR codes and undertaking other forms of pattern matching on PCB assembly lines with automated optical inspection (AOI) systems. However, human operators have always needed to examine the results, which did not improve over time.