Autor Tema: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M  (Leído 34596 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3574
    • Juntos es mejor
Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« en: 11 de Noviembre de 2014, 13:23:11 »
Es este espacio, estarán las versiones mas recientes de todos los archivos tanto hardware como software que se van generando en este libro diario.

Diseño de Hardware


- Archivos de Diseño. rev 1.1
- Archivos de Diseño. rev 1.2.
Corregido error en conexión de puerto SWD.
Agregados marcadores de revisión en cobre por los dos lados TOP y BOT.


Ejemplos Software
« Última modificación: 14 de Noviembre de 2014, 13:53:01 por LABmouse »

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3574
    • Juntos es mejor
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #1 en: 11 de Noviembre de 2014, 13:23:40 »
En lo que a microcontroladores se refiere, es indiscutible que estamos viviendo la era dorada de los dispositivos de 32 bits basados en la arquitectura ARM.  Si bien es bueno comentar que ARM no es una empresa dedicada a la fabricación de dispositivos como tal, si se dedica al desarrollo tecnológico de dicha arquitectura, entre otros productos desarrollados por la misma.

Su modelo de negocio involucra el diseño y licenciamiento de tecnologías de Propiedad Intelectual (IP) para la fabricación y venta de microprocesadores basados en la arquitectura ARM (Advanced RISC Machine). Incluyendo servicios de desarrollo de software y herramientas de desarrollo.

Para que una compañía (llámese Freescale, ST, NXP, etc) pueda fabricar sus propios procesadores basados en tecnologías ARM; debe pagar por el licenciamiento de los diseños IP y pagar regalías por cada uno de los chips que sean producidos. Adicional, ARM suministra un conjunto de herramientas hardware y software para el desarrollo de aplicaciones con esta arquitectura.

Según fuente oficiales, la arquitectura ARM está presente en:


95% de los smartphones.
80% cámaras digitales
35% en todos los dispositivos electrónicos que hay en el mercado actual



Otra de las ventajas que se puede evidenciar al usar los ARM, es su enorme ecosistema de herramientas de desarrollo a nivel hardware y software y en este último debo resaltar que TIENE COMPILADORES LIBRES SIN LIMITES DE CÓDIGO. Esto independiente de la empresa que produce el chip y que por ser arquitectura ARM, solo es tarea de cada fabricante generar un Puerto del compilador basado en GCC para sus dispositivos.

También deben tener en cuenta que aunque muchos fabriquen dispositivos de arquitectura ARM, no significa que todos son iguales. Cada marca toma la base de ARM y sobre esto construye basado en sus avances tecnológicos para agregar nuevas características que los hagan únicos. Por ejemplo:


ST tiene un enorme potencial en desarrollo de sensores basados en MEMS, llámese acelerometros, gyroscopos, etc. y por ello tienen un ARM que es combinado en el mismo chip con todo un sistema inercial IMU de hasta 9 ejes.  

Texas es muy potente en sistemas de comunicaciones y por ello tienen un ARM con todo un módulo WiFi incorporado.

Nordic es líder en comunicación Bluetooth 4.0 y por eso tienen un ARM con Bluetooth en el mismo CHIP.

Freescale tiene un enorme potencial en desarrollo de bajo consumo y Analog Front End y por ellos tienen ARM con características únicas en el mercado. Inclusive tienen el ARM más pequeño del mundo.

Puedo nombrar muchas marcas y eso es muy muy interesante con estos ARM.


Por lo anterior, no está de más darle un vistazo a esto y conocer un poco más de los ARM y como mínimo haber realizado algunos ejercicios con los mismos. Esto nos dará argumentos para decidirnos por uno de ellos en algún momento de nuestros ejercicios como profesionales.



Es mi interés compartir un poco de información que les permita a muchos de ustedes dar sus primeros pasos con estos dispositivos.

Ahora bien, ¿porque Freescale?.

Porque se debe decir por una para trabajar sin importar cuál. Pero debo decir que llevo años con la marca y debo reconocer que siempre está a la vanguardia de los avances tecnológicos, lo cual me veo muy pocas veces obligado a cambiar de marca.  Sumado a que ya su ecosistemas de herramientas para los ARM es muy interesante.

La oferta de Freescale para los ARM CORTEX-M esta resumida en la siguiente imagen:





Herramientas Software

Cuando se habla de ARM, se deben dar por hecho que hay muchas alternativas software para su desarrollo. Muchas pagas con grandes herramientas profesionales que facilitan la depuración y el desarrollo de un proyecto. Pero lo bueno es que también hay muchas gratuitas y también muy poderosas, con posibilidades multiplataforma, basadas en entornos ya familiares como Eclipse o NetBeans.  En fin… Buscas y encuentras.


Freescale no es ajeno a esto y por ello facilita herramientas libres y sin límites, combinadas con su herramientas exitosa y algunas veces envidiada por otras marca (Esto lo digo porque otras marcas están trabajando en ofrecer algo igual), denominada Processor Expert. El cual es un asistente virtual para la configuración y generación de código, incluyendo la creación de proyectos.

A esta herramienta se le conoce como Freescale Kinetis Design Studio. Está disponible para su descarga desde el sitio oficial de Freescale.

Freescale KDS es solo para los ARM KINETIS de Freescale. Si quieres un paquete que pueda abarcar todas las familias de microcontroladores fabricados por Freescale, sigue estando el CodeWarrior, que ademas incluye compilador para los Kinetis.





Instalación de Freescale KDS.



Freescale Kinetis Design Studio (KDS) es una nueva propuesta de la empresa en cuanto a software de desarrollo para la linea de microcontroldores ARM Kinetis se refiere. Aunque su plataforma de desarrollo principal sigue siendo CodeWarrior, KDS ofrece toda la potencia y flexibilidad del IDE Eclipse, combinado con la potencia del compilador GNU GCC con soporte para C y C++; sin limites de código y gratuito. Todo sin dejar atrás el exitoso asistente de programación Processsor Expert.

Descarga KDS

Desde el sitio oficial de FREESCALE, se puede encontrar el listado de instaladores disponibles.

Hay versión Windows y Linux.

En Windows, al finalizar la descarga, obtendremos el archivo "KDS-v1.1.0.exe". Ejecutar y seguir los pasos.



Esta historia continuara...
« Última modificación: 14 de Noviembre de 2014, 12:43:02 por LABmouse »

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #2 en: 11 de Noviembre de 2014, 13:47:51 »
Hola LABMouse, qué bueno que estás introduciendo esta familia en el foro. Tomé un curso de 1 día con estos micros y quedé encantado por la cantidad de librerías que traen, el Processor Expert, los periféricos remapeables entre ellos (no solo a los pines de salida), las velocidades de ejecución, las familias como la M que creo que era la robusta a 5V, la capacidad de 32 bits (nada de paginaciones) y demás.

Andaré leýendote de cerca jeje. Un saludo  :mrgreen:

PD A ver si luego me compro una FREEBOARD de las que usamos en el curso. No quisieron regalarnos unas  :x (por cuestiones de Conflicto de Intereses :P )
« Última modificación: 11 de Noviembre de 2014, 13:54:15 por migsantiago »

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3574
    • Juntos es mejor
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #3 en: 11 de Noviembre de 2014, 13:53:51 »
Amigo Migsantiago, que bueno será tenerte por estos lados acompañándonos con tus grandes aportes. No la compres.. espera unos días, que también busco que fabriquemos una en este espacio.

Estoy aprovechando que casi estoy de vacaciones y quiero compartir con todos ustedes como lo hacia en los mejores tiempos. Es poco comparado con la calidad de lo que puedes encontrar en este gran foro, pero es un granito de arena que ayuda a construir mas comunidad.

Saludos y espero que sea del agrado para muchos.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #4 en: 11 de Noviembre de 2014, 13:56:52 »
Ohh... será interesante tenerla. Fíjate que lo que no supimos nosotros fue cómo programarla con JTAG, seguro es algo muy sencillo. Es que las tarjetas traen un K24 como depurador y programador.

¿Asumo que tendría que comprar un programador JTAG?

Ahh y tengo tutoriales de casi todo, pero no me confirmaron los de Freescale si podía compartirlos. Volveré a preguntar. Seguro ayudarán.

No creo tener muchos aportes, jugamos con LEDs la mayor parte del tiempo jejej.

Saludos!

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7570
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #5 en: 11 de Noviembre de 2014, 13:58:40 »
Yo lo unico que lei de Freescale es sobre el post de Merlinz, y sobre ARM migre hace poco a TI, siempre habia usado PIC, y realmente me enamore :), De probar me gustaria probar todos aunque por ahi ofrecen herramientas muy caras a comparacion de otras obviamente. Me sucedio cuando elegi entre el kit de PIC32 ( con ethernet ) y este de TI. Quisiera saber si con el programador/debugger que posee la placa que poseo pudiera grabar cualquier micro :3, eso me ahorraria mucho :)

