Desarrollo ARM CortexM desde cero

所在平台: Udemy

课程主页: https://www.udemy.com/course/desarrollo-arm-cortexm-desde-cero/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:从零开始学习ARM CortexM开发 课程概述:在本课程中,您将学习如何从零开始开发基于ARM CortexM的项目。课程将使用行业标准工具和开源软件进行教学。重要提示:如果您对参加课程还有疑问,可以使用优惠券40BABDC14ECF85D481D9获得折扣,并在与我的问题和沟通中享有优先权。 课程内容: - 了解Cortex-M的启动过程,包括在进入main函数之前发生的事情,以及如何配置启动和内存。 - 学习生成二进制文件,理解编译和链接标志,并掌握如何在任何板子上使用行业标准工具进行烧录和调试。 - 实践如何将CMSIS库和ST的标准外设库添加到项目中,提供详细的实例以学习如何将任何库集成到项目中。 - 理解启动过程后,将项目集成到Eclipse中,这是一个广泛使用的免费的集成开发环境(IDE)。 - 最后,通过实际示例展示如何在项目中添加实时操作系统FreeRTOS,从而开展多线程和实时应用的开发,进行任务创建、消息队列通信和软件定时器的使用。 课程模块包括: 1. 开发环境的安装与配置。 2. MCU启动过程的深入分析:从复位到main函数。 3. GNU Make工具的介绍,简化编译与链接流程。 4. CMSIS和ST标准外设库的项目集成。 5. Eclipse与我们的项目实现整合。 6. FreeRTOS的项目集成,实现多线程任务和通讯。 本课程是任务驱动的完美补充,适合希望深入理解每个系统组成部分的学习者。许多知识尽管重要,但在行业中往往被忽视或未被彻底理解。

课程评论(0条)

课程详情

