Estoy a dos años de graduarme de la escuela de ingeniería y creo que he perdido mucho tiempo concentrándome en aprobar los exámenes en lugar de aprender los materiales. ¿Cómo puedo convertirme en un buen ingeniero de sistemas integrados en dos años?

Ya respuestas muy útiles aquí. En lugar de recomendarle libros, etc., simplemente le diré lo que necesita saber (al menos). Aunque es su elección qué recursos utilizará, estas son las cosas que se esperan de alguien que dice ser un experto en sistemas integrados. Mencioné específicamente al menos porque no hay límite. El campo está cambiando día a día y ahora hay tantos subcampos o avenidas para explorar. IoT, Linux embebido, por ejemplo, Raspberry Pi, controladores ARM, plataformas de software y depuradores como MBED, SO como Ubuntu Snappy, etc. Pero siempre habrá algunos elementos básicos que debe tener para avanzar. A continuación están mis sugerencias;

Como sabemos que la palabra sistemas integrados es la combinación de hardware y software. Entonces, esto es lo que debes hacer,

Hardware

aprenda sobre los diferentes tipos de microcontroladores, 8 bits, 16 bits, 32 bits. Aprenda sobre el cronometraje, el tiempo, etc. Intente comprender adecuadamente los diferentes protocolos de comunicación SPI, I2C, UART, etc. Debe poder distinguir claramente la diferencia entre ellos y poder decidir cuál usar para una situación particular. Obtenga información sobre la conversión de analógico a digital (ADC), sus tipos, por ejemplo, SAR, delta-sigma, etc.

Software

Como no estamos hablando de ningún sistema específico, diría que aprendan el lenguaje de programación C. Debería poder programar en C y estar familiarizado con el uso de diferentes IDE, por ejemplo, Eclipse, Visual Studio, etc. Diferentes compañías usan diferentes IDE para su sistema.

Escala libre -> CodeWarrior

Texas Instrument -> Code Composer Studio

Microchip -> MPLAB

Atmel -> Atmel Studio

y así..

Tenga en cuenta que la mayoría de ellos están basados ​​en eclipse, por lo que en caso de que sepa cómo usar uno, no le tomará mucho tiempo aprender a usar el otro IDE.

Debe aprender a leer la hoja de datos del dispositivo particular que está utilizando. Creo que este es uno de los consejos más importantes que puedo darle. Si aprende una vez correctamente cómo hacerlo, la transferencia a cualquier nuevo dispositivo / microcontrolador será muy fácil. Debería poder saber cómo encontrar el registro correcto del microcontrolador y cómo usarlo.

Diseño

Debe estar familiarizado con el diseño de diseño de PCB. Aprenda al menos un software, yo personalmente uso Eagle, otras opciones populares son Altium, OrCAD, etc. Lo importante aquí es que pueda crear un circuito básico y luego diseñar un PCB a partir de él.

Aprenda sobre las diferentes técnicas de diseño de software y cómo puede usarlas. Por ejemplo, máquinas de estado.

Al final del día, se trata de cuánto esfuerzo estás poniendo. Recuerda, no solo leas; ¡práctica! Simplemente tome un tablero, por ejemplo Arduino, y simplemente comience a jugar con él.

Guía paso por paso,

Comprar Arduino Uno,

descarga el IDE,

conecte el sistema, pruebe los ejemplos y lea el código.

Intenta entender cómo está funcionando. Ahora cambie el código y vea cómo está afectando el ejemplo. ¿Puede explicarlo si es así? Bueno, si no profundiza e intenta comprender.

Lea la hoja de datos del microcontrolador y asegúrese de haber entendido el funcionamiento general de este microcontrolador y cómo funcionan los periféricos de este controlador en la placa Uno.

Una vez que tenga suficiente experiencia, comience a crear sus propias aplicaciones, ya sea desde cero o utilizando cualquiera de los tableros disponibles en línea.

Mover a los controladores ARM. Intenta usar Raspberry Pi o Beagle Bone Black. Haz diferentes proyectos con ellos. Si realmente quieres cavar profundo, se recomienda BBB. Después de algunos proyectos, debería poder saber cómo usar Linux, cómo usarlo para dispositivos ARM, comprender adecuadamente el concepto de cadena de herramientas, superposición de prueba de dispositivo, descriptores de archivos en Linux, etc.