Y tambien estoy con la duda del JTAG :/

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3574
    • Juntos es mejor
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #6 en: 11 de Noviembre de 2014, 14:16:37 »
Hola.

Sobre el JTAG no hay nada oculto. Desconozco porque la respuesta del personal de Freescale en tu país. Esa información es libre y la puedes encontrar bajo el nombre OPENSDA.

Con OPENSDA Freescale hace uso de una versión reducida del JTAG para ARM que se llama SWD. la cual con solo dos pines tiene uno todo para programar y depurar In-Circuit.  Aca armaremos nuestro propio OPENSDA, el cual no supera los 20 dolares. En un principio, vamos a trabajar con los KINETIS que no necesitan programador, ya que vienen listos con Bootloader desde fabrica.


Si compras una FREEDOM, que ya tienen un OPENSDA, puedes programar un microcontrolador EXTERNO..

« Última modificación: 11 de Noviembre de 2014, 14:19:20 por LABmouse »

Desconectado elgarbe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2177
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #7 en: 11 de Noviembre de 2014, 14:21:49 »
Pregunta, no poseen Cortex M3??? solo M0+ y m4????

Saludos!
-
Leonardo Garberoglio

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7570
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #8 en: 11 de Noviembre de 2014, 14:22:04 »
ya que vienen listos con Bootloader desde fabrica.

