Mô tả

Whether you are new to Python programming or not you need to take a look at this course as an embedded developer.

Do you want to know how to write clean and efficient embedded drivers for stm32 microcontrollers using the python programming language?

If so, then welcome to Embedded MicroPython from Ground Up™


MicroPython is an efficient implementation of Python3 optimised to run on microcontrollers.


Now, why should you ....


Learn MicroPython as an embedded systems developer?

  1. The simplicity of the python programming language makes micropython very easy to learn.

  2. It is very easy to use, and allows you to develop complex firmware and drivers in python with few lines of code

  3. It has an extensive software library which you can import into your project to build very complex solutions. E.g. network socket programming.

  4. It is extensible with C/C++ and assembly, so you can mix assembly and c with micropython to improve code efficiency or simply implement routines that you are more comfortable implementing in low-level code.


So with that understood, let me tell you…


                                                                      Exactly What You’re Getting


This course can be divided into 3 major sections.


                                                                                    First Section

The first section provides practical python essential training for embedded developers. This section is for developers who are not familiar with the python programming language and those who want to brush up on their python development skills. This is required because we need to know who to write python code before we can develop our firmware and drivers in python.

                                                                                 Second Section

The second section deals peripheral driver development. Over here we shall develop drivers for all the standard peripherals of our STM32 microconctoller.

We shall develop the following drivers:


  1. General Purpose Input/Output (GPIO)Drivers

  2. Power Management Drivers

  3. General Purpose Timer Drivers

  4. Timer Output Compare Driver

  5. Timer Input Capture Driver

  6. PWM Timer Driver

  7. RealTime Clock (RTC) Drivers

  8. A Watchdog Timer (WDG) Drivers

  9. Analog-to-Digital Converter(ADC) Drivers

  10. Analog-to-Digital Converter (ADC) Time Triggered Drivers

  11. Digital-to-Analog Converter (DAC) Drivers

  12. Universal Asynchronous Receiver/Transmitter (UART) Drivers

  13. Serial Peripheral Interface (SPI) Drivers

  14. Inter -Integrated Circuit (I2C) Drivers​


                                                                    Last Section


In the final section we shall develop firmware for addressing advanced topics such as:

  • Adding Assembly Language Code to MicroPython

  • Adding C Language Code to MicroPython


Please take a look at the full course curriculum. I hope to see you in the course.


Bạn sẽ học được gì

Develop Embedded Drivers and Firmware using the Python Programming Language

Mix Python with C/C++

Develop General Purpose Input/Output (GPIO)Drivers

Develop Power Management Drivers

Develop General Purpose Timer Drivers

Develop Timer Output Compare Drivers

Developer Timer Input Capture Drivers

Develop PWM Timer Drivers

Develop RealTime Clock (RTC) Drivers

Develop Watchdog Timer (WDG) Drivers

Develop Analog-to-Digital Converter(ADC) Drivers

Develop Analog-to-Digital Converter (ADC) Time Triggered Drivers

Develop Digital-to-Analog Converter (DAC) Drivers

Develop Universal Asynchronous Receiver/Transmitter (UART) Drivers

Develop Serial Peripheral Interface (SPI) Drivers

Develop Inter -Integrated Circuit (I2C) Drivers​

Yêu cầu

  • No programming experience needed - I'll teach you everything you need to know.
  • NUCLOE-F411 Development Board

Nội dung khoá học

17 sections

Introduction

1 lectures
Getting the best out of this course
00:08

Python Essential Training

14 lectures
Setting Up Python
06:37
Printing a Statement
05:41
Working with Variables
06:41
Working with Lists
03:37
Experimenting with Arithmetic Operators
07:31
Working with Conditions
07:35
Working with Loops
14:46
Working with Functions
05:56
Dictionaries
08:15
Implementing Classes
05:17
Adding more Methods to the Class
04:45
Understanding the Class Init Method
04:47
Inheriting from a Class
08:02
More on Inheritance
10:42

