¿Cómo podría aprender el sistema embebido por mi cuenta?

  1. Aprende C / C ++. Practicalo. Haz algunos proyectos. Pruébate.
  2. Aprenda los conceptos del sistema operativo. Trabaja con Unix / Linux. Trabaja en programación C multiproceso con hilos Pthreads. Aprender la comunicación entre procesos. Trabajar en la programación del kernel de Linux. Trabajar en la programación del controlador del dispositivo.
  3. Aprender arquitectura informática. Lea 8086 (x86), 8051, arquitectura ARM. Tanto como puedas.
  4. Vea cómo se realiza la compilación cruzada. Trabaja con varios IDE y sin entorno IDE. Realice algunos proyectos con arduino / raspberry pi / embed board / STM32F4.
  5. Revisa tus conocimientos de electrónica. ADC, sensores, relés, interfaz de pantalla, interfaz de cámara, etc. Utilice osciloscopios, multímetros, analizadores lógicos, etc.
  6. Aprenda CADsoft eagle u OrCAD. Diseña tu propia PCB.
  7. Lea tantas hojas de datos como sea posible. Módulo BLE, módulo WiFi, módulo ZigBee, etc. Lea la hoja de datos de las placas de desarrollo de Snapdragon.
  8. Aprenda cualquier lenguaje de descripción de hardware. VHDL o Verilog.
  9. Aprenda tecnologías web- (HTML, JS), Databses- (Sqlite, Mysql), Java y Python también. Será útil para aplicaciones IoT. Opcional.
  10. Aprenda simpleCV, OpenCV, fastCV para trabajar en proyectos de procesamiento de imágenes.
  11. Trabaja en Android Native Development Kit (NDK). Revise los diversos códigos fuente de las versiones fuente de Kernel de Motorola, Xiaomi o Oneplus.
  12. Aprende ingeniería inversa. Romper en algo. Depurar usando RX / TX-UART, JTAG. Procesos de depuración en un sistema operativo.
  13. Aprenda perfiles / optimización de su código. Sé bueno en estructuras de datos y algoritmos. Herramientas de perfilado – perf, Intel Vtune Amplifier., Etc.

He respondido esto anteriormente en el siguiente enlace.

La respuesta de Ranjith Kumar a ¿Cuál es una ruta de aprendizaje recomendada para aprender programación integrada?

Si buscas los libros:

La respuesta de Ranjith Kumar a ¿Cuáles son algunos buenos libros para aprender C bajo UNIX?

Sí. Puedes aprender el Sistema Embebido por ti mismo. Necesitas hacer los siguientes pasos.

1. Aprenda programación en C en PC
2. Intenta resolver algunos programas simples de C por ti mismo
3. Compre un kit de microcontrolador de bajo costo
– Interruptores de entrada
– LED de salida
– Pantalla de salida de 7 segmentos
– Salida LCD
4. Escriba un programa para controlar los LED.
5. Escriba un programa de reloj usando la pantalla de 7 segmentos
6. Escriba un programa de reloj usando la pantalla LCD
7. Controle los LED con los interruptores de entrada
8. Escribe un programa de reloj despertador

Esto es suficiente. Ahora en adelante, usted mismo comenzará a hacer nuevos proyectos.

Todo lo mejor.

>>> ¡Su búsqueda de un curso de programación de microcontroladores en profundidad termina aquí! <<<

El curso está diseñado para principiantes a audiencia avanzada.

Enlace de curso: Microcontrolador de masterización con desarrollo de controladores integrados: Curso de programación de microcontroladores en profundidad

Aprenda de Scratch Microcontroller & Peripheral Driver Development para GPIO, I2C, SPI, USART usando la Programación Embedded C

