Bienvenido: Ingresar
location: WebHome / HerramientasProgramacion

Herramientas de Programación

Antes de conocer un poco sobre las herramientas de programación que posee los microcontroladores ARM, debemos repasar un par de conceptos importantes.

GNU-ARM

GNU toolchain es un término general para nombrar a una colección de herramientas de programación producidas por el proyecto GNU. Estas herramientas utilizadas de manera encadenada (en serie) permiten desarrollar aplicaciones y sistemas operativos.

El toolchain de GNU juega un rol vital en el desarrollo del kernel de Linux, BSD y software para sistemas embebidos.

Proyectos incluidos en el toolchain de GNU:

GNU ARM toolchain Se refiere a la utilización de estas herramientas para generar código ARM.

Compilación

Un compilador es un programa que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación. Usualmente este proceso de traducción está dividido en tres estratos, conocidos como Front-End, Middle-End y Back-End.

Introducción a Compiladores

Enlazado

El proceso de pasar de un archivo objeto reubicable a un objeto binario absoluto listo para ser cargado en nuestro microcontrolador se denomina enlazado o su nombre en ingles linker.

Introducción a Enlazadores y LinkerScript

Gestor de Proyecto (MAKE)

make es una utilidad que nos permite automatizar el mantenimiento de un proyecto, esto es:

Desplegar todas las capacidades de make está más allá del alcance de nuestro curso, por ello, sólamente veremos a continuación los elementos básicos necesarios para la compilación con make; los que por otro lado serán suficientes para nosotros. No obstante para quienes tengan la inquietud de indagar más profundamente sobre las capacidades de make se recomienda el manual GNU Make o también algunas adaptaciones al castellano como esta. Un escenario genérico de aplicación de la utilidad make sería:

target ... : prerequisites ...
        command
        ...
        ...

Herramientas

Para realizar nuestro proyecto en ARM, necesitaremos una serie de herramientas que nos permitirán compilar, linkear, debuging, manejar nuestro proyecto, etc.

Necesitaremos entonces, conocer las posibilidades que tenemos en la elección de estas herramientas.

Herramientas Pagas

Estas herramientas vienen acompañadas de un IDE, el cual integra todas las fases de un proyecto en un solo entorno visual, permitiendo con simples "click" sobre botones, crear compilar y grabar en nuestro micro un proyecto. Ventajas:

Desventajas:

A continuación vemos algunos de estos entornos

Nombre

Firma

IDE

Compilador

Web Site

KEIL

ARM Company

RealView Microcontroller Development Kit

RealView

http://www.keil.com/arm/

IAR

IAR System

IAR Embedded Workbench for ARM

Propio

http://www.iar.com/ewarm

CrossWorks for ARM

Rowley Associates

Cross Studio

GCC

http://www.rowley.co.uk/arm/index.htm

Sourcery G++

CodeSourcery

Sourcery G++ IDE

GCC

http://www.codesourcery.com/sgpp

Embest

EMBEST INFO&TECH CORPORATION

Embest IDE for ARM

GCC

http://www.embedinfo.com/English/Product/idemain.asp

ARM Development Tool

Gao Tek co.

GAO IDE for ARM Development Tools Suite A/B

GCC

http://www.gaotek.com/index.php

ARM development tools

ImageCraft Creations Inc.

ARM development tools IDE

ICCV7 for ARM

http://www.imagecraft.com/devtools_ARM.html

Herramientas Libres

Aquí debemos hacer una aclaración en un error muy habitual, confundir herramientas libres con herramientas gratis. Herramientas Gratis, son provista generalmente por las empresas que hacen Herramientas Pagas, la diferencia, es que le sacan algunas características, restringe el tamaño del proyecto o solo permiten usarla para fines académicos, tenemos otra vez un IDE muy lindo con botoncitos que hacen todo por milagro y sin saber que ocurre abajo, pero con el problema que al crecer nuestro proyecto no podemos mas compilarlo por las restricciones que posee o en el momento que un proyecto hecho para una materia en la facultad se puede transferir a una empresa, no lo podemos comercializar sin salir de la ley. Herramientas Libre, en este caso son herramientas que nacieron y/o crecieron en una comunidad de programadores, son herramientas con las cuales somos libre de hacer lo que querramos con nuestro proyecto, esto es así hasta el punto, de que las mayoría de los entornos pagos internamente poseen herramientas libres, muchas veces la herramienta que te están vendiendo es solo el IDE, debido a que el compilador, enlazador, librerías y hasta el gestor de proyector son GNU.

Podemos aclarar brevemente las ventajas y desventajas Ventajas

Desventajas

IDE Libres

YAGARTO IDE basado en GNU-ARM e interfase Eclipse, disponible solo para Windows

http://www.yagarto.de/

paginas con pequeños script o tutoriales para compilar el GNU-ARM

OpenHardware

http://openhardware.net/Embedded_ARM/Toolchain/

rod.info

http://rod.info/ARM7Micro

gnu-arm-toolchain-installer

http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/

Entorno de Programación

En la programación del microcontrolador, se utilizará el proyecto GNU-ARM bajo Linux.

La descripción del proyecto y la información para instalarlo se encuentra en:Herramientas de programación

Para los alumnos que quieran programar en Windows, podrán hacerlo bajando e instalando el Yagarto, herramienta libre bajo Windows, la catedra no usa esta herramienta por lo tanto no puede dar soporte.

UntitledWiki: WebHome/HerramientasProgramacion (última edición 2016-08-03 22:31:05 efectuada por GuillermoSteiner)