Stellaris archivos - el blog de giltesa https://giltesa.com/tag/stellaris Sun, 04 Oct 2020 17:33:13 +0000 es hourly 1 https://wordpress.org/?v=6.3.1 79349975 .NetDuino https://giltesa.com/2013/05/18/netduino https://giltesa.com/2013/05/18/netduino#respond Sat, 18 May 2013 12:23:57 +0000 https://giltesa.com/?p=13890 NetDuino es una placa de desarrollo Open Source al igual que lo es Arduino, pero a diferencia de esta ultima NetDuino utiliza el .net Micro Framework como runtime por lo que puede ser programado mediante el IDE Visual C# Express Edition. Hay varias placas NetDuino disponibles, en mi caso hablare de la NetDuino 2 y […]

La entrada .NetDuino aparece primero en el blog de giltesa.

]]>
netduino

NetDuino es una placa de desarrollo Open Source al igual que lo es Arduino, pero a diferencia de esta ultima NetDuino utiliza el .net Micro Framework como runtime por lo que puede ser programado mediante el IDE Visual C# Express Edition.

Hay varias placas NetDuino disponibles, en mi caso hablare de la NetDuino 2 y la comparare con la otras 3: Arduino Uno, Arduino Mega 2560 (moDuino) y Stellaris LM4F120.

Netduino_2

Esta placa en concreto cuenta con un microcontrolador ATMEL ARM Cortex-M3 de 32 bits corriendo a 120Mhz con 60KiB de RAM y 192KiB de memoria Flash.

En el caso del las otras placas: La Arduino Uno tiene un AVR ATMEGA de 8bits a 16Mhz con 2KiB de RAM y 32KiB de Flash. El Arduino Mega 2560 tiene un AVR ATMEGA de 8bits a 16Mhz con 8KiB de RAM y 256KiB de Flash. Y la Stellaris LM4F120 cuenta con un ARM Cortex-M4 de 32bits a 80Mhz con 32KiB de RAM y 256KiB de Flahs.

Como se ve en cuanto a procesamiento es una mala bestia, salvo la Raspberry Pi que esta ya juega en otra liga, no le gana ninguna, de hecho para que los Arduinos le hagan competencia habría que hablar del Arduino Due que este ya cuenta con un ARM Cortex-M3 a 84Mhz con 96KiB de RAM y 512KiB de Flahs.

El resto de caracteristicas como protocolos soportados, distribución de los pines, alimentacion, etc. son parecidas a los Arduino ya que la gracia del NetDuino es que sea compatible con las Shields y módulos.

Hace unos días me curre una tabla comparativa de esas placas y otras muchas mas para el la Plataforma de Arduino en forocoches, que por segunda vez consecutiva me encargo yo de llevarlo. Dicha tabla es la siguiente:

tabla-arduinos

Personalmente la mayor ventaja de la placa es que sigue el mismo espíritu que Arduino: Open Software, Open Hardware, IDE que te abstrae del hardware (en este caso un poco menos), y a eso hay que añadirle el cambio de lenguaje de programación que en vez de ser C/C++ pasa a ser C# por lo que todo se programa con objetos y sin duda también el cambio de IDE, que en el caso de Arduino deja muchísimo que desear, y el de ahora te permite y facilita la programación mediante coloreado de la sintaxis, auto completado, indicación de errores, debugger en tiempo real, emulación de la placa, etc.

Para terminar, pues esto solo es una presentación y las explicaciones de instalación y uso irán en siguientes entradas, adjunto una galería de fotografías de las 4 placas:

La entrada .NetDuino aparece primero en el blog de giltesa.

]]>
https://giltesa.com/2013/05/18/netduino/feed 0 13890
Instalación LaunchPad LM4F120 en Windows https://giltesa.com/2012/11/25/instalacion-launchpad-lm4f120-en-windows https://giltesa.com/2012/11/25/instalacion-launchpad-lm4f120-en-windows#comments Sun, 25 Nov 2012 16:55:59 +0000 https://giltesa.com/?p=12748 Antes de poder empezar a trastear con nuestra Stellaris LaunchPad vamos a necesitar instalar las herramientas adecuadas en el PC. Preparación e instalacion del software Drivers Lo primero sin duda son los drivers, que podemos descargar desde aquí. Para instalarlo no se hace con un doble clic como cualquier otro driver, si no que hay […]

La entrada Instalación LaunchPad LM4F120 en Windows aparece primero en el blog de giltesa.

]]>
Antes de poder empezar a trastear con nuestra Stellaris LaunchPad vamos a necesitar instalar las herramientas adecuadas en el PC.

Preparación e instalacion del software

Drivers