¿Que aprenderás?

  • Comprender las formas correctas de manejo y programación de periféricos MCU
  • Desarrolle controladores periféricos para su microcontrolador
  • Comprenda los pasos completos de desarrollo de controladores desde cero para GPIO, SPI, I2C y USART.
  • Aprenda a escribir encabezados de controladores periféricos, API de prototipos e implementación
  • Explore las hojas de datos de MCU, manuales de referencia, códigos de inicio para hacer las cosas
  • Aprenda formas correctas de manejar / configurar interrupciones para varios periféricos
  • Aprenda sobre IRQs periféricos / tabla de vectores / interfaces NVIC y muchos
  • Aprenda acerca de los registros de configuración / estado / control de varios periféricos
  • Desmitificando detalles de trabajo detrás de escena de SPI, I2C, GPIO, USART, etc.
  • Explore los secretos ocultos de las interfaces de bus MCU, las fuentes de reloj, las configuraciones de reloj MCU, etc.
  • Comprender las formas correctas de habilitar / configurar relojes periféricos / relojes seriales / velocidades de transmisión de varios protocolos seriales
  • Conozca los protocolos de bus MCU AHB, APB
  • Aprenda sobre diferentes relojes MCU como HCLK, PCLK, PLL, etc.
  • Aprenda a capturar / decodificar / analizar rastros de protocolos en serie en el analizador lógico
  • Obtenga información sobre formas rápidas de depurar problemas periféricos con estudios de casos

Requisitos

  • El conocimiento básico del controlador C y Micro podría ser una ventaja añadida pero no obligatoria.

Breve descripción por instructor del curso

Este curso desmitifica el funcionamiento interno del microcontrolador y sus periféricos.

Codificación de los periféricos PASO A PASO y desarrollo de controladores de software completamente desde cero extrayendo la máxima información de hojas de datos, manuales de referencia, especificaciones, etc.

Decodificación de protocolos mediante analizadores lógicos, depuración, pruebas junto con sugerencias y consejos.

Descripción larga:

El aprendizaje de la programación de sistemas integrados puede ser un desafío . Dado que es un campo relativamente poco complejo, todavía no existe un estándar de oro real sobre cómo se practican o enseñan las cosas, lo que puede frustrar a las personas que solo están tratando de aprender cosas nuevas y no pudieron conectar los puntos, y esta es la motivación detrás de creando este curso para ayudar a los ingenieros y estudiantes a aprender diferentes aspectos de los sistemas integrados al proporcionar conferencias avanzadas de alta calidad con un precio relativamente bajo.

Aprenda a su propio ritmo utilizando el método progresivo, con cada una de mis breves conferencias llenas de información.

¡Maestro detrás de escena trabajando!
Creé este curso porque creo que su tiempo es precioso y no debería tener que buscar para obtener una base práctica en la programación de sistemas integrados. En este curso, aprenderá a escribir su propio controlador de periféricos para la mayoría de los periféricos de uso común como GPIO, I2C, SPI, USART, etc. y lo interesante es que aprenderá todo desde cero.

Numero 3

rd

bibliotecas de fiesta!

¡Sin codificación ciega!

¡Escriba sus propias API de controlador al tratar con los registros periféricos de MCU!

Codifique e implemente API desde cero, sumergiéndose en la hoja de datos y el manual de referencia de la MCU. Explicaré a fondo cómo extraer la máxima información de las hojas de datos, manuales de referencia técnica para configurar y manejar periféricos. Estas técnicas las puedes utilizar y aplicar a cualquier MCU que tengas a mano.

En este curso, lo guiaré paso a paso sobre cómo configurar varios periféricos como GPIO, SPI, USART, I2C, llevándolo al manual de referencia y a la hoja de datos. Desarrollaremos un código de controlador completamente funcional, interruptores de manejo, aplicaciones de muestra, todo desde cero para comprender el panorama general.

En cada conferencia, le aseguro que definitivamente aprenderá algo nuevo que definitivamente puede usar en su trabajo o proyectos. Te encontrarás manejando estos periféricos con mucha más claridad y podrás especular y depurar rápidamente el problema y te mostraré trucos y consejos para depurar los problemas más comunes usando herramientas de depuración como analizadores lógicos.

¡Este no es el estilo de programación Arduino!

Creo que Arduino es para la creación rápida de prototipos de productos, pero no para Mastering Working de microcontroladores y sus periféricos. A diferencia de la programación de Arduino, en la que se encuentran soluciones rápidas y creación de prototipos de productos utilizando bibliotecas de terceros, este curso es completamente diferente. En este curso, no se utilizan bibliotecas de terceros. Todo lo codificaremos consultando el manual de referencia técnica de MCU y crearemos nuestra propia biblioteca. El poder de este enfoque es que cuando las cosas salen mal en el trabajo de su proyecto debido a errores, puede especular rápidamente y depurar problemas como un profesional. Si algo en lo que somos buenos mis alumnos y yo es “depurar”. Para lograr buenas habilidades de depuración es muy importante que codifiques entendiendo cómo funcionan las cosas detrás de la escena, pero no solo usando ciegamente algunas bibliotecas de terceros y esa es la mayor APRENDIZAJE de este curso .

