[en] In this article a practical laboratory session for teaching operating systems in real time (RTOS) with 32-bit microcontrollers is described. This session is thought to be imparted in the Computer Engineering degree, through a methodology of project-based learning (PBL) [1]. Specifically, this practice session encompasses Hardware/Software RTOS communication between a microcontroller with Cortex- M4 core vector and a software application written in C # using Visual Studio 2010 via virtual serial ports (VCP). This practice is focused as a project that students must be making from scratch, by achieving several milestones, to obtain a final system. The system to develop is divided into two parts. First, we have a STM32 microcontroller family running a completely free RTOS, CoOS, which receives commands to move motors, and simultaneously sends information about distance sensors and using the serial port. On the other hand we have a PC with a Windows system operating family, where a visual application, which shows the value of the sensors and allows to send commands to the microcontroller motion and position is constructed. The development of this type of project is added to the need to use different development tools for firmware and software in parallel, incrementally, and focused to very different fields of use. This practice has been well received by the students, because it has served as an example of the development of a real-time system with embedded peripherals; and it has a direct application in the field of robotics, instrumentation and automatic control.

[es] En este artículo se describe una práctica de laboratorio para la docencia de sistemas operativos en tiempo real (RTOS) para microcontroladores de 32bits en el ámbito de los grados en Ingeniería de Computadores, mediante una metodología de aprendizaje basado en proyectos (ABP) [1]. En concreto esta práctica abarca la comunicación Hardware/Software entre un RTOS en un microcontrolador con un núcleo vectorial Cortex-M4 y una aplicación software escrita en C# usando Visual Studio 2010 a través de puertos series virtuales (VCP). Esta práctica está enfocada como un proyecto que los alumnos han de ir realizando desde cero, avanzando mediante la consecución de hitos, hasta conseguir obtener un sistema final. El sistema a desarrollar se divide en dos partes, por un lado tenemos un microcontrolador de la familia STM32 ejecutando un RTOS completamente libre, CoOs, el cual recibe comandos para mover un motor y un servo, y simultáneamente envía la información de sensores de distancia y contacto usando el puerto serie. Por otro lado tenemos un PC con un sistema operativo de la familia Windows, en el que se construye una aplicación visual, la cual muestra el valor de los sensores y permite enviar comandos de movimiento y posición al microcontrolador. El desarrollo de este tipo de proyectos se añade a la necesidad del uso de diferentes herramientas para el desarrollo del firmware y del software en paralelo, de manera incremental, y enfocadas para ámbitos de uso muy distintos. Esta práctica ha tenido una gran acogida por parte de los alumnos, ya que les ha servido de ejemplo del desarrollo de periféricos empotrados y tiempo real, con una aplicación directa en el campo de la robótica, instrumentación o control automático.