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

Creo que es una pregunta razonable. Cualquier persona que trabaje con sistemas embebidos durante un período de tiempo debe conocer los conceptos básicos de los diversos protocolos seriales como I2C, SPI y UART.

En cuanto a escribir una interfaz de bit bitging, siempre que pueda demostrar que conoce las diferencias entre los tres, por ejemplo, SPI usa una selección de chip, un reloj y líneas de E / S de datos separadas, e I2C usa una dirección incrustada y solo un reloj y línea de datos bidireccional, luego escribir código de bit bitging para eso es bastante trivial. El apretón de manos para I2C puede ser un poco más difícil de obtener directamente de la memoria, por lo que esperaría algo de holgura allí.

El USB es bastante más complicado, y sería bastante inusual explotarlo ya que requiere una interfaz de hardware especial para D + / D-, pero uno debe conocer los conceptos básicos del protocolo USB, la enumeración y similares.

En mi entrevista más reciente, hace poco más de un año, me pidieron que explicara las diferencias entre SPI, I2C e I2S, pero no tuve que escribir ningún código.

Pedirle a un desarrollador incrustado potencial que demuestre que sabe cómo escribir código de manipulación de bits de bajo nivel en una entrevista me parece completamente razonable.

En general, no elevo mis expectativas demasiado sobre la calidad del código que la gente produce en la entrevista, pero se sorprendería de cuántos supuestos profesionales experimentados no pueden hacer mucho.

Esto es algo representativo del tipo de trabajo que los desarrolladores integrados emprenden a menudo, por lo que es relevante y mucho más valioso que la pregunta de la entrevista “codificar una estructura de datos eficiente y comentar el rendimiento utilizando la notación O”. La capacidad de completar este tipo de problema generalmente depende de haberse graduado recientemente de un título de CS. Los profesionales experimentados simplemente buscan su copia de “Introducción a los algoritmos” o similar en el mundo real (después de verificar cuidadosamente para asegurarse de que su ecosistema de idiomas no tenga una buena solución …)

No veo por qué no … Mi tarea en el segundo año de universidad para el módulo de Sistemas Embebidos fue golpear un UART, logré hacerlo tanto en C y ensamblador como en full y half duplex. Más tarde me golpeé también I2C.

More Interesting

Sistema operativo en tiempo real (RTOS): ¿Cómo implemento un núcleo de plataforma cruzada que se dirige tanto a la arquitectura de brazo como a la de imagen?

¿Por qué los productos Crestron se basan en software embebido de Windows? Seguramente en estos días cualquier equipo que se respete usaría Linux (integrado o no).

En un estabilizador de cardán motorizado de 3 ejes, ¿los 3 ángulos del cardán están controlados por un motor individualmente en 3 bucles de control?

¿Cuál es la mejor manera de comenzar con la programación de firmware / sistemas integrados?

Encuentro muchas similitudes entre Internet de las cosas y un sistema integrado, pero algo me dice que son diferentes. ¿Cómo son exactamente similares y diferentes?

Cómo hacer mi carrera en sistemas integrados y robótica

¿Cuáles son los beneficios del PLC SCADA y los sistemas integrados?

Cómo escribir un programa C incrustado para visualización de 7 segmentos para contar de 00 a 99 en el microcontrolador 8051

Cómo aprender rtos y arm, qué kit es adecuado para esto

¿Cuál es el mejor instituto para sistemas integrados en India que también ofrece ofertas de trabajo?

¿Existe una plataforma en línea para sistemas integrados, donde puedo acceder a las placas de desarrollo de forma remota?

¿Cuáles son los pros y los contras del desarrollo basado en pruebas considerando solo el software integrado?

¿Cuál es el desafío asociado con ser ingeniero de sistemas integrados (software y hardware) en Brasil?

¿Hay algún proyecto inteligente que se pueda hacer en riego usando microcontroladores?

¿Cuál es el protocolo de prueba para productos de sistemas electrónicos / integrados?