El curso está diseñado y explicado de tal manera que es genérico en cualquier tipo de microcontrolador. El código que desarrollamos puede usarse como plantillas para venir rápidamente con un controlador periférico para sus MCU en periféricos de chip.

Software / Hardware utilizado:
En este curso, el código se desarrolla de tal manera que se puede portar a cualquier MCU que tenga a mano. Si necesita ayuda para transferir estos códigos a diferentes MCU, ¡siempre puede comunicarse conmigo! El curso no está estrictamente vinculado a ningún tipo de MCU . Entonces, si ya tiene una placa de desarrollo que se ejecuta con el procesador ARM-Cortex M3 / M4, le recomiendo que continúe usándola. Pero si no tiene ninguna placa de desarrollo, consulte las siguientes placas de desarrollo.

1. Placa de descubrimiento basada en STM32F407xx (Esta es la placa utilizada en este curso)

Proveedor de MCU: STMicroelectronics

2. Placa de desarrollo STM32 Nucleo-64 (nueva en el mercado)

Proveedor de MCU: STMicroelectronic

3. FRDM-K64F: Plataforma de Desarrollo de la Libertad

Proveedor de MCU: NXP

4. STM32F429IDISCOVERY con LCD

Proveedor de MCU: STMicroelectronics

¿Quién es el público objetivo?

  • Profesionales interesados ​​en explorar sistemas embebidos
  • Aficionados y estudiantes que desean comenzar su carrera en el mundo integrado.
  • Si piensa en ‘incrustado’, piense en tomar este curso. no serás decepcionado
  • Este curso puede no ser adecuado para aquellas personas que buscan prototipos rápidos utilizando tableros como Arduino

Enlace de curso: Microcontrolador de masterización con desarrollo de controladores integrados: Curso de programación de microcontroladores en profundidad

Compre un kit (arduino, frambuesa pi o lo que sea). Si ya tiene experiencia en programación, intente programar para Linux en C. Apéguese a lo que proporciona el lenguaje y la biblioteca estándar. De hecho, puede usar su PC para desarrollar y probar. Más tarde puede moverlo a una plataforma integrada como raspberry pi más fácilmente.
En una plataforma como el microcontrolador, la función del lenguaje es más limitada. No esperes llamar a printf y el texto aparecerá mágicamente. Aprenda la operación bit a bit, ya que realizará muchos ajustes de bits.

Será beneficioso si puede leer la hoja de datos del microcontrolador de la plataforma que utiliza (AVR para la mayoría de los arduino)

Para aprender cualquier sistema embebido, en primer lugar, debe ser práctico con al menos 1 lenguaje de programación y recomendaría ser práctico con C.

Una vez que esté listo con eso, puede tomar cualquier placa de desarrollo como 8051 o Arduino Uno y comenzar a escribir programas para ella y ejecutarla.

Después de ser competente con estas placas de desarrollo, puede comenzar a tomar algunas placas Linux integradas como Raspberry pi o placa beagle, estudiarlas en detalle. Para estudiarlos, puede comenzar viendo videos en YouTube, mostrando diferentes sistemas operativos en él, estudiando sus sistemas de archivos, etc. Una vez que se familiarice con ellos, puede jugar con estos tableros y probar diferentes proyectos en ellos.

Para aprender sistema embebido

Compre multímetro, placa de prueba, cables, un transformador reductor.

Y compre algunos componentes electrónicos como resistencias, condensadores, diodos, transistores, led, etc.

Y comienza a practicar.

Simplemente comience con una fuente de alimentación de 5 V.

Junto con la práctica práctica de comenzar a programar en C. Y dominarlo.

Prefiero que si eres nuevo en el microcontrolador, empiece a aprender el microcontrolador 8051 con el libro.

‘El microcontrolador 8051 y el sistema integrado de Mazidi’.

Instale algún software en su computadora como

Keil, Proteus.

Practique con estos softwares. (Si tiene algún problema al usar estos softwares, busque ayuda en youtube buscando cómo usar el software Keil)

Compre un programador de microcontroladores.

Puede comenzar a programar en el microcontrolador at89s51 o 52.

Y sea paciente y practique mucho.