Setting Up MicroPython

2 lectures
Getting the Required Tools
07:38
Installling the Required Tools
09:38

Getting Started with MicroPython

4 lectures
Accessing the Microcontroller using a Terminal
06:40
Accessing the Microcontroller using rshell
04:52
Setting an IDE for MicroPython Development
05:55
Getting the Required Documentation for STM32 Development
04:17

Bare-Metal Embedded MicroPython Development

5 lectures
Analyzing the Peripheral and Buses in the Documentation
09:24
Constructing the Memory Address (Part I)
14:50
Constructing the Memory Address (Part II)
14:00
Developing the Bare-Metal Driver
07:39
Source Code Download
00:04

General Purpose Input/Output(GPIO)

7 lectures
Overview of ARM Cortex-M General Purpose Input/Output Module
07:24
Developing the GPIO Output Driver using Direct Register Access
10:08
Developing the GPIO Input Driver using Direct Register Access
10:46
Exploring the MicroPython GPIO Class (Part I)
20:15
Exploring the MicroPython GPIO Class (Part II)
02:54
Developing the GPIO Output Driver
04:19
Developing the GPIO Input Driver
04:41

General Purpose Timers

6 lectures
Understanding STM32 Timers
09:32
Implementing Background Threads using Timers
09:20
Generating Precise PWM Signals using Timers
08:13
Generating Precise PWM Signals of changing Dutycycles
03:36
Developing the Timer Output Compare Driver
12:08
Developing the Timer Input Capture Driver
10:52

Watchdog Timers (WDG)

1 lectures
Developing the Watchdog Timer Driver
24:35

Realtime Clocks (RTC)

1 lectures
Developing the RealtimeClock Driver
11:32

Analog to Digital Conversion (ADC)

8 lectures
Introduction to Analog to Digital Conversion
04:02
Analyzing the ADC Documentation
08:01
Implementing the ADC Driver using Direct Register Access (Part I)
15:03
Implementing the ADC Driver using Direct Register Access (Part II)
07:23
Implementing the ADC Driver using Direct Register Access (Part III)
05:06
Developing the ADC Driver
12:01
Developing the ADC Periodic Sampling Driver
06:07
Reading Internal Channels : Temperature, VBAT, VREF
09:53

Universal Asynchronous-Synchronous Receiver-Transmitter (USART)

3 lectures
Overview of the UART Protocol
07:43
Developing the UART Transmit(TX) Driver
11:37
Developing the UART Receive(RX) Driver
02:43

External Interrupt (EXTI) Programming

2 lectures
Understanding Interrupts
19:44
Developing the External Interrupt (EXTI) Driver
10:49

Serial Peripheral Interface (SPI) Driver Development

6 lectures
Understanding the SPI Protocol
11:19
Developing the SPI Driver- Analyzing the Slave Device (ADXL345)
05:30
Implementing the SPI Read function
22:59
Implementing the SPI Write function
05:12
Implementing the slave intialization function
11:55
Testing the ADXL345 SPI Driver
11:27

Inter- Integrated Circuit (I2C) Driver Development

5 lectures
Understanding the I2C Protocol
09:21
Developing the I2C Driver - Scanning the Bus for connected Slaves
07:59
Implementing the I2C Read function
04:02
Implementingthe I2C Write and Initialization fucntions
04:32
Testin g the ADXL345 I2C Driver
03:07

Power Management Drivers

3 lectures
Developing the Sleep Mode Driver
18:27
Developing the Stop Mode Driver
03:37
Developing the Standby Mode Driver
12:27

Mixing Assembly Code with MicroPython

3 lectures
MicroPython Inline Assembly Basics
06:12
Working with Branching and Looping Instructions
08:31
Developing a GPIO Driver with Inline Assembly
08:42

Closing

1 lectures
Closing Remarks
00:09

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.