Desde el punto de vista de un programador
Diferencia y cosas para cuidar:
- Un controlador de 8 bits funciona en 8 bits a la vez, por lo tanto, es adecuado para aplicaciones de baja potencia y menos cómputo. Mientras que un controlador de 32 bits puede trabajar en 32 bits a la vez, lo que es adecuado para aplicaciones de cómputo intensivo (FFT, proceso de imagen) y consume un poco más de energía.
- Los tipos de datos importan en 8 bits. Por ejemplo, int var_1 asigna 2 bytes en AVR (micro de 8 bits) y char var_2 asigna 1 byte. Pero en los microcontroladores de 32 bits, incluso si declara char var_2, se asigna una ubicación de datos de 32 bits que da como resultado un desperdicio de memoria. Por lo tanto, un microcontrolador de 32 bits es eficiente cuando lo usa para el cálculo intensivo de datos pesados. Por lo tanto, usar un ARC uC de 32 bits para todos los cálculos de 8 bits será una exageración obvia.
- El desbordamiento de datos es un problema en uC de 8 bits. Considere el siguiente ejemplo
uint8_t a, b, c; // todas las variables de 8 bits
a = 200;
b = 200;
c = (a + b) / 2;
El resultado esperado es c = 200. Pero no lo será. ¿Por qué?
a + b se calcula primero dando 400 que es mayor que 255 (límite de 8 bits). Por lo tanto, el resultado MSB será un desbordamiento y c tendrá datos incorrectos.
- ¿Cuál es la diferencia entre BIOS, UEFI, bootloader y firmware?
- ¿Cómo se relaciona el diseño electrónico y la tecnología con los sistemas integrados?
- ¿El software de código abierto está sobrevalorado? Cual es la realidad ¿Las startups y otras empresas de sistemas integrados realmente usan código abierto en su proyecto?
- ¿Existe una plataforma en línea para sistemas integrados, donde puedo acceder a las placas de desarrollo de forma remota?
- ¿Todos los sistemas integrados tienen un sistema operativo?
Solución: c = a / 2 + b / 2;
O incluso mejor c = (a >> 1) + (b >> 1);
Estas son las pocas diferencias que se me ocurren ahora.