Lo primero sin duda son los drivers, que podemos descargar desde aquí. Para instalarlo no se hace con un doble clic como cualquier otro driver, si no que hay que conectar la placa al ordenador, ir al administrador de dispositivos (Clic derecho sobre el Equipo > Administrar > Administrador de dispositivos) y veremos que hay cuatro dispositivos nuevos con una alerta indicándonos que no han podido instalarse por falta de los drivers. Para facilitárselos solo hay que hacer clic derecho sobre cada uno de ellos y pulsar sobre «Actualizar software de controlador» indicándole el directorio de los drivers que acabamos de descargar.

Entorno de Desarrollo Integrado

Ahora que ya lo reconoce el ordenador vamos a necesitar algún programa con el que poder programar y grabar el código. Del mismo modo que hacíamos con Arduino y su «entorno de desarrollo o IDE». Este programa lo podemos bajar por separado (igual que el resto que explicare a continuación) o bajarlos todos juntos desde un solo zip, mas sencillo para los que nos estamos iniciando!

Para descargar el paquete que contiene el Code Composer Studio, StellarisWare, LM Flash Programmer y alguna cosa más, debemos de ir a este enlace y bajarnos la segunda descarga nombrada como EK-LM4F120XL-CCS: StellarisWare® and Code Composer Studio for the Stellaris LM4F120 LaunchPad

Para poderlo descargar antes hay que crearse una cuenta de usuario (la misma que hizo falta para comprar la placa) y aceptar un contrato en el que indicamos que no nos encontramos en Cuba, Irán, Corea del Norte, Sudán o Siria, que no vamos a usar su software para desarrollar armas nucleares, que no lo vamos a distribuir libremente, etc…

Una vez descargado podríamos abrir el menú y instalar el CCS desde ahí pero da problemas por permisos, así que lo ejecutaremos directamente, el instalable se  encuentra en EK-LM4F120XL-CCS-733\Software\CCS.

Durante el proceso de instalación se nos pide el directorio donde se instalara el programa que por defecto es C:\ti , y recomiendo dejarlo tal cual pues generalmente los programas de este tipo suelen dar problemas si lo ponemos en algún subdirectorio cuyo nombre contenga espacios, como C:\Program Files

También nos pregunta si queremos instalar el plugin para Eclipse, pero no sé que utilidad puede tener hacerlo pues el programa que estamos instalando es ya de por si un Eclipse modificado, quizás sirva para que podamos usar nuestro Eclipse de siempre y no tener dos, el original y el modificado por TI. En cualquier caso el plugin no lo vamos a instalar.

En sucesivos pasos se nos preguntara a qué procesadores queremos darle soporte, sin duda debemos de marcar el Stellaris Cortex M MCUs, y también se nos pregunta si queremos instalar algún complemento, yo desactive la mayoría dejándolo todo así:

 Librerías

También vamos a necesitar las librerías para programar, además de los ejemplos que se incluyen con el mismo paquete. Esto lo podemos bajar por separado (el primer enlace: SW-EK-LM4F120XL – StellarisWare)  instarlo directamente desde el paquete anterior, se encuentra en el directorio EK-LM4F120XL-CCS-733\Software\StellarisWare. Como directorio de instalacion no usare el de por defecto si no que lo he colocado en el de TI quedando así: C:\ti\StellarisWare. Es importante que recordemos donde se coloca ya que no se crea ningún acceso directo en el escritorio y vamos a necesitar saber donde esta para pode importar las librerías desde el IDE de TI.

Documentación

En el paquete que nos hemos descargado tenemos muchos PDF con documentación de la placa en el directorio EK-LM4F120XL-CCS-733\Documentation

 Grabador externo

Opcionalmente también podemos instalar el LMFlashProgrammer que nos permitirá grabar los ficheros .bin directamente sin usar el IDE.

 

Primer proyecto: «Hola Mundo!»

Importar librerías al IDE

Al abrir el Code Composer Studio la primera ventana que aparece es la que nos solicita donde queremos tener el espacio de trabajo, esto claramente delata que es un Eclipse para el que este familiarizado con este software. Una vez indicado se abriera la aplicación con la ventana de bienvenida.

Antes de ponernos a crear un proyecto debemos de importar las librerías, estas se quedaran «sueltas» en el visto de proyectos, es bastante raro la verdad, pero si no lo hacemos nuestro proyecto principal nos marcara errores en todas las lineas y no compremos compilarlo.

Para importarlas vamos al menú Project > Import Existing CCS Eclipse Project. Y vamos importando una a una las librerías de estos directorios:

  • StellarisWare\driverlib
  • StellarisWare\usblib
  • StellarisWare\grlib (No esta en el directorio así que no la he incluido)
  • StellarisWare\boards\ek-lm3s9b90

Cuando acabemos de añadir todo el CCS nos quedara así:

Crear el primer proyecto

