STM32
I am a firm believer that if you
really want to learn how to use a microcontroller you must write your own
peripheral drivers using direct register access. Even if you later end up using
an established library, you will understand what that library is doing and what
all those settings mean. You will learn to appreciate the cleanliness of 5
lines of code that accomplishes the same thing that 20 lines of code accomplishes
using a library. You can then take your code and make your own abstraction
layer, as you will see in the following videos you will be able to write your
own functions and know exactly what they do. Learning how to use the registers
for one microcontroller will allow you to pick up any microcontroller from any
manufacturer plus the datasheet and start programming it, because for the most
part they are all programmed the same exact way and it is only naming
differences. Below is my attempt to make this subject understandable and less
intimidating. I am not a teacher and have no training in education so if my
style does not work for you, my apologies. Otherwise proceed and enjoy.
The following tutorial series is
a work in progress. If you have landed here only to encounter a series that abruptly
ends, do rest assured that more content is coming. I am working hard on completing
many series of tutorials on an array of subjects. Feel free to shoot me an
email to remind me about a specific tutorial I may have forgotten.
Note: This is not a C tutorial, it is assumed you know the basics of the language. However, I do review bitwise operations because they are an integral part of embedded C. I suggest you review structures and pointers (just basic pointers nothing fancy).
Note: This is not a C tutorial, it is assumed you know the basics of the language. However, I do review bitwise operations because they are an integral part of embedded C. I suggest you review structures and pointers (just basic pointers nothing fancy).
Prerequisites
1. Intro / overview of what you will learn.2. Development environments :
- Keil
- TrueStudio
3. Intro to Register access.
4. Bitwise operations
5. Systick : delay
6. Basic Debugging intro
7. Printf for debugging
5. Systick : delay
6. Basic Debugging intro
7. Printf for debugging
GPIO
- Overview
- Output
- Input
- Interrupt
- Alternate function
GPIO : Driver Abstraction
- Header File
- C File
Thank you for your efforts! This is exactly what I've been looking. Im going to write my drivers too for my stm32f407 micro, so that I can learn how they work.
ReplyDeletehello sorry for the late reply! How did your journey go on writing the drivers? I plan to remake these videos and be more active.
DeleteHi. Your lecture series is one of the most fundamental, in depth and clear than all others. I liked your way of explaining. Thanks a million. Looking forward to more and more topics.
ReplyDeleteEddie your youtube blog is reeeeeallly helpful! I was looking for that information on numbers of different sites and here it is, all in one place, just watch!!)))))Thanks a lot, hope your current site will be even better.
ReplyDeleteThis comment has been removed by the author.
ReplyDeletewhen is your video are coming please reply me
ReplyDeletewhat video exactly are you looking for? I have a lot on youtube already and working on some more.
DeleteEddie,
ReplyDeleteMy name is Russ. I retired a few years ago after working with embedded software for many years. I took a few years off (from embedded stuff, while building a machine shop) and then decided to get back into it a little bit to make some gadgets to support the machines and projects. I had played with the Cortex-M0 (NXP Kinetis) a while back but decided to try out some of these dirt cheap STM32 based microcontrollers. Took a look at some YouTube videos to get acquainted with these parts (I like 'em) and came across your stuff. I get the biggest kick out of listening to you explaining how to use the various subsystems of these parts. You really have a knack for instruction, explaining things in detail but with a lot of enthusiasm. It is clear working with 'C' is effectively effortless for you (as it was for me before age got to me and slowed things down a bunch). I look forward to checking out what you decide to do next. It would be a hoot to see you move towards real-time multitasking systems (my specialty, back in the day). Thanks for all you are doing. Good luck.