[Aporte] Tutorial ARM Cortex-M3 - LPC1768

Hola cosmefulanito04 y todos del foro mi nombre es Eduardo y disculpen si saco un poco de tema el hilo, estoy leyendo este tutorial ya que anteriormente incursionaba en Pics con lenguaje C y el compilador de CCS y quiero introducirme al mundo de los ARM por ello me compre una placa que traje de china la LANDTIGER que viene con un LPC1768 que es muy similar a la de las fotos con mas accesorios y por eso me pareció perfecto comenzar con este tutorial.
Por otro lado comento que estoy trabajando con el Keil 5 y al colocar el segundo ejemplo de tu tutorial para programar los pll me tira errores por todos lados, en el configuración_pll , periféricos , interrupciones y en delay , no se si sera un problema de configuración del keil o que otra cosa sera, así que si tienen una idea como solucionarlo para seguir adelante estaré muy agradecido.
Por otro lado agradecería que me sugieran algo para leer al respecto ya que estoy medio complicado con este tema, veo hay muchas cosas dando vuelta y no se por donde empezar, vi un poco de todo como uo/cos-iii, el mbed y el cmsis que creo que este ultimo es el mas viable así que agradecería cualquier ayuda.
Gracias.

Eduardo
Es probable que te esté faltando las definiciones de los registros de la familia LPC, ya que usas Keil 5, fijate si del proyecto que subí, el archivo que hace referencia a la familia lo podés encontrar en esa versión del Keil.

Por cierto, si podés, subí el informe de error que te tira el compilador.
 
Genial aporte muchas gracias. Respecto a las imágenes que subes con los esquemáticos y demás no me permite verlas, puede ser porque el post esté obsoleto? Hay algún en ese caso algún post más nuevo sobre el mismo tema?

Un saludo
 
Lamentablemente cuando creé el thread, no tuve mejor idea que subir las fotos a un servidor externo que cambió sus políticas de uso y esas imágenes se perdieron. :facepalm:
 
Ok no pasa nada! En serio está genial este post. Adquirí la minidk2 para un proyecto de la universidad y me gustaría profundizar más en esto de la programación de microcontroladores, sobre todo de la minidk2 con el keil que es lo que yo tengo. Sabéis de más post o lugares donde pueda ver proyectos o cualquier tipo de información relacionada con la minidk2 y como programarla etc? Es que a parte de este hilo no he encontrado nada de eso en concreto, también es que soy un poco nuevo en esto de los micros y puede que no esté sabiendo buscar adecuadamente la información

Muchas gracias de antemano y un saludo :)
 
Impresionante tu tutorial, en especial porque se dedica a cosas que usualmente dejo desatendidas. No es crítica, sino pregunta. ARM exige de todos aquellos que toman una licencia para el desarollo de una componente del tipo ARM Cortex Mx, que estas empresas deben obligatoriamente poner a dispocición del usuario una API para cada función periferica de su componente, donde la APi es comun para todas las componentes de todos los que licencian de ARM un Cortex Mx. Esto tiene la gran ventaja para el que usa un ARM Cortex Mx, que si programa usa estos API definidos por ARM, el esfuerzo para portar un programa de un controlador a otro controlador, sea del mismo proveedor, en nuestro caso los ARM Cortex M de NXP, o sea de otro proveedor, siempre que tenga las periferias que el programa requiere, será sencillamente portable.

Claro, el camino que tu escoges, por un lado muestra que vienes de los ARM no de los tipo Cortex Mx, pero por otro lado permite aprender en detalle como funcionan y se usan ciertas periferias.

Creo que sería util el incluir la referencia a este API en tu tutorial y de aprender a usarlo. Aprendiendo desde el principio a usar esta API educa a escribir programas que serán facilmente portables.

Repito, no es crítica y mas que se entiende basando en tus experiencias previas con los ARM, es solo una sugerencia. Yo estoy aprendiendo para portar un programa para el control de motor de paso de un ARM Cortex M0 de Samsung al LPC1769.

También quiero indicar que NXP, por ejemplo ofrece los LPCXpresso que cuestan algo menos que el kit que presentan e incluyen una interfaz JTAG, adicional a la interfaz USB, lo que es de gran utilidad para observar un programa como es ejecutado en el sistema destino. Permite prácticamente todas las funciones de Debug que en otras arquitecturas requieren usar un simulador.

Estas placas LPCXpresso existen para todas las familias de Cortex M de NXP y siempre usan el mas potente y grande de cada familia. Esas placas son tan baratas y desconectando la interfaz JTAG tan pequeñas, que para mi no es posible ni justificable hacer placas propias para estos controladores, sino solo tarjetas madre a las que monto la placa LPCXpresso en un zócalo, como lo haría con una componente en empaque DIP! No trabajo para NXP, ni tengo algún beneficio de fomentar estas placas, fuera de compartir mis experiencias con otros interesados.
Hace dos años vengo usando las librerías LPCOpen que recomienda NXP y la verdad.... están buenas, te resuelven un montón de cosas, por ej. tener el lwip preparado y funcional en un proyecto ejemplo, el FreeRtos en conjunto con el lwip, muchos periféricos y entre ellos el USB. Realmente, reduce notablemente los tiempos de desarrollo.

Cuando tenga tiempo, subo algo sobre el LPCOpen.
 

Arriba