If your plan is to watch the videos and not attempt certification, then yes you may do the labs with whatever microcontroller you want. From an educational perspective most microcontrollers are equivalent. Writing an RTOS for the Raspberry Pi or BeagleBone will be much more difficult than writing one for the Cortex M. On the other hand, if you wish to interact in the lab discussion groups or wish to obtain the certificate, then you must use either the TM4C123, the LM4F120 or the MSP432 LaunchPad from Texas Instruments. This is because we have developed grading software that will test the function of your labs running on the TM4C123, the LM4F120 or the MSP432 board. The LM4F120 LaunchPad is an old board that is almost identical to the TM4C123 board, and close enough for this class.
This RTOS class is a follow on to the Embedded Systems class. Both courses exist in the general field of embedded systems. Both courses involve C programming on the Keil uVision IDE, although the embedded systems class uses Keil 4.7, while this course uses Keil 5.xx. Both courses will run on the Texas Instruments TM4C123. The embedded system class required the TM4C123, while this course uses either the TM4C123 or the MSP432 LaunchPad. In the embedded system class, the focus was on the hardware and software aspects of interfacing input and output devices. The focus of this class will be developing a real-time operating system required in more complex embedded systems. Both the hardware and software aspects of I/O interfacing will be abstracted in this class, so we can focus on the RTOS. The manner with which the embedded system class managed wifi and the internet is similar to the manner with which this RTOS class manages Bluetooth. Lab 16 in embedded systems created wifi by connecting a CC3100 boosterpack in which the internet stack was implemented. The TM4C123 generated internet activity by sending high-level commands over a serial link to the CC3100. Lab 6 in this class will implement Bluetooth by connecting a CC2650 boosterpack in which the Bluetooth stack is implemented. The TM4C123/MSP432 will generate Bluetooth activity by sending high-level commands over a serial link to the CC2650.
Although very helpful, the embedded systems MOOC is not a strict requirement to be able to complete this MOOC. This course involves C programming. Therefore, it is a requirement to be able to program in C. The I/O aspects of embedded systems have been abstracted in hardware (MK-II BoosterPack) and in software (board support package).
Read the chapters and do the quizzes. You can open up the projects and develop a plan for software development. However, we strongly recommend that you write very little code before you have a chance to debug. Debugging will require the actual board. You can however proceed with just the TM4C123 or MSP432 LaunchPad.
We do not recommend it, but it is possible to develop a set of I/O devices that support the same function calls as defined in the BSP package. Devices like the switches, LED, joystick, microphone, and buzzer are simple hardware connections, and will not require software modifications to the BSP.c. Using different accelerometer, temperature sensor, and LCD will require both hardware and software modifications.
We're excited to offer the opportunity for you to enroll in our ID verified Certificate of Achievement program with our course. An edX verified certificate shows that you have successfully completed your edX course and verifies your identity through your photo and ID. We will announce the exact date in the Update Page of the edX class. We encourage students to do a couple of labs before spending the money just to make sure you think it is possible to earn enough points to achieve the certificate.
Yes, this course corresponds to the Electrical and Computer Engineering course EE445M/EE380L.6 Real-Time Operating Systems, which is both a senior-level undergraduate technical electrive and an introductory graduate class. Both classes focus on the RTOS by abstracting the I/O. There are a few differences: the campus course includes CAN and ends in a 2 or 3 microcontroller system that runs an automonously driving robot.
If the MK-II BoosterPack is unavailable or too expensive, you will be able to write and debug your RTOS. However, you will not be able to achieve certification without the MKII BoosterPack. Without the external I/O devices, the system will not do anything, but the RTOS will still run.
The class is based on the textbook Embedded Systems: Real-Time Operating Systems for ARM Cortex-M Microcontrollers ISBN: 978-1466468863 and is available on Amazon. However the purchase of the textbook is not required. The book would be useful as a reference or for further study.
The first option of just listening, reading and playing with interactive animations will take 2 or 3 hours per week. The second option of building and testing systems on the real microcontroller will require 10 hours per week. Two important factors that will affect your hours per week are your software debugging skills and your ability to get help from others taking the class.
Yes, any system running Windows XP, Vista, Windows 7, Windows 8, or Windows 10 will be ok. Furthermore, with a third party virtualization software like Parallels or VMware Fusion, one can install the Windows operating system on a Mac. You will not be able run the lab software on Linux. You will need to be able to install the Keil uVision integrated development environment, which will require administrative privileges to the PC.
It does not cost anything to take the class. There is an option for a ID-verified certification for $99. However, since this a lab-based class, there is a lab kit you will purchase.
One can purchase the microcontroller board and parts for about $87 plus shipping. The following prices are from the Texas Instruments estore. The EK-TM4C123GXL and MSP-EXP432P401R LaunchPad costs $12.99 (need only one). The BOOSTXL-EDUMKII BoosterPack costs $45. The LAUNCHXL-CC2650 LaunchPad costs $29. The CC2650 board is required to do the Bluetooth lab.
Yes, there are three approaches to taking this class. You could just listen to the videos, read the assignments, and play with the interactive learning tools. The second option involves installing the Keil uVision integrated development environment on a Windows PC, and performing the lab assignments in simulation mode. The third option, which fully captures the essence of embedded systems, can be done by performing the lab assignments on a real system that you will purchase.
Anyone is allowed register, but we believe to get the maximum benefit you should have prior C programming experience at an intermediate level. This course involves C programming with arrays, structures, loops and pointers. Even though there is some assembly language programming in this class, you do not need prior experience in assembly language programming.
Yes, but not directly. The discussion forms are the appropriate venue for questions about the course. Instructors will monitor these forums and try to respond to the most important questions; in many cases responses from other students will be adequate and faster.
You should purchase the microcontroller and two BoosterPacks before the start of class. We will provide instructions at Worldwide
First of all, the book is not required. Any version since May 2013 will be OK. It turns out all the code in this class will run on either TM4C123 (Tiva) or LM4F120 (Stellaris). Older versions of the book focus on the LM3S microcontrollers. The LM3S1968 and TM4C123/LM4F120 are fundamentally similar but not identical. The online course will provide up to date reading, the software installation will have up to date example code. Therefore I think the old books will be fine as a reference of interface circuits and fundamental concepts. Therefore I do not recommend buying the newer version if you have an older version.
You will need to purchase either the EK-TM4C123GXL and MSP-EXP432P401R board from Texas Instruments. It is ok if you can find the older LM4F120 LaunchPad, because it is very similar to the TM4C123. The advantages of the TM4C123 include: faster bus clock (80 MHz versue 48 MHz), USB, CAN, two ADC modules, and more 32-bit timers. This course will not need USB or CAN. The advantages of the MSP432 include: more RAM (64k versus 32k), lower power, 14-bit ADC, and simpler I/O programming. We suggest you get whichever board is less expensive or easier to buy.