Publicado el 17 de Febrero del 2019
1.040 visualizaciones desde el 17 de Febrero del 2019
1,4 MB
22 paginas
Creado hace 11a (26/05/2013)
¿Y ahora qué?
armcortexm.blogs.upv.es
2013/05/26
Contenido
● Al principio ...
● Libros (mal está la cosa)
● Quiero hacer cosas rápido (y no aprender ARM)
● Compiladores C/C++
● Entornos de desarrollo integrados
● RTOS y microkernels
– Ejemplo: FreeRTOS
● Bibliotecas
– Ejemplo: servidor web con lwIP
● Micros llamativos
● Y, al final
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
2
Al principio
● Elige (y no cambies)
● Un microcontrolador ampliamente aceptado y con comunidad
● Un entorno de desarrollo sencillo
● Colabora y sé abierto. Llegarás mucho más lejos
● ¿Recuerdas nuestras recomendaciones?
St stm32 discovery
NXP lpcxpresso
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
3
Libros (mal está la cosa)
● La biblia oficial. Para entender la arquitectura, CM ,...
● Si lo que quieres es trastear ¡no lo mires aún!
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
4
Libros (mal está la cosa)
● Parece práctico, pero usa
TI Stellaris, que no es
CMSIS
● Recordadnos que os
contemos una cosa muy
importante sobre TI
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
5
Libros (mal está la cosa)
● Sobre el STM32, os recomendamos los que enviamos a la
lista
● Muy buenos para empezar
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
6
Quiero hacer cosas rápido (y no aprender ARM)
● mbed: sistemas basados en NXL LPC 1769
mbed
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
7
Quiero hacer cosas rápido (y no aprender ARM)
● Arduino DUE
● Atmel SAM3 (Cortex-M3)
● Aún muy inmaduro ya no
● Obligados por la competencia y las limitaciones del AVR8
● Si tuviese que vivir de esto, haría “shields” para la DUE
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
8
Compiladores C/C++
● Básicamente, hay 3 compiladores C/C++
● MDK-ARM (Keil) de la empresa ARM, que es la referencia
●
IAR Embedded Workbench for ARM
● Derivados GNU GCC: ARM GCC, Code Sourcery GCC, ... (y
suportados oficialmente por ARM)
● ARM se dió cuenta hace unos años de la ventaja de ser más
abierto
● https://launchpad.net/gcc-arm-embedded
● Muchos entornos de desarrollo derivan de GCC
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
9
Entornos de desarrollo integrados
● Montones. Va una selección comercial
● Keil MDK-ARM: Oficial, IDE un poco arcaico. Dicen que el
siguiente va a ser la pera. L32K
IAR EWB: Plancha huevos y fríe corbatas. Multiarquitectura. L32K
●
● Raissonance RIDE: GCC + Scintilla (codeblocks y notepad++).
● Atollic Truestudio. GCC + Eclipse: La bestia
● Code-red LPCxpresso. GCC + Eclipse. Bombazo -> lo acaba de
comprar NXP. (Probe Silabs)
● Y libres
● Coocox IDE. GCC (que instalas tu aparte)
●
... o te puedes elegir tu IDE y combinar con tu GCC
● Si haces cosas para Android, elige uno basado en Eclipse.
Bueno, hace unos días Google dice que abandona Eclipse
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
10
RTOS y microkernels
● Un microkernel facilitará enormemente la coordinación de
tareas
● Buffering, semáforos, zonas críticas, multitarea, productor-
consumidor, …
● Nuestra recomendación
● Libre: Freertos
● Comercial: Micrium ucos/II
● Y, quizá, CMSIS 3 RTOS (ya disponible en la página de Keil)
● También muy aceptados: ChibiOS y CoOS
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
11
RTOS y microkernels: Ejemplo con FreeRTOS
● Fragmento del ejemplo que tienes en nuestra página
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
12
RTOS y microkernels: Ejemplo con FreeRTOS
● Ahora tu
● Crear 3 nuevas tareas de manera que LED2 parpadee a 300 ms,
LED 3 a 500 ms, y LED4 a 700 ms
● No te asustes, mira main.c, analízalo un poco y manos a la obra
● Mola, ¡eh!
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
13
Bibliotecas: TCP/IP, UDP/IP, HTTP ...
● Recomendamos para empezar las de Adam Dunkels (Internet
of things)
● uIP: Muy pequeña. Perfecta para micros modestos.
lwIP: Más requisitos de memoria, pero más potente.
●
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
14
Bibliotecas: Ejemplo servidor web con lwIP
● Ahora sí que vas a alucinar de verdad
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
15
Bibliotecas: ...
● Demasiadas
● zigbee
● bluetooth
● pantallas gráficas, ....
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
16
Micros llamativos
● Microsemi/Actel Smartfusion cSoc
● Mezcla de Cortex-M3 y FPGA
● Hace un par de meses ha salido Smartfusion2 (más seguridad)
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
17
Micros llamativos
● Energy micro: Ultrabajo consumo + radio. Cortex-M3
● Están trabajando en sacar M0+ y M4F (hace un par de días)
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
18
Micros llamativos
● Cypress PSOC 5 (y PSOC 3)
●
Impresionante flexibilidad
● Hace un mes: PSOC 4
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
19
Micros llamativos
● Triad semiconductor
● Via Configurable Mixed Signal Processors
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
20
Micros llamativos
● NXP LPC800. Cortex-M0+
● Pines razonables para mis montajes
● Perfecto para reemplazar los montajes sencillos tipo PIC
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
21
Y, al final
● Puedes usar el entorno “custom” del fabricante que te interese
● Aprovéchate de las ventajas de un RTOS
●
● Y sigue colaborando
● https://my.st.com/public/STe2ecommunities/mcu/default.aspx
● Foro que montaron los alumnos:
http://armcortexm.micsoftware.es/
● Lista de correo:
http://armcortexm.blogs.upv.es/2012/06/12/lista-de-correo-electronico-para-los-interesados-en-los-arm-cortex-m/
● Wiki: estamos en ello lista para el curso avanzado
Presentación curso ARM Cortex-M
armcortexm.blogs.upv.es
22
Comentarios de: ¿Y ahora qué? - Conceptos básicos sobre software para microcontroladores ARM Cortex-M (0)
No hay comentarios