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

no es muy fácil ser ingenieros integrados,
Para desarrollar sistemas y firmwares Debe aprender lenguajes de programación de bajo nivel, ensambladores, cómo compilar códigos (también es útil crear su propio lenguaje de programación).

Aquí está mi lista:

  • C esencial
  • OOP / C ++: clases, encapsulación, polimorfismo, sobrecarga / anulación, plantillas
  • Algoritmos – buscar, ordenar, b-trees
  • Patrones de diseño: fábrica, observador, singleton, etc.
  • Sistemas operativos en tiempo real: primitivas (semáforo, mutex), técnicas de programación, espacio de usuario / kernel
  • Fundamentos de Linux, escritura de controladores, shell
  • fundamentos del microprocesador: interrupción del procesamiento, registros, código de ensamblaje, etc.
  • fundamentos del microcontrolador: ADC, DAC, Timers, PWM, DMA, watchdog, etc.
  • Memoria: NOR, NAND, SRAM, DRAM, nivelación de desgaste
  • Protocolos básicos: I2C, SPI, UART, LIN
  • Protocolos avanzados: SATA, PCIE, USB, CAN, MOST
  • Programación concurrente / paralela – MPI para SMP etc.
  • UML – diagrama de clase, diagrama de componentes, diagrama de estado, diagrama de secuencia
  • Perl o Python para secuencias de comandos, por ejemplo, para modificar archivos de texto simples.
  • Java y Android
  • Electrónica básica: lectura de esquemas, uso de osciloscopio, multímetro, soldador
  • Técnicas especializadas para programación integrada, por ejemplo, eliminación de rebotes de interruptores, interruptores de escalera resistivos, codificadores rotativos, etc.
  • ingeniería de software: SDLC, CMMI, métodos ágiles, p. ej. SCRUM, control de versiones (ClearCase, git, svn), seguimiento de errores (JIRA?), comprobación de código estático, Lint, pruebas unitarias, integración continua
  • crear entornos: makefile, cmake
  • Diseño básico FPGA / ASIC, DSP básico

Solo te diré puntos simples.

1. lo que aprendes para embebido hazlo prácticamente. Entiende el concepto primero claramente

2.Si quieres ser programador, solo ve a videos de youtube e instala el software y comienza a practicar.

3. Si tienes las cualidades anteriores. Las compañías te atraparán.

Llegando a las mejores empresas

Ven más personas con conocimiento del sistema.

Mercedes, Delphi, Bosch, continental, harman, Volvo, Qualcomm … etc. aún hay más empresas