En este curso aprenderás paso a paso y en profundidad a programar drivers en C para manejar diferentes periféricos y crear firmware de calidad. Durante el proceso, aprenderás también a manejar toda la documentación necesaria (reference manuals, datasheets, user guides...), a manejar un analizador lógico y a depurar tu código.
Si te decides a adquirir el curso, me ayudarías mucho comprándolo con mi código de promoción. En la dirección de esta página, justo después de "stm32-drivers-firmware-para-arm-cortexm4/" copia mi código de promoción:
?referralCode=8DA409E810D08CA43342
Eso ayuda a que Udemy valore más mi trabajo!
A continuación te muestro una explicación más detallada del curso:
La programación se hace desde cero, no se utiliza ningún tipo de código auto generado ni de terceros. Los drivers proporcionados por los fabricantes, como la HAL de ST, intentan ser todo lo generalistas que pueden para abarcar el número máximo de MCUs, esto hace que sean muy poco eficientes y poco aconsejables para proyectos serios y profesionales. En este curso se estudian las particularidades de los cortex-m y se van construyendo los drivers poco a poco desde bajo nivel (escribiendo directamente en los registros) para crear las APIs que ofrecen al usuario el nivel de abstracción necesario para simplificar en gran medida el control de los periféricos en el desarrollo del firmware en capas superiores. Esto te permitirá entender en profundidad cómo funcionan los periféricos internamente, en lugar de usar a ciegas drivers de terceros.
El temario está dividido en cinco módulos, en los que verás:
GPIO: Todo lo relacionado con las entradas y salidas de propósito general. Programarás un driver para configurarlas y controlarlas por completo, incluyendo su uso mediante interrupciones.
RCC: en este módulo aprenderás las diferentes fuentes de reloj de las que dispone la MCU y cómo configurar el clock del sistema. También aprenderemos el uso del PLL para multiplicar la frecuencia de reloj y ajustarla a nuestras necesidades. Sacaremos varias señales de reloj hacia el exterior mediante el pin MCO1 para poder medir la frecuencia configurada y comprobar que nuestro driver funciona correctamente.
TIMERS: este es el módulo más extenso, ya que se estudia al detalle el uso de los diferentes timers con incluye la MCU. Desde los básicos hasta los avanzados, pasando por los de propósito general. No solo estudiamos el uso de los timers como simple temporización, sino que también se explican los usos de Input Capture para la obtención del tiempo entre eventos de entrada y medición de señales, y de Output Compare para la generación de salidas y señales PWM. Hay multitud de ejercicios para afianzar los conceptos de cada uno de los modos. Al final del módulo se incluyen ejercicios avanzados. En uno de ellos se explica el PWM Input mode, para la medición por hardware del periodo y el ciclo de trabajo de una señal PWM. En otro se utiliza el modo Encoder para la obtención y el tratamiento, también por hardware, de las señales entregadas por los encoders.
SYSTICK: en este módulo se estudia el timer del sistema, interno al CortexM4. Aprenderás a configurarlo y a beneficiarte de las ventajas que ofrece y que aprovechan los sistemas de tiempo real RTOS.
WATCHDOG: en este móculo se estudia el uso de los diferentes watchdogs que ofrece la MCU. Primero se explica el Independent Watchdog (IWDG), que es el más común, y luego se ve el Window Watchdog (WWDG), que permite controlar los tiempos de refresco de forma más fina e introduce un tiempo mínimo de espera antes de actualizar el watchdog para evitar el reset. Como siempre, programamos los drivers para ambos y realizamos ejercicios para ver posibles usos y afianzar conocimientos.
En resumen, más de 11h de curso repartidas en 5 módulos de los que acabarás siendo un experto. Después de este curso serás capaz de programar tus propios drivers, entenderás el funcionamiento de periféricos fundamentales, de los cortex-M y tendrás un conocimiento amplio del desarrollo firmware.
IMPORTANTE! No se utilizan generadores de código ni librerías de terceros. Lo hacemos todo desde cero, que es como más se aprende!
Si estás interesado en el mundo de los microcontroladores y el desarrollo firmware, este curso te va a ser de gran ayuda y te va a ahorrar cientos de horas de búsqueda de información por tu cuenta. Además, si, por cualquier motivo, el curso no te convence o no es lo que esperabas, puedes solicitar un reembolso durante los primeros 30 días, y se te devolverá en su totalidad, sin pedir ningún tipo de justificación ni hacer preguntas.
Puedes ver el temario y ver el vídeo de presentación para hacerte una mejor idea de lo que vamos a ver. Y si tienes cualquier duda, no dejes de escribirme y te ayudaré en todo lo que pueda.
Espero verte dentro!
Muchas gracias y un saludo!
Javi