El otro día navegando por la red encontré
un tutorial de como programar un ARM mediante el entorno de
arduino. http://grauonline.de/wordpress/?page_id=1004
El procesador ARM está presente en muchos dispositivos, casi todos
lo móviles android, los router , y otros muchos dispositivos.
El precio del módulo con el STM32F103C8T6 cuesta alrededor de 3€ lo
cual es un precio muy competitivo.
El STM32F103C8T6 es un procesador con la siguientes
características: ARM32 Cortex-M3, 72 Mhz, 64K flash, 20K SRAM, 33
I/O pins, 3.3V . El modulo además lleva un conector usb, un cristal
extra de 32762Hz, y un par de puentes para programar el chip.
Los pasos seguidos para hacer funcionar el módulo STM en arduino son
los siguientes:
-Tener instalado el entorno de arduino, en mi caso arduino-1.6.9 .
-Bajar de la página
https://github.com/rogerclarkmelbourne/Arduino_STM32 el fichero: https://github.com/rogerclarkmelbourne/Arduino_STM32/archive/master.zip -Descomprimirlo dentro del directorio del arduino/hardware/
creando un directorio llamado Arduino_STM32-master .
-Abrimos el arduino y cambiamos en el menú de herramientas lo
siguiente:
Compilamos y si todo ha ido bien nos devolverá el siguiente mensaje: El Sketch usa 7.116 bytes (10%) del espacio de almacenamiento de
programa. El máximo es 65.536 bytes. Variables globales usan 1.984 bytes de memoria dinamica.
El módulo dispone al igual que en el arduino, de un led conectado al
pin C13 para probar sin tener que colocar ningún componente mas.
Para utilizar este led cambiar la línea: #define pinLED1 PA0
por #define pinLED PC13
Ahora viene el paso de programar el módulo.
Para este paso necesitamos un conversor de USB a SERIE. Este
conversor suele andar por los 3€ o menos, yo lo tenía de otros
proyectos. Además el módulo proporciona los 3.3V para alimentar el
chip.
Hemos de recordar que el Chip STM32F103C8T6 funciona a 3.3V , el
módulo dispone de un reductor de tensión de 5V a 3.3V , con lo
cual podemos alimentarlo a 5V en el pin adecuado.
Según el fabricante la mayoría de los pin soportan de entrada de 5V. (Up to 80 fast I/O ports – 26/37/51/80 I/Os,
all mappable on 16 external interrupt vectors and almost all 5
V-tolerant
Conectamos el conversor USB a SERIE según las imagenes
siguiente:
Una vez hechas las conexiones nos toca programar el chip de la
siguiente manera:
-Poner el puente BOOT0 a 1.
-Pulsar el botón de RESET .
-En el IDE de arduino pulsar el botón de Subir.
En pocos segundos se pondrá a parpadear el led.
Si queremos dejar el chip programado y no programarlo mas, movemos
el puente BOOT0 a 0.
Próximamente haré otras prácticas para probar este módulo que
promete mucho.