Skip to content
0:00 / 0:00

#microcontrollers#tivac#armcortex-m

#0 Modern Embedded Systems Programming: Getting Started

Quantum Leaps, LLC

74K subscribers • 7 videos on Hallway

YouTube

Beginner. No background in the topic needed.

403K views3 years ago2 recommendations

Systems programmingHardwareEmbedded systemsCOperating systems

An introduction to a modern embedded systems programming course focusing on microcontrollers and low-level execution.

This is an updated version of "lesson-zero" of the "Modern Embedded Systems Programming" video course. The updates include new development toolsets, new structure of the code projects, and new resources for the course. Timeline: 🕑 *Introduction:* In this course, you'll learn how to program embedded microcontrollers the modern way, from the basics all the way to the contemporary modern embedded programming practice. 🕑 *Teaching Approach:* The unique approach of this course is to step down to the machine level frequently and show you exactly what happens inside your embedded microcontroller. This deeper understanding will allow you to apply the concepts more efficiently and with greater confidence. If you are looking for a practical, hands-on, well-structured, and in-depth course explaining the essential concepts in embedded programming, this free course is right for you. 🕑 *Instructor:* The course is designed and taught by Miro Samek -- an embedded software expert with over 30 years of experience. Miro enjoys teaching, and this video course, his books, articles, and conference talks helped many developers improve their skills, pass tough job interviews, and get hired for embedded programming positions. 🕑 *Relevance:* The course started already in 2013, so a legitimate question is: "Is it still relevant?" The answer is YES, perhaps even more so than in 2013, for two main reasons: 1️⃣ Fundamental Concepts: This course focuses on the essential and fundamental concepts in embedded programming, which never go out of style. 2️⃣ ARM Cortex-M Architecture: This course focuses on the prevalent ARM Cortex-M architecture, which over the past decade became unquestionably dominant in the embedded MCU market. Familiarity with ARM Cortex-M is the most sought-after skill that employers are looking for. 🕑 *Prerequisites:* The course starts with the basics, but they focus on the embedded aspects. Therefore it is recommended to supplement this course with a general C programming book or course. Also, it would be good to know how CPU works (e.g., youtu.be/cNN_tTXABUA?si=UEXNelK-AoGHtOFp) 🕑 *Embedded Boards:* You need one of the following embedded boards: TivaC LaunchPad STM32 NUCLEO-C031C6 Simulator 🕑 *Installing USB Drivers:* 🕑 *Embedded Development Toolsets:* You need one of the following embedded development toolsets: IAR Embedded Workbench for ARM KEIL MDK (Microcontroller Development Kit) 🕑 *Installing Device Family Pack in KEIL MDK* The first time you open a project in KEIL MDK, you need to install the "Device Family Pack" for the microcontroller used in the project. 🕑 *Requesting and Installing the License in KEIL MDK* 🕑 *Installing Missing Stellaris ICDI in KEIL MDK* The newer KEIL MDK versions no longer support the hardware debugger called "Stellaris ICDI" on the TivaC LaunchPad. But you can add this support as an MDK extension. 🕑 *Course Projects:

Why it's here

2 people recommend this

What people say. Highly recommended as an excellent, deep-dive starting point for learning embedded C and microcontroller programming from the ground up.

u/Interesting_Lab_3148in r/embedded • Recommends

Stm32 Active object and Super Simple Tasker Example Hi, I'm a model based software engineer working in automotive (powertrain control systems) and code mostly using Matlab / Simulink. I have recently been trying to improve my C coding skills and dig deeper behind the layers of abstraction and hand holding the Simulink auto generated code gives you. Over Christmas I caught covid so thought I would spend some time while stuck in-doors writing an example application for the super simple tasker and active object pattern (as seen on the excellent Modern Embedded systems programming course). Over the past 3-4 days I have written an example application that uses these active objects, the supe…

u/DelonixRegia10in r/embedded • Recommends

What MCU to choose (for learning )? Hello everyone I'm quite new in this embedded world, while trying to search some good materials to learn Embedded on the internet, I found this video from Quantum Leaps channel about Modern Embedded Systems Programming. [video From the video, it mentioned about using 2 specific MCUs ( and in the pinned comment too ) to follow the course smoothly : - **TivaC LauchPad EK-TM4C123GXL** ( based on ARM Cortex-M4F CPU ) - **STM32 NUCLEO-C031** ( based on ARM Cortex-M0+ CPU ) So here is the question **Is it okay for me to use other boards that share similar brands or specs to follow the course smoothly?** Btw, I don't know about the parameters…

u/Prestigious_Battle44in r/C_Programming • Mentions

On “best website to learn c”

I agree 👍 . In fact there are well made videos online on teaching both c and embedded. Here is one such link. I have yet to come across anything better. link to this video Enjoy.

u/PapayaStylein r/embedded • Mentions

What is the best compiler / IDE for the TI TM4C (TivaC) LaunchPad? I’m working with the **TI TM4C (TivaC) LaunchPad**, following this YouTube tutorial series: [video In the videos, the instructor mainly uses **Keil** and **IAR**. However, in practice I’ve been running into issues with both: * **IAR** is proprietary and requires a paid license * **Keil** also requires licensing and feels quite complicated to set up (Packs, ICDI/CMSIS‑DAP quirks, etc.) This leaves **Code Composer Studio (CCS)** as the obvious alternative, since it’s free and officially supported by Texas Instruments. My question is: **What is the best compiler / IDE to use today for the TM4C LaunchPad?** Is CCS…

u/SilenceOfHiddenThngsin r/C_Programming • Mentions

On “Best Way to Learn C for a Self-Taught Data Engineer Moving into Embedded Development?”

link to this video Miro Samek is a total gangster, and this is perhaps the best introduction to embedded programming I've ever come across. he starts slow with the fundamentals of c programming, but he touches on a lot of topics ranging from stack frames and pointers to ISRs all the way into message pump architectures and state machines in RTOS architecture. not comprehensive, but an absolutely excellent companion resource to something more thorough, like k&r, or one of the other heavyweight textbooks on the subject