que - ¿Cómo empezar con los procesadores ARM?
procesadores arm para pc (8)
¿Es recomendable comenzar directamente con la hoja de datos y el manual del usuario de un procesador ARM para un novato o primero tener una idea acerca del mundo ARM y luego seguir adelante?
Comenzaría con una placa de desarrollo barata y un software de ejemplo, e iría desde allí, buscando lo que necesita saber a medida que avanza.
Un buen cebador para el STM32 basado en ARM-core es el Primer STM32 apropiadamente llamado.
No comenzaría con el manual técnico, excepto para una búsqueda muy rápida. El de la STM32 tiene más de 600 páginas, y el manual que acompaña a Cortex-M3 contiene otras 400 páginas. No es exactamente una lectura de luz!
Cuando empiezo con una nueva tecnología (para mí), comienzo localizando tantas hojas de datos y notas de aplicación como pueda y simplemente leyendo todo directamente. El primer objetivo es ponerse al día con la jerga (y los nombres de los jugadores) exclusiva de esa tecnología.
Con ARM, comenzaría con www.arm.com y su documentación en el Centro de información de ARM .
Actualización: También me sumergiría en una o más líneas de productos del fabricante, incluida la lectura de al menos un manual para programadores de la familia. Si los planes de su proyecto son lo suficientemente firmes como para saber qué CPU específica de ARM se va a utilizar, entonces puede centrarse en ese modelo específico y sus parientes cercanos. Si desea familiarizarse con el ARM para poder elegir la CPU que se usará en el proyecto, entonces el muestreo de una amplia gama de familias es casi seguramente el mejor plan.
Hay una gran lista de licenciados de tecnología ARM . De estos, algunos fabricantes tienen productos (basados en el sabor CORTEX-M3 del núcleo ARM) que destacan por mi humilde opinión para aplicaciones de sistemas embebidos en profundidad.
Mi empresa tiene proyectos en curso basados en la familia STM32 de ST Microelectronics . Esta familia tiene una gran cantidad de periféricos en el chip con una funcionalidad que será familiar para cualquiera que venga del mundo 8051 o del mundo PIC, y tiene suficiente FLASH y SRAM en el chip para hacer que las memorias externas sean opcionales.
He escuchado muchas cosas positivas sobre la familia Stellaris de Luminary Micro . También parece un buen ajuste para una serie de necesidades de plataformas integradas.
Dados los puntos de precios actuales de los tableros de evaluación de nivel de entrada, recomendaría encarecidamente elegir uno o más para chips similares a su nicho de aplicación objetivo previsto. Para el STM32 se puede tener una placa con un LCD pequeño, un acelerómetro, un par de LEDs, un botón o dos, acceso a los pines GPIO no comprometidos, una interfaz USB JTAG incorporada y una cadena completa de herramientas de desarrollo cruzado basada en GCC para el STM32 ( por menos de US $ 40 en 2009, pero ese modelo se suspende) en el estadio de béisbol de US $ 100, por ejemplo.
Se pueden encontrar paquetes similares para muchos de los otros productos basados en ARM Core.
Otra forma en la que se encuentra ARM es como el núcleo de la CPU en un sistema en un chip. Bastantes proveedores de SOC están licenciando una CPU ARM para poner su silicona junto con su hardware dedicado. He visto chips de compresión de video, chips de red, firewire para adaptadores ATA y dispositivos USB construidos de esta manera, y eso es solo una muestra de artículos publicados y comunicados de prensa.
Actualización 2, 2013: Un punto de entrada muy accesible a una familia de SOC basada en ARM "típica" se puede ver en la Raspberry Pi y en las diferentes tablas de la familia Beagle . Ambos están dirigidos a experimentadores y aficionados, ambos usan SOC con núcleos ARM y recursos adicionales, como capacidades de video y audio, y ambos ejecutan Linux fuera de la caja.
También hay una gran variedad de sistemas en los fabricantes de módulos que proporcionan una tarjeta intermedia que contiene un sistema de arranque completo para montar en una tarjeta personalizada que proporciona la fuente de alimentación y los conectores de E / S necesarios para un sistema integrado específico. Un tal vendedor es Gumstix . El Gumstix AirSTORM proporciona Wi-Fi, Bluetooth, DRAM, NAND FLASH y TI OMAP3 ARM SOC. Una tarjeta portadora adecuada puede admitir un panel LCD o HDMI, 10/100 Ethernet, USB host y OTG, y conexiones de audio analógico de nivel de línea, junto con acceso a una variedad de pines GPIO adicionales y periféricos en el chip.
En las palabras de Tom Lehrer "Plagiarise, plagiarise, que el trabajo de nadie evade tus ojos".
O ser como Newton (y Bernard) pararse sobre los hombros de gigantes.
En otras palabras, descubra lo que otras personas han hecho y, de manera ideal, evite reinventar las ruedas.
Primero obtendría una tabla de evaluación como STR750-LOVE . Luego compila y entiende los ejemplos. Después de sentirse cómodo con los ejemplos, es hora de pasar a comprender qué hay debajo del capó y escribir su propio código. Una parte importante del proceso de aprendizaje es intentar hacer algo y luego tener que depurarlo y hacerlo funcionar. Si desea convertirse en un experto en la ARM, deberá poder leer el ensamblaje con confianza. Acabo de tener una entrevista para ser un desarrollador de firmware ARM y todo lo que hice para la parte técnica fue analizar el código de ensamblaje THUMB y convertirlo en código c. La mayoría de los compiladores tienen una opción para generar el ensamblado que generan.
Realmente depende de qué tipo de ARM, es un mundo muy amplio. Por lo general, ARM está integrado en un SoC (sistema en un chip). Si se está preparando para migrar a un proveedor de SoC específico, entonces debería considerar todo. En mi experiencia, las opciones de caché y de caché de SoC tienen más influencia que el núcleo real (excepto el rendimiento).
En cuanto a los tableros de evaluación: tengo una buena experiencia con Luminary micro (rango de $ 50- $ 60) Cortex M3. Viene con un entorno de desarrollo completo (eclipse), ejemplos, bibliotecas y algo de hardware (es decir, USB, Ethernet, pantalla OLed) y ejemplos que puede ejecutar y aprender. Aprender haciendo es mucho más divertido que aprender leyendo. Espero que se sienta cómodo al pasar de 8051 a Cortex M3.
En el extremo superior del espectro, el tablero del beagle es un verdadero crujidor de números que también puede ejecutar Linux.
Recomiendo conseguir un Beagle . Tienen soporte de JTAG para que pueda ver lo que está pasando en el hardware, una especie de depurador de hardware. Hay varias versiones de Linux que se ejecutan en él. También hay una gran comunidad a su alrededor que te ayudará a medida que trabajes con ella. Tengo Ubuntu Jaunty ejecutándose en el mío, así que no hay final de utilidades y compiladores que puedas ejecutar.
Se describen varios buenos recursos en las respuestas a esta pregunta relacionada:
Además, Hitex tiene "Guías de expertos" para unos pocos microcontroladores diferentes basados en procesadores ARM (gratis, pero requiere registro):
La mayoría de ellos (si no todos) son descargas gratuitas (creo que son patrocinadas por los fabricantes de microcontroladores). Están más orientados a los microcontroladores que a los específicos de ARM, pero incluyen algunos de los detalles de ARM y son excelentes descripciones generales de los micros y los periféricos de los micros.
Yo haría y haré surf en sparkfun.com, ellos llevan tablas de olimex y también hacen las suyas propias. Luminary Micro / stellaris también son buenos. El beagleboard es más una plataforma de linux que algo a lo que se accede con las características / instrucciones del brazo. Puede usarlo, pero por ese dinero puede comprar entre 3 y oh 7 tableros de evaluación de microcontroladores basados en ARM diferentes. De cualquier manera, comenzaría con una pequeña tabla enrollada alrededor de un microcontrolador basado en el brazo, st o lpc probablemente, el micro de la luminaria es solo el pulgar2, que solo haría después de mojarme los pies con las instrucciones del brazo original y luego con el pulgar.
También soy un fan de usar el avance de gameboy como una plataforma de aprendizaje para arm (no la NDS, que es avanzada, comienza con la familia GBA).
Querrá el ARM ARM (el Manual de referencia de la arquitectura ARM), y luego cada núcleo específico tiene su propio TRM, necesitará ambos para saber qué instrucciones están disponibles para usted. En su mayor parte, estos manuales son buenos tanto como referencia como para aprender desde cero.