Y junto con las sugerencias anteriores, aprenda estos temas.

Electrónica digital

Electrónica analógica

Estructura de datos

Microprocesador

Y aprende el sistema operativo Linux.

Y si haces las cosas anteriores con honestidad, obtendrás confianza y sentirás que sé algo.

Entonces comprenderá por su cuenta lo que debe aprender a continuación.

Porque hay muchas más cosas que aprender en el sistema integrado.

Si aprende y practica estas cosas paso a paso, será divertido para usted.

Entonces, comience a aprender desde hoy.

Primero, vaya a la introducción básica de componentes electrónicos → aprenda detalles sobre todos los componentes electrónicos

Después de aprender algunos componentes electrónicos básicos, vaya a → AVR – Electronify o microcontrolador PIC → Proyectos basados ​​en PIC – Electronify

luego haga algún proyecto genial usando cualquiera de estos microcontroladores → Proyectos de microcontroladores AVR usando ATmega16 y ATmega32

Después de eso, tendrás idea de dónde ir después. Luego comience la programación avanzada como arduino o ARM → Arduino – Electronify

entonces estoy seguro de que aprenderá todo sobre el sistema integrado. Intentalo

El primer paso es obtener el hardware y otros componentes. Puedes comenzar con un Arduino. Aprende los elementos básicos del tablero. Luego construya algo que resuelva un problema práctico. Una vez que esté familiarizado con el frío, comience a diseñar sus propias bibliotecas. Aquí es donde se desarrolla el firmware del sistema embebido real. Esta etapa generalmente demora seis meses y seis meses en llegar. Una vez que se sienta cómodo con el entorno, comience por actualizar su controlador a complejos. Esta es una tarea de paciencia y determinación. Y este es el punto donde la mayoría de los estudiantes se rinden. Creo que ya hay muchas otras respuestas con buenos enlaces compartidos.

Para aprender sistemas embebidos, te sugiero que sigas los siguientes pasos:

Compre una placa de microcontrolador de bajo costo. Sugiero usar el Arduino Uno.

Sin embargo, para escribir un código para su microcontrolador, debe descargar un IDE (Básicamente, una plataforma de codificación).

Siga algunos sitios como GitHub, DIY Heaven y foros que discuten proyectos en su tablero.

Supongo que tiene un conocimiento práctico de C o Java. Lo básico bastaría.

Antes que nada debes tener un conocimiento básico del lenguaje C. Comience con Let us C (yashwant kanetkar).

Después de cubrir C básico o si ya tiene conocimiento de C, comience con Muhammad Ali Mazidi (Autor del Microcontrolador 8051 y Sistemas Embebidos).

Simplemente siga el libro paso a paso y ganará experiencia tan pronto como comience a desarrollar sus propios programas.

No copie el código del libro, intente escribir su propia lógica y también comience prácticas.

Puede comprar cualquier kit básico de microcontrolador basado en Atmel o Microchip’s PIC en el mercado o en línea.

Descargue la hoja de datos del microcontrolador que está soldada en el kit, estudie a fondo.

Escriba sus propios programas y vea la salida en el kit.

Estos son los 5 pasos iniciales básicos para aprender el sistema integrado .

  • Aprender C
  • Aprenda algo de electrónica básica
  • Consigue el equipo básico
  • Elija un microcontrolador y una cadena de herramientas
  • Elija componentes y profundice en sus hojas de datos

Todo lo mejor !!

Ya escribí una respuesta a un tipo similar de pregunta en el siguiente enlace.

La respuesta de Vieshoth Navaratnam a ¿Cómo puedo sobresalir en sistemas integrados por mi cuenta si soy un recién graduado de ingeniería electrónica?

Espero eso ayude

Todo lo mejor

Lea este artículo [http://bit.ly/2Dmojke] para obtener más detalles sobre qué aprender a ser un buen ingeniero de diseño integrado.

¿Cuál es su motivo u objetivo para aprender sistemas integrados? ¿Cuál es tu estilo de aprendizaje? ¿Cuánto quieres aprender y cuánto tiempo tienes para pasar solo?

Si tienes suficiente tiempo, ¿por qué no?
Por cierto, puedes comenzar jugando un Raspberry Pi.

Ir para el kit de aprendizaje a distancia i3indya

Puedes aprender a tu propio ritmo, lugar y tiempo.