Es tan facil como pulsar en File > New > CCS Project, darle un nombre al proyecto, elegir el tipo de procesador, el modelo y la conexión:

Al pulsar en Finish se creara el proyecto con el fichero principal main.c que contiene unicamente la funcion main vacía. Ahora si le damos a grabar el código en Run > Debug, veremos como el código se graba en la placa y perdemos el programa blink RGB con el que viene la placa, ahora el led no hará nada de nada…

Para crear nuestro primer programa vamos a poner en el fichero main.c lo siguiente:

#include "inc/hw_types.h"
#include "inc/hw_memmap.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"

#define RED_LED   GPIO_PIN_1
#define BLUE_LED  GPIO_PIN_2
#define GREEN_LED GPIO_PIN_3

int main(void)
{
    // Setup the system clock to run at 50 Mhz from PLL with crystal reference
    SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);

    // Enable and configure the GPIO port for the LED operation.
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
    GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED);

    // Loop Forever
    while(true)
    {
        GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, RED_LED); // Turn on the LED
        SysCtlDelay(4000000); // Delay for a bit

        GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, GREEN_LED);
        SysCtlDelay(4000000);

        GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, BLUE_LED);
        SysCtlDelay(4000000);
    }
}

Y en teoría al darle a Run > Debug debería de grabarse y ejecutarse. Sin embargo digo en «teoría» porque la primera vez me fue perfecto pero después desinstale todo para volver a instalarlo de nuevo y documentarlo y después ya no quiso funcionar… así que tuve que recurrir a copiar un proyecto de los de ejemplo, el blinky o project0 por ejemplo, y a modificarlo.

Y con esto ya deberíamos de poder usar la placa, en próximos días, cuando tenga tiempo, mirare de hacer alguno de los primeros ejemplos que hice con Arduino pero esta vez con la LaunchPad.

La entrada Instalación LaunchPad LM4F120 en Windows aparece primero en el blog de giltesa.

]]>
https://giltesa.com/2012/11/25/instalacion-launchpad-lm4f120-en-windows/feed 3 12748
LaunchPad LM4F120 de Stellaris https://giltesa.com/2012/11/20/launchpad-lm4f120-de-stellaris https://giltesa.com/2012/11/20/launchpad-lm4f120-de-stellaris#respond Tue, 20 Nov 2012 16:48:56 +0000 https://giltesa.com/?p=12144 Con la popularización  de las placas Arduino han ido apareciendo más modelos de la competencia. Algunas enfocadas al mismo sector como son las Netduino programadas bajo .net, otras como la Raspberry pi que aparecieron como solución de bajo coste como mini ordenadores pero que poco a poco, gracias a su comunidad, permiten realizar más cosas, […]

La entrada LaunchPad LM4F120 de Stellaris aparece primero en el blog de giltesa.

]]>
Con la popularización  de las placas Arduino han ido apareciendo más modelos de la competencia. Algunas enfocadas al mismo sector como son las Netduino programadas bajo .net, otras como la Raspberry pi que aparecieron como solución de bajo coste como mini ordenadores pero que poco a poco, gracias a su comunidad, permiten realizar más cosas, y ahora, bueno hace un tiempo ya, han salido las placas de Stellaris, soluciones de muy bajo precio con con prestaciones mucho mayores que las proporcionadas por Arduino… sin embargo su uso  es mucho mas complejo pues no cuentan con la ventaja de las Arduino al contar con un IDE que te permite abstraerte completamente del hardware permitiendo preocuparte unicamente de la programación.

En cualquier caso por cinco dolares que cuesta (costaba) la placa con correo incluido en su versión de evaluación tampoco había que pensárselo mucho. Por ahora solo la he encendido para ver el programa Blink RGB que tiene cargado de serie. Cuando le dedicare mas entradas.

Especificaciones técnicas

  • EK-LM4F120XL
    • Stellaris LM4F120H5QR ARM® Cortex™-M4 with floating point
      • 80Mhz maximum operating speed
      • 256kB Flash memory
      • Built-in EEPROM
      • 32kB SRAM
      • 8 UART’s
      • 4 I2C
      • 4 SPI
      • 27 Timers
    • On-board USB ICDI (In-Circuit Debug Interface)
    • Micro B USB debug connection
    • Micro B USB device connection for user applications
    • Device/Debug power select switch
    • BoosterPack XL stackable headers
    Compatible with many existing BoosterPacks
    • 2 user push-buttons
    • Reset button
    • 1 tri-color RGB LED
    • Current measurement jumper
    • 16 Mhz main crystal
    • 32.768kHz hibernate and RTC crystal
  • USB A to micro-B cable

La entrada LaunchPad LM4F120 de Stellaris aparece primero en el blog de giltesa.

]]>
https://giltesa.com/2012/11/20/launchpad-lm4f120-de-stellaris/feed 0 12144