Hasta este momento usaba Atmel Studio para desarrollar software para dispositivos basados en AVR. Ahora me gustaría ir a ARM Cortex M. Además, me gustaría probar el codiseño y el control de versiones (todavía no tengo experiencia en esas cosas útiles).
Sé que Atmel Studio tiene el complemento para trabajar con los repositorios de GitHub. Pero acabo de adquirir el editor Sublime Text 2, con el que es muy agradable trabajar. También puede funcionar con GitHub (como he leído en Internet, simplemente no lo probé yo mismo), pero no estoy seguro de que Sublime Text sea útil para compilar fuentes GCC y ASM en HEX.
¿Alguien intentó usar Sublime Text 2 como herramienta de edición de fuentes para tales implementaciones? ¿O los IDE tradicionales serán mucho más fáciles de trabajar?
Sí, puede usar SublimeText para editar el código fuente, y no solo para ARM, sino para cualquier cosa; y mucha gente lo hace. Es un editor de código fuente muy popular.
La parte complicada viene cuando quieres hacer algo más que editar. Un IDE tradicional proporciona mucho más que solo funciones de edición, por lo que tendría que implementar o encontrar a alguien en Internet que ya haya implementado las funciones que necesita para trabajar con ARM. No menos importante de esas funciones son:
La forma en que lo haría depende en cierta medida de su sistema operativo host y de las herramientas de secuencias de comandos que tenga disponibles para realizar las tareas. En general, el compilador será GCC, que está disponible gratuitamente para todos los sistemas operativos principales, por lo que si conoce los indicadores correctos que debe usar al compilar el código fuente para su objetivo específico, entonces la creación de secuencias de comandos de la compilación no debería ser un gran problema.
Sin embargo, cuando se trata de cargar el código, todo depende de cómo realice la carga. ¿Utiliza un programador de hardware? ¿Su chip de destino tiene un gestor de arranque instalado? Para cualquiera de ellos, ¿qué herramientas están disponibles que son compatibles con secuencias de comandos que puede usar para agregar funcionalidad a SublibeText?
Entonces, a menos que pueda encontrar un recurso en línea donde alguien haya hecho exactamente lo que quiere hacer, para el mismo chip objetivo o familia de chips que está usando, entonces será mucho trabajo para comenzar. Sería mejor comenzar con un IDE tradicional y usarlo como plantilla (investigar cómo se compila y carga) y migrarlo a SublimeText, u operar un entorno híbrido donde edite en SublimeText pero use el IDE para compilar y sube el código.
make
como una herramienta de compilación, por lo que puede buscar en Google un archivo MAKE genial para compilar y cargar ARM y usarlo.Como han dicho otros, Sublime es un editor (muy poderoso), no un IDE, por lo que usar Sublime para la depuración es engorroso, aunque no imposible (consulte la nota al pie en la parte inferior).
Sin embargo, hago mucha programación integrada, por lo que puede ser útil describir mi flujo de trabajo.
Toda mi codificación se realiza en ST2 con algunos paquetes clave:
También utilizo fragmentos personalizados para formatear el código. Una vez que mi codificación esté lista para ser probada en el hardware, usaré un IDE para la depuración. Sin embargo, cualquier cambio de código que deba hacer todavía se realiza en Sublime. Algunas personas pueden encontrarlo incómodo, pero me he acostumbrado a eso.
En cuanto a los IDE, muchos de los fabricantes de circuitos integrados proporcionan sus propios IDE (TI, Freescale, Microchip, etc.), sin embargo, ahora hay algunos IDE centrados en ARM buenos y gratuitos. Em::Blocks es el que más he usado. Está bien mantenido y es una aplicación sólida. CooCox también es bastante bueno.
Nota al pie: el mismo desarrollador que creó SublimeClang también creó un complemento GDB ( SublimeGDB ); sin embargo, para la depuración, creo que un IDE dedicado con vistas de memoria, relojes variables y expresiones es difícil de superar.
Desde que se publicó esta pregunta, y han pasado más de 2 años (junio de 2018), ha aparecido en escena un nuevo editor con todas las funciones: https://atom.io/packages/language-arm
Atom, entre otras cosas, es compatible con el control de versiones de Git listo para usar.
connor lobo
connor lobo
connor lobo
romano matveev
connor lobo
romano matveev
Majenko