Con suficientes proyectos en su haber, pronto se volverá muy bueno en sistemas integrados.

En medio de las excelentes respuestas aquí, intentaré resumir lo que aprendí (y no, nunca aprendí formalmente la electrónica incorporada) para proporcionar una idea.

  1. No puedes convertirte en un experto sin práctica y ni siquiera serás bueno a menos que practiques. Sin embargo, debe practicar para resolver una multitud de problemas de dominio – (@ver ¿Es suficiente la práctica para convertirse en un buen programador?)
  2. Obtenga un proyecto paralelo como una frambuesa pi o aurdrino, etc. La página en sparkfun.com tiene una inmensa cantidad de productos para ayudarlo. ¡Adafruit también es otro gran lugar!
  3. Obtenga un proyecto paralelo y participe ; únete a un hackathon local, espacio para creadores, fablab (la iniciativa MIT), grupos de reunión, etc.… Tendrás acceso a conocimientos, conexiones y personas que pueden ayudarte / impulsar tu ambición. Alguien dijo una vez, es mejor fallar con otros que fallar solo; mi opinión sobre esto es … ¿por qué no intentar con otros donde es más probable que tenga éxito?
  4. Aprenda a resolver problemas , lea esquemas o documentos que están muy por encima de su educación: aprenda a discernir qué es relevante y qué no.
  5. Poder programar su salida de un agujero; Esto significa C, ensamblaje, comprensión de cadenas de herramientas de compilación cruzada, etc.
  6. Establezca objetivos alcanzables que se puedan construir unos sobre otros como bloques de construcción. No vas a construir un robot que vaya a la luna en el primer intento; Intente hacer que las ruedas se muevan primero, por ejemplo.

Al ser un ingeniero integrado, siento la necesidad de responder esto. Dos años desde la graduación – ¡Excelente!

Ya que ha decidido incrustar, asegúrese de tener un Devboard. Este es un mínimo. Puede optar por placas controladoras o placas con SoC / Procesador que tengan soporte MMU; mejor comienzo con el controlador (esta es mi opinión personal). Ahora experimenta con eso. Ejecute códigos de metal desnudo. Lea mucho, todo el tiempo. Encienda los LED, grabe los LED y conozca las clasificaciones actuales.

  • Aprende idiomas mientras los usas. C y la asamblea serían útiles con los controladores. Ejecute FreeRTOS o cualquiera de estos sistemas operativos. Aquí es donde obtienes los conceptos de tu sistema operativo. Trabaje con I2C, SPI o cualquiera de estos protocolos de comunicación.
  • Intente codificar en el ensamblaje, el mismo programa que hizo en C. Verifique la salida del ensamblador del código C. Aprenda sobre el compilador y la optimización.
  • Obtenga un Dev-Board que sea compatible con Linux una vez que haya arrancado su placa controladora. Linux sería más fácil de comprender una vez que haya llegado a este punto. Tenga una idea de proyectos implementables con su tablero de referencia. Comience su trabajo lentamente.
  • Únase a algunos proyectos de código abierto. Esto te ayudaría a lo grande. Desarrollar un hábito de lectura. ¡No, eso no! – Cosas técnicas. Una vez que conozca los conceptos de pilas y montones, únase a stackoverflow.
  • Una vez que se quede sin dinero, comience a trabajar en emuladores de hardware virtual como qemu. Puede ejecutar el kernel de Linux en la mayoría de las arquitecturas de esta manera.
  • No dejes de leer. Guía a personas interesadas en el mismo dominio. Enséñeles cosas si es necesario. Esto fortalecería sus cimientos.

Con dos años disponibles y un gran arte para dominar, necesitas algo más importante.

Pasión , punto. Este es su requisito principal. Sin pasión, no estarás motivado. Resultaría ser un trabajo cojo . Debería haber algo que lo lleve dos años y más adelante. Deja que tus metas te infundan pasión. Confía en mí, motivación Sería tu mayor ventaja. Cuando te quedas atrás, un poco de pasión puede encender un gran fuego en ti 🙂

