Pregunta

¿Es aconsejable comenzar directamente con la hoja de datos y el manual del usuario de un procesador ARM para un novato o primero tener una idea sobre el mundo ARM y luego seguir adelante?

¿Fue útil?

Solución

Se describen varios buenos recursos en las respuestas a esta pregunta relacionada:

Además, Hitex tiene '' Guías de información privilegiada '' para algunos microcontroladores diferentes basados ??en procesadores ARM (gratis, pero requiere registro):

La mayoría de ellos (si no todos) son descargas gratuitas (creo que están patrocinados por los fabricantes de microcontroladores). Están más orientados a los microcontroladores en lugar de solo los detalles de ARM, pero sí incluyen algunos de los detalles de ARM y son excelentes descripciones de los micros y los periféricos en los micros.

Otros consejos

Cuando empiezo con una nueva tecnología (para mí), empiezo localizando tantas hojas de datos y notas de aplicación como puedo y solo las leo directamente. El primer objetivo es ponerse al día con la jerga (y los nombres de los jugadores) únicos de esa tecnología.

Con ARM, comenzaría con www.arm.com , y su documentación en Centro de información ARM .

Actualización: También me sumergiría en una o más líneas de productos de fabricación, incluida la lectura de al menos un manual de programador familiar. Si los planes de su proyecto son lo suficientemente firmes como para saber qué CPU ARM específica se va a utilizar, entonces puede salirse con la suya centrándose en ese modelo específico y sus parientes cercanos. Si está buscando familiarizarse con el ARM para poder elegir la CPU que se utilizará en el proyecto, entonces el mejor plan es tomar muestras de una amplia gama de familias.

Hay una gran lista de licenciatarios de tecnología ARM . De estos, algunos fabricantes tienen productos (basados ??en el sabor CORTEX-M3 del núcleo ARM) que, en mi humilde opinión, destacan por sus aplicaciones de sistemas integrados profundos.

Mi empresa tiene proyectos en curso basados ??en la familia STM32 de ST Microelectronics . Esta familia tiene muchos periféricos en chip con 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 una buena opción para una serie de necesidades de plataformas integradas.

Dados los puntos de precio actuales de los paneles de evaluación de nivel de entrada, recomendaría encarecidamente elegir uno o más chips similares a su nicho de aplicación objetivo previsto. Una placa con una pequeña pantalla LCD, acelerómetro, un par de LED con 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 puede ser tenía para el STM32 (por menos de US $ 40 en 2009, pero ese modelo es descontinuado) 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 que se encuentra ARM es como el núcleo de la CPU en un sistema en un chip. Muchos proveedores de SOC están licenciando una CPU ARM para colocar su silicio junto con su hardware dedicado. He visto chips de compresión de video, chips de red, adaptadores firewire a ATA y dispositivos USB construidos de esta manera, y eso es solo una muestra de artículos publicados y comunicados de prensa que recuerdo recordar.

Actualización 2, 2013: Un punto de entrada muy accesible a un " típico " La familia SOC basada en ARM se puede ver en Raspberry Pi y en los diversos tableros 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 de forma inmediata.

También hay una gran variedad de sistemas en los fabricantes de módulos que proporcionan una placa intermedia que contiene un sistema de arranque completo para el montaje en una placa personalizada que proporciona la fuente de alimentación y los conectores de E / S necesarios para un sistema embebido específico. Uno de estos proveedores es Gumstix . El Gumstix AirSTORM proporciona Wi-Fi, Bluetooth, DRAM, NAND FLASH y un SOC TI OMAP3 ARM. Un sui

Recomiendo obtener un BeagleBoard . Tienen soporte JTAG para que pueda ver lo que está sucediendo en el hardware, una especie de depurador de hardware. Hay varias compilaciones de Linux que se ejecutan en él. También hay una gran comunidad alrededor que te ayudará mientras trabajas con ella. Tengo Ubuntu Jaunty ejecutándose en el mío, por lo que no hay fin de utilidades y compiladores que pueda ejecutar.

Yo haría y navegaría en sparkfun.com, llevan tablas olimex y hacen las suyas. Luminary Micro / stellaris también son buenos. El beagleboard es más una plataforma de Linux que algo a lo que accede las funciones / instrucciones del brazo en sí. Puede usarlo, pero por ese dinero puede comprar entre 3 y oh 7 placas de evaluación de microcontroladores basadas en ARM diferentes. De cualquier manera, comenzaría con una pequeña placa envuelta alrededor de un microcontrolador basado en el brazo, st o lpc probablemente, el micro luminaria es solo el pulgar2, que solo haría después de mojarme los pies con las instrucciones del brazo de valores y luego las instrucciones del pulgar.

También soy fanático de usar Gameboy Advance como plataforma de aprendizaje para el brazo (no el NDS, que es avanzado, comienza con la familia GBA).

Usted querrá el ARM ARM (el Manual de referencia de arquitectura ARM), y luego cada núcleo específico tiene su propio TRM, necesitará ambos para aprender qué instrucciones están disponibles para usted. En su mayor parte, estos manuales son buenos tanto como referencia como para aprender desde cero.

Primero obtendría una tabla de evaluación como STR750 -AMOR . Luego compila y comprende los ejemplos. Después de que se sienta cómodo con los ejemplos, es hora de pasar a comprender lo que hay debajo del capó y escribir su propio código. Una parte importante del proceso de aprendizaje es tratar de hacer algo y luego tener que depurarlo y hacerlo funcionar. Si desea convertirse en un experto en 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 ensamblaje que generan.

En palabras de Tom Lehrer "Plagiar, plagiar, que el trabajo de nadie evada tus ojos".

O sé como Newton (y Bernard) se paran sobre los hombros de gigantes.

En otras palabras, descubra lo que han hecho otras personas e idealmente evite reinventar las ruedas.

Comenzaría con una placa de desarrollo barata y un software de ejemplo, y seguiría desde allí, buscando lo que necesita saber a medida que avanza.

Un buen manual para el STM32 basado en ARM-core es el STM32 Primer .

No comenzaría con el manual técnico, salvo para una exploración muy rápida. El del STM32 tiene más de 600 páginas, y el manual Cortex-M3 que lo acompaña tiene otras 400 páginas. ¡No es exactamente una lectura ligera!

Realmente depende de qué tipo de ARM, es un mundo realmente 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, deberá considerarlo todo. En mi experiencia, las opciones de periféricos y caché de SoC tienen más influencia que el núcleo real (excepto el rendimiento).

En cuanto a los paneles de evaluación: tengo buena experiencia con Luminary micro ($ 50- $ 60 rango) Cortex M3 . Viene con un entorno de desarrollo completo (eclipse), ejemplos, bibliotecas y algún hardware (es decir, USB, ethernet, pantalla OLed) y ejemplos de los que puede ejecutar y aprender. Aprender haciendo es, en mi opinión, 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, la placa beagle es un verdadero generador de números que también puede ejecutar Linux.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top