¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M...
Transcript of ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M...
![Page 2: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/2.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 2
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
![Page 3: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/3.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 3
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?
NXP lpcxpressoSt stm32 discovery
![Page 4: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/4.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 4
Libros (mal está la cosa)
● La biblia oficial. Para entender la arquitectura, CM ,...● Si lo que quieres es trastear ¡no lo mires aún!
![Page 5: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/5.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 5
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
![Page 6: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/6.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 6
Libros (mal está la cosa)
● Sobre el STM32, os recomendamos los que enviamos a la lista
● Muy buenos para empezar
![Page 7: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/7.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 7
Quiero hacer cosas rápido (y no aprender ARM)
● mbed: sistemas basados en NXL LPC 1769
mbed
![Page 8: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/8.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 8
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
![Page 9: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/9.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 9
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
![Page 10: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/10.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 10
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
![Page 11: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/11.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 11
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
![Page 12: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/12.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 12
RTOS y microkernels: Ejemplo con FreeRTOS
● Fragmento del ejemplo que tienes en nuestra página
![Page 13: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/13.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 13
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!
![Page 14: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/14.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 14
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.
![Page 15: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/15.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 15
Bibliotecas: Ejemplo servidor web con lwIP
● Ahora sí que vas a alucinar de verdad
![Page 16: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/16.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 16
Bibliotecas: ...
● Demasiadas● zigbee
● bluetooth
● pantallas gráficas, ....
![Page 17: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/17.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 17
Micros llamativos
● Microsemi/Actel Smartfusion cSoc● Mezcla de Cortex-M3 y FPGA
● Hace un par de meses ha salido Smartfusion2 (más seguridad)
![Page 18: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/18.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 18
Micros llamativos
● Energy micro: Ultrabajo consumo + radio. Cortex-M3● Están trabajando en sacar M0+ y M4F (hace un par de días)
![Page 19: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/19.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 19
Micros llamativos
● Cypress PSOC 5 (y PSOC 3)● Impresionante flexibilidad
● Hace un mes: PSOC 4
![Page 20: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/20.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 20
Micros llamativos
● Triad semiconductor● Via Configurable Mixed Signal Processors
![Page 21: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/21.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 21
Micros llamativos
● NXP LPC800. Cortex-M0+● Pines razonables para mis montajes
● Perfecto para reemplazar los montajes sencillos tipo PIC
![Page 22: ¿Y ahora qué? - Dpto. de Informática de Sistemas y ...Presentación curso ARM Cortex-M armcortexm.blogs.upv.es 9 Compiladores C/C++ Básicamente, hay 3 compiladores C/C++ MDK-ARM](https://reader034.fdocument.pub/reader034/viewer/2022052409/6098055565649e397f47ba79/html5/thumbnails/22.jpg)
Presentación curso ARM Cortex-Marmcortexm.blogs.upv.es 22
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