Programación en C para sistemas embebidos

Programación en C para microcontroladores

Introducción

Una de las herramientas más potentes con las que cuenta un profesional dedicado a los sistemas embebidos (o de aplicación específica) es la programación en lenguajes de alto nivel.

Aunque existe una infinidad de lenguajes de dónde escoger, sin duda, C es la opción preferida. Ello debido a dos razones fundamentales:

1. C es un lenguaje híbrido, es decir, es una combinación de ensamblador de alto nivel mezclado con un lenguaje de alto nivel cercano al ensamblador. Esta combinación es la que lo ha hecho tan popular tanto para la programación en máquinas de escritorio como en sistemas embebidos.

2. No hay otra opción. Dicho de otra manera, cuando se programa un sistema desde cero sólo se puede realizar de dos maneras: ensamblador o C. Otros lenguajes como JAVA sólo se implementan cuando se cuenta ya con un sistema operativo (de aquí en adelante
OS). Tómese como ejemplo una PALM cuyo OS es el PALMOS, donde además su CPU está basada en la serie 68000 de Motorola de 32 bits. La PALM puede ser programada tanto en C como en JAVA, sin embargo la opción nativa es con el primero. ¿Porqué no en JAVA de forma nativa? Porque JAVA es un lenguaje interpretado y se requiere instalar una máquina virtual (VM) en la PALM (lo mismo sucede con los teléfonos celulares). Por lo tanto debe existir una VM en cada plataforma antes de correr una aplicación JAVA, y dicho sea de paso éstas VM's se escriben en C =). En resúmen, cuando se requiere escribir para un sistema embebido desde cero, o sea hace en ensamblador o en C.

Muchos OS, tanto para máquinas de escritorio como para embebidos, están escritos en C (los que no están escritos en ensabamblador). Más adelante se enumerarán otras ventajas que motiven a programar en C.

Esta pequeña charla no pretende ser un curso sobre el lenguaje C, sino una introducción a la diferencia entre escribir para un equipo de escritorio de aplicación general (PC o Mac) y arquitecturas dedicadas desde 8 hasta 32 bits, así como ser una motivación para migrar del ensamblador a los lenguajes de alto nivel.

Ver mas...

Comentarios

Entradas populares de este blog

Las rutinas de retardo se escriben en ensamblador

Uso de interrupciones en el LPC21xx