Eso note tambien en el micro de TI, tengo entendido que en una ROM ya poseen bootloader para ethernet/SPI/I2C no se si me falta alguno. + algunas librerias. Interesante no tener q renegar con un programador que sale fortuna.

Pregunta, no poseen Cortex M3??? solo M0+ y m4????

Saludos!

Aunque la diferencia es la FPU no ?
« Última modificación: 11 de Noviembre de 2014, 14:25:50 por KILLERJC »

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3574
    • Juntos es mejor
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #9 en: 11 de Noviembre de 2014, 14:33:45 »
Hola elgarbe.


los M0+ son la evolucion de los M0, ya que el + le agrega una mejora en el performance y bajo consumo por el mismo costo, por eso dejaron de lado los M0 sin el plus..

Los M4 son la evolución de los M3, ya que es agregada características DSP, FPU y mas mejoras de performance por el mismo costo. Paso igual que con el anterior..



Freescale esta a pocas semanas de lanzar el Cortex M7 que promete un performance mucho mayor, bajo consumo y sobretodo conectividad. Por aquello del IOT del que vamos a hablar bastante en este hilo.


Creo importante decir que si quieres superar esta brecha de los MCU y pasar a un MPU, Freescale tiene toda una grama de micoprocesadores basados en arquitecturas ARM mas avanzadas que pueden correr LINUX, ANDROID, de uno o varios núcleos.


Desconectado elgarbe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2177
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #10 en: 11 de Noviembre de 2014, 14:41:53 »
Los bootloader DFU (direct firmware update) hoy por hoy lo tienen la mayoria de los micros nuevos, por lo menos en NXP y en TI.

Los M3 son la gama "media" de los cortex M. Los M0 llegan a 50MHz (80 en los M0+ creo) y soportan un set de instrucciones. Los M4 son la gama "alta" si se quiere de los cortex M. Vienen con FPU y sin ella. Van de los 150 a 200MHz (aprox). Los M3 soportan dos set de instrucciones, van de 100 a 150MHz mas  o menos. Yo ultimamente he estado seleccionando micros ARM para mis nuevos proyectos y en general con los M0+ o los M3 me alcanza y sobra. Ando por el rumbo de NXP y TI y en principio me parece que hay que elegir una marca y tratar de seguir tras ella, ya que el cambio de marca no es muy fácil de realizar. Otra opcion, que es la que intento tomar es elegir 2 o 3 micros, aunque sean de distintas marcas y con ellos tratar de cerrar todos los proyectos ya que cambiar de micro dentro de la misma marca tampoco es tarea simple.

Lo que si destaco es que trabajar con estos micros es lo mejor que nos puede pasar, por suerte nunca usé pic24, pic33 ni nada de eso, del 4550 salte a los ARM y creo que me ahorré años con ese salto. Las erramientas de debug (lpcxpresso, por ejemplo) es fabulosa. Hacer una placa propia con estos micros al principio parece intimidante, pero no lo és, requieren muy pocas cosas alrededor para que funcionen y con encapsulado LQFP de 48 pines casi cualquiera los puede usar.

