¿Qué tan difícil es el desarrollo de software embebido?

El diseño de sistemas integrados es tan complejo como el proyecto / aplicación, al igual que la programación de aplicaciones estándar.

Mi primer proyecto para mi segundo empleador fue tan simple como leer 4 GPIO y encender 8 LED basados ​​en combinaciones de GPIO activados. Básicamente fue esto:

int input = 0;

mientras que (1) {
input = read_gpio (PORTA) & 0xF;

interruptor (entrada) {
caso 0x1:
write_gpio (PORTB, 0x1);
rotura;
//pronto…
defecto:
write_gpio (PORTB, 0);
}
}

a partir de ahí, pasé a proyectos que son muy complejos en varios grados, desde sistemas de control para máquinas críticas para la seguridad hasta prototipos de productos de consumo.

Pero de todos ellos, este sencillo con código simple fue el más difícil. No porque no haya recibido capacitación ni nada, sino porque tengo un plazo estricto para un aparato que funcione, esté lleno y listo para desplegar. Básicamente tuve un día para organizar las piezas, armarlas, colocarlas en su estructura mecánica, empacar todo, prepararlo para el envío, todo por mi cuenta (tuve ayuda). Fuera de esa programación fue una fracción.

En los sistemas embebidos, escribirás principalmente en C. Por lo tanto, las clases y las abstracciones no son algo de lo que debas preocuparte. La dificultad y la complejidad provienen de lidiar con el hardware directamente. Significa examinar las hojas de datos y los manuales y luego hacer que todo funcione bien con todo lo demás. Créeme cuando te digo que lidiar con hardware te hará desear tener que lidiar solo con abstracción, clases y demás. Además de eso, los sistemas embebidos requieren más ingeniería que programación. Tengo que buscar las calificaciones actuales más de lo que tengo que buscar la documentación de la API.

La dificultad es un estado de la mente. La gente debería amar ganar, no odiar perder. Y este pensamiento cambiaría toda su perspectiva para aprender algo nuevo.

Los sistemas integrados son un dominio ampliamente aplicado de la ingeniería electrónica. Hay cosas a tu alrededor que ves que tienen un sistema integrado, integrado dentro.

Entonces, en lugar de preocuparse por la dificultad de algo, concéntrese en su primer paso y comience. La perseverancia y la determinación deben seguirlo. Independientemente de lo que aprenda, llegará un momento en que le faltará la confianza para continuar adelante, pero una vez que haya cruzado esa etapa de la curva de aprendizaje, habrá muy pocas paradas.

Comience con los fundamentos, y las cosas no parecerían tan difíciles como lo son ahora.

Debes seguir mirando la cima de la montaña, pero mientras caminas, mira hacia abajo en los próximos pasos y tómalos con cuidado. Pronto, te encontrarás cerrando el pico. Si sigues mirando hacia arriba, la desmotivación se activaría y podrías poner el pie equivocado en el escalón equivocado.

… convertirse en un excelente desarrollador de software integrado a pesar de que no estoy interesado en la programación?

No, probablemente no. No tiene nada que ver con incrustados (o front-end, o cosas empresariales, o aplicaciones telefónicas, o lo que sea).

Tiene todo que ver con no estar interesado en la programación. Independientemente del área particular de práctica, la cantidad de trabajo y dolor para llegar a la competencia, y mucho menos la excelencia, es la misma.

Es el mismo tipo de lucha. Si no disfrutas el proceso en algún nivel, no serás tan bueno como el próximo chico nacido con el mismo nivel de inteligencia intrínseca.

De hecho, es más difícil que dedicar esas 10 horas a tocar el violín. Los violines no cambian; La tecnología por definición lo hace, y rápido. Los violines no hacen crecer cuerdas de dos pisos y hacen crecer ruedas. No se espera que los violinistas en la escuela hoy sean capaces de espolvorear huevos fritos con sus arcos en 5 años, que es lo que el mercado espera de cada nuevo violinista. Sin embargo, no se preocupe: siempre está el arco de violín, el campo de entrenamiento de espátula de huevo que le enseñará esa nueva habilidad, rápido.

Si desea “permanecer en” la tecnología, encuentre una compañía grande y trabaje para asumir roles de gerencia / liderazgo. Aproveche las habilidades de su gente.

Entra en marketing. Entra en ventas. Los buenos vendedores ganan mucho más dinero que los gruñidos tecnológicos.

El desarrollo integrado no es difícil. Se trata más de saber lo básico. Donde la mayoría de las personas se equivocan es que no tienen claros los pasos a seguir, y mirando el objetivo final, se asustan. Más bien, vaya paso a paso. Divida todo el diseño en bloques funcionales y comience a construir uno a la vez. Cuando se trata de implementar un gran proyecto, este es un trabajo grupal. Nadie va a esperar que hagas todo.

Cuando se trata del miedo a la programación, puede deberse a que no le enseñaron la forma correcta. La programación puede ser muy divertida si entiendes los conceptos. El mejor consejo que puedo dar es construir, construir y construir.

La programación orientada a objetos es generalmente para aplicaciones o capas de alto nivel. El desarrollo de software embebido es más de firmware y programación de nivel de controlador. Soy un buen ingeniero integrado, pero si alguien me pide que codifique en la capa OOPS, fracasaré terriblemente en ella.

Del mismo modo, si alguien se convierte en un experto en la capa OOPS, esa persona no puede afirmar que también será bueno en la programación de software integrado. La programación integrada no es algo que se pueda comparar con la programación en las industrias de TI. En la programación integrada, necesita conocer los efectos de su código en el hardware para el que ha sido desarrollado.

Entonces OOPS y la programación integrada son 2 direcciones separadas en el mundo de la programación.

No es difícil como piensas. Una vez que tenga experiencia práctica en el desarrollo, se siente más fácil desarrollar cualquier software integrado.

  • Conceptos básicos de programación en C
  • Programación de microcontroladores
  • Fundamentos de Linux
  • Desarrollo cruzado

Compre cualquier kit de desarrollo y comience a hacer proyectos geniales.

Sistemas Embebidos – Da Forma al Mundo