En este curso aprenderás a desarrollar proyectos basados en el CortexM de ARM desde cero. Utilizando herramientas estándar en la industria y Open Source.* * * * * * * * * * * * * * * * * * * * * * * * * * * IMPORTANTE!! * * * * * * * * * * * * * * * * * * * * * * * * * * *Si aún tienes dudas de si hacer el curso y necesitas que te ayude a decidir, aquí tienes un cupón de descuento:40BABDC14ECF85D481D9Utilizándolo, recibirás un descuento, tendrás preferencia en las preguntas y comunicaciones conmigo y me ayudarás a que Udemy valore más mi trabajo!* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *A continuación, te detallo de qué va el curso.Entre otras cosas, entenderás el proceso de arranque de los Cortex-M (qué pasa antes de llegar a la función main y cómo se debe configurar el arranque y la memoria). Dedicaremos varias secciones a la generación de los binarios, entendiendo las flags de compilación y de linkado, y veremos cómo flashearlos y depurarlos en cualquier placa usando herramientas estándar de la industria.Posteriormente veremos cómo añadir las librerías CMSIS y la Standard Peripheral Library de ST, como un ejemplo práctico y detallado que os valdrá para aprender a integrar cualquier librería a vuestros proyectos.Una vez que entendemos el proceso de arranque, veremos cómo integrar nuestros proyectos en Eclipse, un IDE gratuito y ampliamente utilizado.Por último, finalizaremos el curso con ejemplos prácticos para mostrar cómo añadir un sistema operativo en tiempo real como FreeRTOS que nos abra loas puertas al desarrollo de aplicaciones multi-threading y de tiempo real. Haremos ejemplos de creación de tareas, comunicación entre ellas mediante colas de mensajes y utilización de software timers.Módulos del curso: Instalación y configuración del entorno de desarrolloComo siempre, una primera sección para la instalación de herramientas, toolchain de ARM, etc que se utilizarán a lo largo del curso. No se usan herramientas propietarias ni de pago para tener un entorno de desarrollo versátil, totalmente gratuito y evitar el vendor lock-in. Todo el curso se realiza en Linux (aunque también se pueden encontrar las herramientas que se instalan para Windows, si quieres dedicarte a esto y sacarle el máximo partido, te recomiendo encarecidamente que uses Linux).Arranque de la MCU. De reset a main. Muchos desarrolladores usan IDEs que hacen todo el trabajo previo a la ejecución de main. Esto hace que no conozcan bien qué es lo que sucede realmente cuando la MCU arranca, ni los pasos necesarios para configurar correctamente la vector table, la memoria, el stack pointer, el reset handler.. y muchos otros detalles que es necesario entender para ser un desarrollador competente. Esto te permitirá depurar problemas de arranque, crear tus propios linker scripts, conocer las flags de compilación y linkado, organizar tu código en secciones, poder decidir dónde meter cada sección en memoria, entender los bootloaders.. en definitiva, tener el control total de lo que hace tu programa desde el momento que alimentas la placa o generas un reset.En esta sección se explica el linker script, el startup file, las flags de compilación y linkado, la librería estandar de C, se analiza el binario generado, se graba y depura en la placa utilizando openocd y gdb.Se combina la teoría con un ejemplo que se crea desde cero y sin la ayuda de ningún IDE, simplemente con un editor de texto.Introducción a GNU MakeUna vez que sabemos generar nuestro binario, vemos como utilizar la herramienta Make para hacernos la vida mucho más fácil. Creamos los Makefile que automatizan la compilación y el linkado y permiten gestionar grandes proyectos.Añadiendo CMSIS y la STM32 Standard Peripheral Library de ST a nuestro proyectoEsto es algo que algunos me habíais pedido. Un ejemplo práctico de cómo añadir CMSIS y la Standard Peripheral Library de ST a cualquier proyecto.Vemos paso a paso, y de forma práctica, cómo configurar e integrar la librería a nuestro proyecto para poder empezar a usar los drivers de ST. Se van resolviendo los problemas a medida que aparecen y se integran también las syscalls de la Newlib.También se amplían los Makefiles de la sección anterior y se muestran un par de ejemplos que hacen uso de los drivers.La idea es que, después de estudiar esta sección, podáis incorporar al proyecto cualquier librería que queráis utilizar.Integración con EclipseUna vez que ya se entiende todo el proceso de compilación y arranque del sistema, podemos instalar cualquier IDE y configurarlo para que utilice nuestros Makefiles. De esta forma, podemos hacer uso de las funcionalidades que ofrece el IDE a la vez que entendemos y controlamos totalmente el proceso de generación de nuestro binario.En esta sección, instalamos Eclipse y lo configuramos para compilar, grabar y depurar nuestro programa desde el IDE. También instalamos los paquetes CMSIS para mostrar los periféricos de la MCU de forma gráfica.Integrando FreeRTOS en nuestros proyectosEn esta sección añadimos a nuestros proyectos FreeRTOS, que es un sistema operativo de tiempo real gratuito y muy utilizado en la industria.Una vez más, se muestra todo el proceso de integración y configuración de forma práctica y desde cero, resolviendo los problemas que van surgiendo hasta llegar a una compilación limpia.Se realizan ejemplos multi-thread donde diferentes tareas se comunican mediante colas de mensajes y se hace uso de los software timers que ofrece FreeRTOS.No se entra a explicar FreeRTOS en profundidad, ya que eso daría para un curso en sí mismo, pero se muestran ejemplos de cómo usar varias de sus APIs de forma que, echando mano a la documentación, podáis empezar a jugar con él y a utilizar el resto de elementos y funcionalidades que ofrece.Este curso es el complemento perfecto al curso de drivers, y completa los conocimientos para poder crear proyectos controlando cada parte del sistema.Muchos de los conceptos que se muestran, a pesar de ser imprescindibles, son a menudo desconocidos o no completamente entendidos incluso para profesionales del sector.

课程标签

0人关注该课程

主题相关的课程