Paper Programacion

Embed Size (px)

Citation preview

  • 7/26/2019 Paper Programacion

    1/3

    AbstractoSe presentan aplicaciones a nivel de hardware de

    programacin en lenguaje C++. En este caso utilizando como

    referencia los sistemas de National Instrument como es el caso de

    un !"#$.

    I. INTRODUCCIN

    os diseadores tradicionalmente han utilizadolenguajes de programacin como C para desarrollarsistemas em!e!idos !asados en ar"uitectura de

    microprocesadores o microcontroladores. #a popularidad de Cha dado lugar a un gran ecosistema de opciones tecnolgicasde herramientas como !i!liotecas$ compiladores % sistemasoperati&os. #os arreglos de compuertas programa!les'()*+s, son una tecnolog-a no&edosa en el espacio em!e!ido"ue proporciona la capacidad de crear lgica digital

    reconigura!le utilizando lenguajes de descripcin dehard/are. )ara representar el hard/are % apro&echar lanaturaleza paralela de alto rendimiento de los circuitosdigitales$ los lenguajes de descripcin de hard/are orecensem0ntica mu% dierente a lo "ue est0n acostum!rados a usarlos ingenieros de sot/are. +l !rindar entornos de desarrollo

    para ()*+s "ue proporcionan caracter-sticas de programacinamiliares para los ingenieros de sot/are$ los desarrolladoresde sistemas em!e!idos pueden o!tener !eneicios por usar()*+s en sus diseos.

    #

    II. 1I1T23+123424IDO1

    #a plataorma de 251 reconigura!les 'RIO,$ consta de dosdispositi&os programa!les6 un microprocesador ejecutando un1O en tiempo real 'RTO1, % un ()*+. 2sto le permite di&idircdigo entre el ()*+ % el RTO1 con !ase en la necesidad decada tarea indi&idual.

    Figura1. Arquitectura de Hardware Embebido de NI

    #a introduccin de los ()*+s en el diseo de sistemasem!e!idos ha hecho posi!le crear lgica digital de altorendimiento sin la necesidad de un diseo +1IC

    personalizado. Tradicionalmente$ el desarrollo de ()*+ ha

    sido realizado con lenguajes de descripcin de hard/are!asados en te7to como 89D# o 8erilog$ % el cdigo es escritopor ingenieros de diseo digital. Desaortunadamente$ de!idoa la desaiante sem0ntica del lenguaje$ estos lenguajes dedescripcin hard/are hacen "ue sea di-cil apro&echar todas

    las capacidades del diseo de ()*+. +s- lo demuestra lademanda de industrias em!e!idas por encontrar a!straccionesde m0s alto ni&el para el diseo de ()*+$ como herramientas

    para s-ntesis de C a compuertas lgicas o lenguajes deprogramacin gr0ica como * en #a!8I2: ()*+.

    Figura 2. Arquitectura de Software de Sistemas Embebidos de NI

    III. D21+RRO##O D2 +)#IC+CION21 2N TI23)OR2+# 2N C;;

    Con dierentes ar"uitecturas de sot/are para elegir$ losprogramadores primero de!en identiicar los re"uerimientos

    de su pro%ecto % relacionarlos con un diseo de sot/areptimo. De!en considerar los re"uerimientos t

  • 7/26/2019 Paper Programacion

    2/3

    Considere estos cuatro patrones !0sicos de diseo.

    Figura 3. Arquitecturas de Diseo de Software Embebido Basado e !"!##

    I8. ##+3+R+)#IC+CION21O4I4#IOT2C+1C;; D21D2#+48I2:

    +l usar #a!8I2: para programar la aplicacin principal entiempo real$ los desarrolladores pueden apro&echarlasunciones integradas para procesamiento de seales%comunicacin en red. +dem0s$ #a!8I2: autom0ticamente

    pone en paralelosecciones independientes del cdigo$ por lo"ue los programadores pueden e&itar el manejo manual dem=ltiples threads. 1in em!argo$ pueden reutilizar el cdigo deC o C;; e7istente al llamar !i!liotecas compartidas de C5C;;desde #a!8I2: o ejecutar aplicaciones C5C;; en paralelo alejecuta!le de #a!8I2: RealTime. #os programadores

    pueden elegir entre &arias implementaciones para integrar una!i!lioteca compartida de C5C;; o comunicarse con unaaplicacin e7terna6

    o Call #i!rar% (unction Node de #a!8I2:Use esta uncin para llamar una uncin de una D##de C5C;; o !i!lioteca compartida de #inu7directamente desde #a!8I2:. Conigure el Call#i!rar% (unction Node para especiicar la !i!lioteca$uncin$ par0metros$ &alor de retorno para el nodo$con&enciones de llamada % llamada de uncin. #ostipos de datos de #a!8I2: se pueden pasar comoentradas % regresar como salidas a la uncin de la

    !i!lioteca de C5C;;.

    o 1%stem 27ec 8I Use esta uncin paraejecutar o iniciar otra aplicacin de l-nea de comandoo archi&o de script de #inu7 desde su cdigo#a!8I2:. Usted puede incluir cual"uier par0metrocon su secuencia de comandos "ue ese comandosoporte. Enicamente #inu7 RealTime orece estacaracter-stica.

    o Comunicacin #ocal #os programas

    paralelos tam!i

  • 7/26/2019 Paper Programacion

    3/3

    Figura $. Herramietas de Desarro%%o !"!## Basadas e &'I o &!

    #a!:indo/s5C8I puede a%udarle a acortar su tiempo dedesarrollo con +)Is de controladores$ asistentes deconiguracin de 251$ !i!liotecas de medidas % an0lisis$ %e7tensas herramientas de depuracin % optimizacin de

    cdigo.

    Usted puede reutilizar cdigo uente de C e7istente en suaplicacin #a!:indo/s5C8I % usar el3dulo#a!:indo/s5C8I RealTimepara implementar % depurar enun dispositi&o remoto en tiempo real sin salir del ID2. NIorece +)Is intuiti&os % de alto rendimiento para todo elhard/are de )FI % )C$ as- como el ()*+ Interace C +)I

    para control de 251 % escritura de datos entre la aplicacin entiempo real % el hard/are ()*+.

    8I. CONC#U1ION21

    )ara representar el hard/are % apro&echar la naturalezaparalela de alto rendimiento de los circuitos digitales$ loslenguajes de descripcin de hard/are orecen sem0ntica mu%dierente a lo "ue est0n acostum!rados a usar los ingenieros de

    sot/are.

    De!en considerar los re"uerimientos tK National Instrument http655///.ni.com5/hitepaper5@B>A5es5 JAK ///.ceintec.com5desarrollo.html

    A

    http://www.ni.com/lwcvi/realtime/http://www.ni.com/lwcvi/realtime/http://www.ni.com/lwcvi/realtime/http://www.ni.com/white-paper/14623/es/http://www.ni.com/lwcvi/realtime/http://www.ni.com/lwcvi/realtime/http://www.ni.com/white-paper/14623/es/