En fin, muy buena la iniciativa y a ver que tienen estos freescale de bueno!!!

Sds.
-
Leonardo Garberoglio

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #11 en: 11 de Noviembre de 2014, 14:49:42 »
Sobre el JTAG no hay nada oculto. Desconozco porque la respuesta del personal de Freescale en tu país. Esa información es libre y la puedes encontrar bajo el nombre OPENSDA.

No, no me han respondido, no me dijeron si sí o si no.  :police:

Mandé otro mail volviendo a preguntar.  :mrgreen:

Lo ideal sería armar un programador JTAG universal... ¿es posible? Hace un par de años usaba un JTAG para FPGAs, pero no sé si entre JTAGs sean compatibles.

Desconectado elgarbe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2177
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #12 en: 11 de Noviembre de 2014, 14:52:26 »
Los M4 son la evolución de los M3, ya que es agregada características DSP, FPU y mas mejoras de performance por el mismo costo. Paso igual que con el anterior..
mmmm... seguro? Entiendo que no es así. M3 por un lado, M4 por el otro, micros distintos...


Freescale esta a pocas semanas de lanzar el Cortex M7 que promete un performance mucho mayor, bajo consumo y sobretodo conectividad. Por aquello del IOT del que vamos a hablar bastante en este hilo.

No quiero quedar como el que lleva la contra, pero siempre supuse que freescale estaba lejos de NXP, ST y TI, por eso tiro abajo a freescale, pero mi intencion es aprender y si freescale esta a la altura del resto bien venido sea y lo tendré en cuenta!
De hecho, ni NXP ni TI poseen M7, aunque desconozco cuán lejos están.
En este punto ST tiene la posta:
http://www.st.com/web/en/catalog/mmc/FM141/SC1169

Saludos!
-
Leonardo Garberoglio

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3574
    • Juntos es mejor
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #13 en: 11 de Noviembre de 2014, 15:04:11 »
Que lindo es ver esta participación.. Así crecemos en conocimientos todos.


Lo ideal sería armar un programador JTAG universal... ¿es posible? Hace un par de años usaba un JTAG para FPGAs, pero no sé si entre JTAGs sean compatibles.

Armar un JTAG universal si es algo complicado respecto a libertad de la información.  Poco o nada se sobre ello y seria interesante lograr algo como lo dices. lo que yo decía del OPENSDA aplica solo para Freescale.



mmmm... seguro? Entiendo que no es así. M3 por un lado, M4 por el otro, micros distintos...

No quiero quedar como el que lleva la contra, pero siempre supuse que freescale estaba lejos de NXP, ST y TI, por eso tiro abajo a freescale, pero mi intención es aprender y si freescale esta a la altura del resto bien venido sea y lo tendré en cuenta!
De hecho, ni NXP ni TI poseen M7, aunque desconozco cuán lejos están.

Definitivamente M3 y M4 son cosas aparte, inclusive en la explicación oficial de familias ARM esta bien claro que M3 y M4 apuntan a grupos de mercado diferentes.  Ahora bien que el M4 es una evolucion del M3 si es cierto. Se llevaron varios meses para su lanzamiento.

Pero lo que yo quería decir es que para un fabricante, tener un M3, pagar regalías y diseños por el, teniendo un M4 que por costos de producción y consumo de energía están a la par, con un mayor rendimiento del M4, considero una decisión valida decidir sacar solo los M4.  Es un punto de vista mas de mercadeo que otra cosa.

También para Freescale un M3 es comparable con sus 32 bits Coldfire (Arquitectura propia de Freescale)... Hasta un documento así lo explica.. Entonces si consideraba tener una nueva familia 32 bits basados en ARM, debería ofrecer algo diferente y por ello sacar solo M0+ y M4.
« Última modificación: 11 de Noviembre de 2014, 15:06:33 por LABmouse »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7570
Re: Nuestro Libro diario. Kinetis 32-bit MCUs basados en ARM® Cortex®-M
« Respuesta #14 en: 11 de Noviembre de 2014, 15:11:05 »
En este punto ST tiene la posta:
http://www.st.com/web/en/catalog/mmc/FM141/SC1169

Ver la cantidad de cosas que posee realmente no se me ocurre una aplicacion que podria usar eso. Se me escapa de logica y no creo que apunte a algo masomenos de complejidad media ni alta, sino a una MUY alta :P