Lo único que puedo decir si quiere ser un experto es obtener sus 10,000 horas. Para lograrlo en 2 años, eso es 5,000 horas por año, o 13.7 horas por día todos los días, sin fines de semana ni vacaciones.

Mencionas “sin hacer ningún proyecto”. Lo siento, no va a suceder. Todos los sistemas embebidos están en proyectos. Puede ser bueno en un poco de funcionalidad particular, pero a menos que pueda vincularlo como un proyecto, no va a ayudar mucho.

En primer lugar, no dijo “experto”, solo “bueno”. Nadie debería esperar ser un experto recién salido de la escuela a menos que fueran casi expertos entrando, y él no,

En cuanto a la integración, esto es un poco complicado, porque hay varios tipos diferentes de personas que se hacen llamar ingenieros integrados. Solo he conocido a 1 persona en mi carrera que fue realmente buena tanto en el n. ° 1 como en el n. ° 3 a continuación, así que evalúa tus talentos e intereses y elige con cuidado, saltamontes.

1. La gente que codifica para computadoras a gran escala, volando cerca del suelo. Esto es cualquier cosa que ejecute Linux (incluso Linux integrado), Android, etc., necesita aprender cómo hablar con los periféricos y cómo conservar energía en su sistema operativo. Debe comenzar por ser un excelente programador versátil en varios idiomas, como mínimo, c / c ++, Python y scripts de shell. Probablemente algunas cosas web para que pueda crear interfaces de usuario básicas más allá de las maldiciones. Debe aprender a hablar con los periféricos (mapa de memoria, spi, i2c, usar todo, desde bit banging hasta dma), cómo escribir controladores de dispositivos y cómo aumentar la robustez NUNCA se detenga. Hay un valor real para estas personas, los realmente buenos son difíciles de encontrar, y debes entender cómo difieren de los buenos tipos de sysadmin / Techops. Solo necesitan habilidades limitadas de EE, pero necesitan conocer muy bien los idiomas, las herramientas y el núcleo. Si eres tú, te aconsejaría convertirte en un experto en Linux y Android. Material a nivel de sistema, no solo codificación básica. Debería saber todo lo que sucede cuando la plataforma elegida arranca, y debería poder armar su propia pequeña distribución desde cero. Escriba controladores de kernel, ejecute aplicaciones de Android en plataformas restringidas como relojes, cree dispositivos Linux que nunca necesitan reiniciarse. A medida que las cosas anteriormente profundamente incrustadas comienzan a subir la escala con la ley de Moore, habrá mucho trabajo para usted. Beaglebone Black es tu amigo, pero asegúrate de trabajar en otras plataformas también. 2 años es tiempo suficiente para aprender tanto Android como Linux. asegúrese de hacer proyectos que manejen diversos periféricos.

2. Dispositivo controlador de personas para algunos RTOS. muchas personas se autodenominan incrustadas, pero tienen capacidades muy limitadas, solo escriben paquetes de soporte de tablero para enrutadores y similares bajo un RTOS común como Wind River. No estoy seguro de qué aprender aquí, pero hay muchos de estos tipos y, en su mayoría, soy consciente de ellos para evitar contratarlos. No entienden la electrónica, no son grandes programadores y tienden a no florecer en compañías más pequeñas sin un amplio soporte de EE. También tienden a llegar a un punto muerto en los errores de hardware y software. No seas ellos.

3. Desarrolladores “profundamente integrados”. En su mayoría plataformas personalizadas, integración profunda de hardware, alguna combinación de potencia limitada, memoria, ancho de banda o costo, esto es probablemente lo más difícil de conseguir. Centraré el resto de mis comentarios en esto,

Necesita aprender una buena cantidad de electrónica, no solo el desarrollo de firmware, porque sus problemas serán digitales, analógicos y de firmware. Usualmente _y_, no _o_. Me aseguraría de tomar clases prácticas. Mejore los alcances y los analizadores lógicos. Aprende a soldar SMT. Incluso si no va a ensamblar tableros enteros, estará conectando puentes y similares para el diagnóstico, y el extraño chip de error muerto y el conector peculiar. Sí, a veces habrá técnicos, pero mejor ser un poco autosuficientes.

