ATtiny2313 vs ATtiny84 compatibilidad de software

1

Hago y vendo una variante del programador AVR USBtiny. Utiliza un ATtiny2313 con una velocidad de reloj de 12 MHz y hace USB con un lenguaje de ensamblaje ajustado a mano (que alguien escribió: es un proyecto de hardware abierto / firmware abierto).

En un intento por reducir los costos, me gustaría pasar de usar el 2313 a usar un ATtiny84 en su lugar.

Puedo averiguar cómo ajustar el firmware para los diferentes pines. Pero la pregunta más importante (ger) es si ese lenguaje ensamblador ajustado manualmente se ejecutará de la misma manera en el 84.

Aparte de los pines y registros, ¿es compatible todo el rango de chips ATtiny desde una perspectiva de software?

    
pregunta nsayer

2 respuestas

4

Como se describe en el documento AVR 8-bit Instruction Set , solo las partes de "Reduced Core tinyAVR" tienen una sincronización diferente de las otras. Las partes que se incluyen en esta designación son ATtiny4, ATtiny5, ATtiny9 y ATtiny10.

Tanto la arquitectura '2313 como la '84 son "avr25" como definido por GCC , por lo que sus conjuntos de instrucciones son 100% compatibles.

    
respondido por el Ignacio Vazquez-Abrams
1

La respuesta corta es: No, algunos chips ATtiny admiten más instrucciones que otros. También algunos chips soportan hardware interno diferente a otros. Sin embargo, la mayoría de las instrucciones son idénticas.

Puede verificar el conjunto de instrucciones admitidas del dispositivo al final de la hoja de datos " completa " del dispositivo con su código actual. Y puede consultar el Manual del conjunto de instrucciones para obtener más detalles.

Por supuesto, el compilador / ensamblador debería generar errores cuando intenta utilizar hardware / instrucciones que no existen en el dispositivo. Solo configúralo para compilar para el otro dispositivo. Una buena fuente debe compilarse sin advertencias ni errores, pero debe hacerse primero antes de intentar portar al otro dispositivo.

    
respondido por el jippie

Lea otras preguntas en las etiquetas