¿Qué debo aprender para sobresalir en la programación integrada?

Tengo muy poca exposición al mundo de embebido para responder esto en detalles, pero intentaré responder por lo que creo que me tomará para sobresalir en embebido.

  1. Electrónica y diseño de circuitos
  2. Conocimiento profundo de la arquitectura de computadoras
  3. Competencia en diferentes arquitecturas de microprocesador
  4. Compilador Toolchain Internals
  5. Patrones de diseño en sistemas embebidos
  6. Experiencia práctica en varios depuradores disponibles en el mercado.
  7. Comprender los detalles de implementación de un lenguaje de procedimiento y otro de OO.
  8. Capacidad para trabajar con diferentes lenguajes de programación, típicamente C, Java, ensamblado y scripting, típicamente shell, Python y Perl.
  9. Y lo más importante, muchos proyectos en SO y entorno de firmware.

No creo que tenga la experiencia suficiente para cruzar cualquiera de los anteriores, excepto probablemente 8.

Entonces, para responder a su pregunta de “programación incrustada”, probablemente pueda comenzar con 4,5,7,8, pero no espere sobresalir en incrustado justo después de completarlos.

El aprendizaje no dará como resultado la excelencia en ningún campo.

Aquí hay un ejemplo: ¿ Aprender las reglas del ajedrez y ver videos de tubo de cómo jugar ajedrez te convierte en un experto jugador de ajedrez? No. (reemplace el ajedrez con cualquier cosa que vaya desde natación / conducción de automóviles / cocina …)

Permítanme compartir la vida real : la mayoría de los desarrolladores integrados que han diseñado productos comerciales generalmente no son buenos en las marcas / aprendizaje / asistieron a institutos de capacitación pagados. Son buenos haciendo y aprenden mientras lo hacen. La mayoría de los desarrolladores que conozco ni siquiera son excelentes en ‘C’, se siguen refiriendo a google.

Entonces, ¿qué debe hacer ? Las redes sociales / el aprendizaje en línea no pueden reemplazar al maestro real. Busque un desarrollador de la industria real en su ciudad. Haz de él / ella tu mentor. Págales si lo piden. Desarrolle productos en torno a la tecnología actual.

Lo que debe evitar : Arduino / diseños similares basados ​​en bibliotecas ya preparados e institutos de capacitación / entrenadores que nunca construyen nada por su cuenta.

Donde esta respuesta no será útil – Proyectos académicos.

Si quieres ganar experiencia en programación la única fórmula que te sugiero es ” Practicar” .

La diferencia entre lo ordinario y lo extraordinario es la práctica. Es posible que tenga suficiente conocimiento, pero la práctica es la clave para construir productos integrados reales.

Quiero decir, la práctica no es sentarse frente a una computadora y codificar durante más horas.

Asegúrese de trabajar en problemas reales que existen en un mundo desafiante. Para ejecutar aplicaciones integradas, existen muchos idiomas. Algunos de ellos son C , C ++ , Java , Python y muchos más.

Una cosa a tener en cuenta es el idioma que seleccione, asegúrese de crear una aplicación que se ejecute en el mundo real, ya sea una aplicación de software o una aplicación integrada .

Por ejemplo:

Aplicaciones de software que puede construir :

  • Bloc de notas con C y python.
  • Compilador utilizando C, C ++.
  • Funcionalidad de preprocesador con C.

Aplicaciones integradas que puede construir:

  • Automatice los dispositivos en su hogar usando ESP8266 móvil y de bajo costo.
  • Envíe un mensaje desde el módulo GSM y los dispositivos de control a cualquier parte del mundo.

Para saber más sobre los sistemas integrados, lea:

¿Qué es el sistema integrado? ¿Cómo funciona? – Codrey Electronics

Carrera en Sistemas Embebidos: Oportunidades mundiales – Codrey Electronics

Lo primero y más importante que se debe hacer para comenzar el proceso de aprendizaje de Sistemas Embebidos es darse cuenta de que no se puede aprender instantáneamente.

Lo segundo es experimentar. A menos que experimentes, no aprenderás. Comete errores y no los repitas.

En cuanto a los detalles, estas dos publicaciones mías del blog te darán una idea:

Sistemas Embebidos – ¿Qué es?

Sistemas Embebidos – ¿Cómo aprender?

Si tiene alguna consulta después de esto, por favor pregunte.

Comenzando con la Programación Embebida lea este artículo, lo guiará para aprender el sistema embebido.

Programación C incorporada lea este artículo para aprender el mejor lenguaje de programación incorporado.

Para sobresalir, debes ir más allá de solo leer.

  1. Comience con algo pequeño: comience con la codificación básica, comprenda el material y pruébelos
  2. Desarrolle aplicaciones pequeñas: después de completar lo básico, escriba código para aplicaciones, aplicaciones pequeñas donde no necesitaría un sistema operativo
  3. Comprenda el sistema operativo: el sistema operativo aparece en el momento en que abandona el patio de su universidad e intenta jugar en la industria. Por lo tanto, antes de aventurarse allí, entienda el sistema operativo, el sistema operativo incorporado, ¿cómo usarlo?
  4. Desarrollar aplicaciones usando el sistema operativo: Comience a desarrollar aplicaciones usando el sistema operativo, aplicaciones pequeñas, directamente usando llamadas al sistema.
  5. Modificar el sistema operativo: una vez que sepa de qué se trata el sistema operativo, puede modificar el sistema operativo para un sistema operativo personalizado según los requisitos de la aplicación.
  6. Quédense hambrientos quédense tontos

PD: en el caso del sistema operativo, comience con FreeRTOS y explore Linux.

Aprenda a continuación los temas

  1. Conceptos básicos de electrónica.
  2. Lenguaje C
  3. Comprensión de la arquitectura del procesador / controlador diferente
  4. Habilidades de depuración
  5. Y muchos más,.

More Interesting

Completé mi postgrado en sistemas integrados en 2015. ¿Alguien puede sugerirme si unirse al programa HCL LEAP tiene alguna ventaja?

¿Cómo se debe comenzar a trabajar en sistemas embebidos?

¿Con qué frecuencia se utiliza MicroPython en sistemas empotrados industriales?

¿Cuál es el puerto ADC en los microcontroladores atmega32 y AVR y qué está haciendo?

¿Cuál es la diferencia entre sistema embebido y sistema informático?

Como novedad, ¿cómo y dónde puedo encontrar un trabajo decente (posiblemente una buena MNC) como ingeniero de software integrado en la India?

¿Qué instituto es el mejor para la capacitación en circuito integrado en Delhi?

¿El uso típico del mundo real de los sistemas integrados requiere programarlos en los niveles de registro periférico?

¿Cuáles son las diferencias entre la computadora de placa única y el microcontrolador?

¿Se supone que un desarrollador incrustado realiza codificación de nivel de bit banging (spi / i2c) en las entrevistas?

¿Cuáles son las habilidades / conocimientos básicos necesarios para la programación integrada / sistemas / firmware?

Aprendí C, microcontroladores y C ++. ¿Qué debo hacer después de trabajar en sistemas integrados? ¿Debo aprender Java?

Cómo tener la oportunidad de trabajar en VLSI o en un dominio incorporado

¿Cuál es la diferencia entre una CPU utilizada en computadoras y un microcontrolador utilizado en dispositivos integrados?

Sistemas integrados: Electrónica en India: ¿Por qué India no puede funcionar tan bien como China en la fabricación de productos electrónicos?