Luego debe aprender a programar en C, a nivel de metal desnudo, utilizando una placa de desarrollo básica. No es un arduino. Sugeriría comenzar con un ARM Cortex M o un TI MSP430. Encuentre un buen estándar de codificación (Jack Ganssle publicó uno medio decente hace unos años, puede buscarlo en Google. Hay otros) e intente cumplirlo. Debido a que hay muchas cosas que puedes hacer en C que no deberías hacer, y el estilo cuenta cuando colaboras, aprende a interactuar con SPI, I2C y juega con algunos ADC, temporizadores, interrupciones e IO digitales. Aprenda semáforos y mutexes. Aprenda a codificar buenas pruebas unitarias.

Luego, tal vez en su último semestre, haga algunas cosas en un RTOS de gama baja: FreeRTOS, UC / OS o similares.

Si tienes todo esto en tu haber, ¡felicidades! ¡Eres un desarrollador integrado de nivel de entrada muy superior al promedio! ¡Ahora sal, crea cosas profesionalmente en pequeños equipos durante unos años, sigue aprendiendo nuevas herramientas y técnicas, y desarrollarás una experiencia real del tipo que te servirá durante muchos años!

Actualización de noviembre de 2016: Mi nueva recomendación para una plataforma de inicio es la placa Pioneer Cypress PSoC 4 BLE. es un SoC basado en Cortex M0 que incluye Bluetooth y una interfaz analógica y digital configurable: puede construir circuitos de amplificador operacional simples en el firmware, lo cual es muy bueno. Y su entorno de desarrollo se pone en funcionamiento tan bien como Arduino, pero es un IDE real con toda la potencia con depuración, programación inalámbrica y una gran selección de interfaces y bibliotecas, escritas en C real incrustado por profesionales. No hay una comunidad tan grande como Arduino, pero hay muchos buenos ejemplos. Lo más importante es que no tendrá que volver a escribir todo para que sea un dispositivo integrado real, confiable, mantenible y vendible como siempre lo hace con Arduino.

Paso 1: Lea el lenguaje de programación C por Dennis Ritchie, Brian Kernighan.

Puedes descargarlo desde aquí.

https: //hassanolity.files.wordpr

Paso 2: Comience a programar utilizando esta herramienta.

Learn C – Tutorial interactivo gratuito de C

Paso 3: compra uno de estos y comienza a jugar con hardware.

Arduino Store USA

Hay una guía completa para usar esta plataforma.

Arduino – Comenzando

Esto te mantendrá ocupado y comprometido por un tiempo.

Como otros han dicho, la única forma de aprenderlo, y ciertamente la única forma de demostrar que lo has aprendido, es hacerlo. Vaya y compre un tablero de evaluación de bajo costo de algún tipo. Y no compre uno costoso: los ingenieros integrados siempre están tratando de adaptarse a las computadoras con pocos recursos. Obtenga uno con un compilador de C y algún tipo de RTOS. Y luego construir algo. Y luego mejorarlo. Determine si necesitaba el RTOS, o podría haberlo hecho sin él. Quizás intente un proyecto en cada sentido. Conviértase en C bastante fluido, y al menos eche un vistazo al código Assember que está generando el compilador de C. Intente llevar su plataforma más allá de sus límites, de modo que tenga que comenzar a hacer compromisos.

Si tuviera un par de proyectos de trabajo en su haber, uno RTOS y otro no, y una buena explicación de ellos, llamaría mi atención en una entrevista de trabajo. Obviamente, cuanto más desafiantes sean los proyectos, más impresionante, pero un desafío de bajo costo o baja potencia es más impresionante que el alto rendimiento.

(Ah, y las pruebas, el sistema repetible y las pruebas unitarias son muy, muy importantes. Si muestra cómo se da cuenta de que cualquier cambio de código puede dañar un sistema, y ​​cómo va a demostrar que no lo hizo, impresionará).

Como observó Quora User, no puedes ser bueno en algo a menos que lo practiques. Como Levitt y Dubner señalaron en su libro Freakonomics, las personas reconocidas como expertas en cualquier cosa generalmente lo han estado haciendo durante al menos 10,000 horas. Hay 2.000 horas de trabajo en un año. Honestamente, no tienes tiempo para convertirte en un experto para cuando te gradúes a menos que dejes de dormir, además, no tendrás las oportunidades que obtienes de trabajar en la industria, pero podrías ser respetablemente bueno si pones deja de lado todo lo demás en tu vida y queda atrapado en él.

Elija un procesador, descargue su hoja de datos y notas de aplicación, y estudíelo hasta que comprenda cada detalle. Esto incluye el conjunto de instrucciones del lenguaje ensamblador: no puede ser un buen ingeniero integrado sin él. Únase a un foro para ese procesador y no tenga miedo de hacer preguntas. Adquiera algún programa para ese procesador y realice ingeniería inversa en él: desarme el código. Es por eso que necesita un ensamblador, porque el código no se desmonta en C. bien estructurado. ARM es un procesador popular y la mayoría de la gente lo recomendaría, pero puede aprender los principios igualmente bien de algo más simple como AVR, que es la CPU en Arduinos. Una vez que vea el código C original desarmado según las instrucciones individuales de la máquina y pueda seguirlo paso a paso y comprender lo que le está haciendo al hardware, habrá seguido prácticamente el mismo camino que todo ingeniero de sistemas embebidos autodidacta tomó antes que usted, y estar a años luz de los muchachos con nada más que experiencia académica.

Para convertirse en ingeniero de sistemas embebidos, primero debe aprender la programación c. Comience a usar incrustado usando cualquier microcontrolador y diseñe una pequeña aplicación usando un microcontrolador. Puede consultar este sitio web para obtener tutoriales de microcontroladores Tutoriales y proyectos de microcontroladores

Recuerda que no puedes aprender incrustado simplemente estudiando literatura. Tienes que realizar tareas. Siga siete pasos simples:

No dejes de leer.
Consigue un hueso de beagle negro o frambuesa pi.
Instala Linux.
Obtenga una automatización del hogar, Internet de las cosas o cualquier proyecto que desee pero que parezca desafiante.
Adéntrese en el sistema operativo hasta el metal desnudo y controle directamente ios, módulos de comunicación como i2c, spi, USB, etc.
Cree una interfaz de memoria, eprom y / o flash.
Consigue hardware externo y un poco de soldadura
Arme todo, comparta su proyecto (use github)
Comparte tus aprendizajes.
Comenzar de nuevo.

Qué tipo de oportunidades profesionales:
Bastante.
Unos pocos:
• Ingenieros de software embebido
–Ingeniero de software del sistema (Kernel y RTOS)
–Ingeniero de software de aplicación (controladores de dispositivo)
–Ingeniero de prueba de software
–Desarrollo del controlador – Linux
–GPS / AGPS Developer
–RF / WiFi / Ingeniero de Protocolo de Comunicaciones
• Ingenieros de hardware embebido
-Ingeniero en hardware
–Ingeniero de diseño de juntas
–Ingeniero de validación de tablero (hardware)
• Ingenieros de aplicaciones
–Soporte técnico de ingeniero de aplicaciones
–Ingeniero de soporte técnico
–Ingeniero de aplicación de producto (PAE)
•Marketing y ventas
Ejecutivo de marketing • Ejecutivo de ventas

¿Dónde son aplicables?
• Máquinas industriales, automóviles, equipos médicos, espacio, cámaras, electrodomésticos, agricultura, aviones, máquinas expendedoras, teléfonos celulares, PDA, juguetes.
• Automotriz integrado, incluida la robótica; Dispositivos sanitarios; Telecomunicaciones (móviles, 2G, 3G, 4G, LTE, comunicaciones de datos); Comunicaciones satelitales; Aviónica (aviones); Subdominios de prueba y medición
• En resumen, en todas partes

¿Qué tienes que aprender?
• Habilidades de software / programación
–Proficiente en C ad C ++, C incrustado
-Estructuras de datos
–C depurador
–Programación de Kernel
-Controladores de dispositivo
–Sistemas operativos en tiempo real (RTOS)
–Pensamiento creativo (para automatizar la solución)
• Habilidades de hardware
–Conceptos básicos de electrónica, electrónica.
–Micro-computadora / Microproc

arquitectura essor
–Medio ambiente de programación de microcontroladores
–Conocimiento de protocolo
–Sensores, actuadores y hardware periférico.
–Diseño de placa de circuito electrónico y solución de problemas

Estoy compartiendo lo que funcionó para mí.

(1) Al principio, intenta hacer de tu habitación un mini laboratorio.
(2) Mira estos cursos
(a) Sistemas embebidos – Shape the World
(b) EE40LX Información del curso | edX
(3) Sigue esto
maxEmbedded »una guía de robótica, electrónica integrada y visión por computadora
(4) No copie directamente los materiales del proyecto (código, circuitos, etc.) del tutorial. Intenta hacerlo tú mismo. No será auspicioso, pero hará que sus próximos días sean propicios.
(5) Después de estar cómodo con el microcontrolador, elija ARM y RTOS. Esta es la parte más importante. Tener la arquitectura de la computadora y el conocimiento del sistema operativo seguramente ayudará mucho.
(6) Para mí, su conocimiento en sistemas integrados es proporcional a los días que pasa después de él.

He respondido una pregunta similar aquí, pero tenga en cuenta que no puede aprender nada sin hacerlo. Esto también es cierto para los sistemas integrados, aprenda los conceptos y luego aplíquelos, es decir, úselos, véalos en acción. Ahí es cuando completas el ciclo. Dos años es tiempo suficiente para obtener una buena comprensión de los conceptos.

Aquí está el enlace a la otra respuesta

La respuesta de Aashish Patel a los sistemas integrados: ¿Qué pasos hay que seguir para convertirse en un desarrollador de sistemas integrados?

Espero que esto ayude.

¿2 años en la escuela de ingeniería? Eso es casi cuando superas los requisitos básicos, así que no te rindas demasiado pronto en lo que puedes aprender en la escuela en los próximos 2 años.

Los sistemas integrados generalmente tienen un lado de hardware y un lado de software. En mi experiencia, es inusual encontrar a alguien experto en ambas. Concluyo que no debería sentirse mal si se inclina más hacia una especialidad u otra para el campo de los sistemas integrados.

El software de sistemas embebidos generalmente se caracteriza por tener un entorno limitado: nunca hay suficiente memoria y potencia de procesador para relajarse. Y a menudo tiene limitaciones en tiempo real, tiene que mantenerse al día con los eventos entrantes. También tiende a venir con un entorno de soporte mínimo. Para ser bueno en esto, le sugiero que trabaje en sus habilidades de C y ensamblador, y que use herramientas como un analizador lógico. Elija algunos problemas desafiantes como hablar un protocolo de red (por ejemplo, TCP / IPv4). Vea si puede encontrar una implementación de biblioteca para obtener una línea de base contra la cual trabajar. Y luego construya su propia implementación para comparar. Descubre cómo hacer una prueba de esfuerzo en las 2 implementaciones. ¿Cómo se compara el rendimiento de su implementación roll-your-own con la versión estándar? ¿Puedes ajustar el tuyo para superar la versión de la biblioteca?

Si eso fue demasiado fácil, ¿qué le parece la ingeniería inversa de una máquina de FAX para que sepa cómo trabajar con su escáner e impresora? Ahora podría juntar todo esto para hacer algo que ocasionalmente deseo: una máquina de fax por Internet. Idealmente, reduciría el tiempo de transmisión de documentos al enviar un FAX, pero las velocidades del escáner y la impresora presumiblemente limitan la cantidad total de aceleración que puede obtener. Haga que funcione y debería sentirse listo para ser un ingeniero de sistemas integrados.

Muchas buenas respuestas, pero principalmente necesitas 2 cosas: experiencia y beneficiarte de la experiencia de otros.
# 1 cuando me gradué de UBC en 1984, el ingeniero promedio en Canadá trabajó más de 65 horas / semana. Trabajé de 70 a 80. Excepto en las raras ocasiones en que trabajé más de 100 horas (ir a trabajar el lunes por la mañana, trabajar hasta el martes por la noche, etc.) Dormir es para los débiles. ¡El café es tu mejor amigo!
# 2 consigue un trabajo en una empresa que diseña productos con tecnología de micros integrados. Y tiene que ser una pequeña empresa. Solo necesita 1 o 2 compañeros de trabajo que tengan unas pocas docenas de años combinados de experiencia y aprenderá toneladas de cosas trabajando con ellos.
# 3 definitivamente NO empiece con una Raspberry Pi. Debe comenzar con la programación básica en el micro más simple, luego trabajar con un RTOS simple (como FreeRTOS … en comparación con otras opciones, es lamentable, pero funciona, está portado a todo, y tiene la fuente completa para que ambos aprendan , y también HACK)
# 4 no seas tímido. HACK TODO. “¿Qué sucede si cambio esto?” En un tablero de desarrollo de $ 15 para STM32F, Kinetis, Renasas o MSP, no se dañará nada al cometer un error. Aprenderás mucho de los errores.
Hackear el BSP. Hack FreeRTOS. Hackea tus herramientas. Que te diviertas.
# 5 use Linux como su entorno de host, pero no entre en Linux en Embedded hasta que piense que es un experto en chips. Porque aprender micros de la programación de Linux es como estudiar a los animales de la selva amazónica desde la Estación Espacial Internacional. Estás muy, muy lejos del tema que estás tratando de aprender. Podrías jugar con un R-pi en el lateral, pero tu verdadera educación vendrá de tableros con micros de menos de $ 1. ¡Y puedes hacer que hagan prácticamente cualquier cosa! Esa es la parte más divertida.

“pero sin hacer ningún proyecto”

No puede convertirse en un “buen ingeniero de sistemas integrados” sin hacerlo. Sea lo que sea que pueda aprender con solo leerlo, su falta de experiencia práctica quedaría clara en una entrevista de unos minutos.

A menudo entrevisto personas para trabajos técnicos. Cuando pregunto a los candidatos sobre tipos específicos de problemas y experiencias, la brecha entre quienes han hecho lo que les pido y aquellos que simplemente han estudiado es evidente.

Ve a comprar un kit de evaluación TI TIVA o STM STM32F4. Haz que haga algo: estabiliza una bicicleta, controla la señalización digital, no importa.

Brevemente, ahora tiene el conocimiento suficiente para poder comprender lo suficiente como para convertirse en cualquier cosa que elija. Desde este punto, para ser un diseñador integrado, necesitará familiarizarse profundamente con algún tipo de CPU. Siempre es mejor tener un proyecto objetivo en mente, porque entonces puedes comenzar a dar los pasos para resolver toda la miríada de problemas que sin duda enfrentarás en tu desarrollo. En la medida de lo posible, use sistemas listos para usar a menos que sea un buen diseñador de hardware. Se puede hacer en dos años, ya que puede llevarle tanto tiempo que su proyecto funcione correctamente según sus expectativas. Sin embargo, como todos los buenos diseñadores integrados le dirán, constantemente necesitará aprender cosas nuevas. ¡Buena suerte!

Obtenga un Arduino o un Raspberry Pi 2. Me gustaría obtener un Raspberry Pi, programarlo en Python. C implica perder mucho tiempo en trivia. Use C una vez que el código esté funcionando para obtener más velocidad y eliminar el intérprete.

Luego, pase todo el tiempo que pueda codificando proyectos.

Teach Yourself Electricity and Electronics (2006) por Stan Gibilisco
enséñate electricidad y electrónica

EveryCircuit por Igor Vytyaz
Aplicaciones de Android en Google Play

El arte de la electrónica (1989) de Horowitz y Hill
Capítulo 10 en la 2da edición para computadoras
El arte de la electrónica – Horowitz & Hill

Es posible en dos años.

No solo piense en aprobar el examen o obtener una mejor calificación en el examen.

Intenta aprender y entender las cosas.

Practica regularmente lo que has aprendido para convertirte en profesional.

Haga que sus profesores aclaren sus consultas; de lo contrario, Internet puede ayudarlo.

Obtendrá un trabajo basado en sus habilidades, logros y su talento, no solo en su calificación.

La práctica del hombre perfecto. La mejor de las suertes