21.01.2021, 16:06
Arduino under the Hood
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English + .srt | Duration: 169 lectures (20h 3m) | Size: 5.96 GB
Developing, Debugging and Optimizing the AVR platform for High Performance and Low Power Consumption
What you'll learn:
Program and Software Optimizations to reduce Power Consumption
What is under the hood of Arduino?
Effective Computing for embedded Systems and the Arduino Platform
Pointers to Registers in C
Steps in the GNU Compiler Chain
How to use Makefiles
Communciation Protocols of Embedded Systems
How to debug the AVR using debugWIRE
Programming the AVR using ISP
Fuses and Locks of the AVR
Requirements
Working Knowledge in C or Arduino
Soldering/Breadboard Skills for the Examples and Exercises
Able to work with a Multimeter and read Circuit Diagrams
Description
As one of the most extensive course available: we will be looking at everything and more under the hood of Arduino. In its core the ATmega328P MCU integrates many features, that are not exposed through the Arduino library. While learning how the periphery works, the student will be able to write code exhibiting high performance at a low power consumption. Embedded systems deployed in the field and powered by small batteries can run and collect data for years.
The big advantage of the AVR platform is that many concepts introduced in this course are also applicable to other MCUs. Therefore an entire portfolio of MCUs ranging from the small ATtiny to the larger ATmega series becomes accessible. The ATmega328P used in this course is just an example and the student is encouraged to obtain programming experience for embedded systems not limited to Arduino. This is motivated by practical sessions as well as exercises in which a real world problems are to be solved. In case, questions during implementation arise, the student is able to peek at hints and tips and if nothing works, also the solutions are provided with plenty of comments in the source code.
In this course the following topics are covered, which focus on the practical aspects and what a concept can be used for. In addition, the course does not follow a particular outline and the topics can be taken in any order based on the interest and needs. The covered topics include:
GNU Compiler Collection and what happens at every step and why
A small introduction into C and pointers
Moving from the Ardiuno library to AVR: Less luxury, faster execution, lesser resources
How to compile with Makefiles? Targets, rules and shortcuts
Easy mistakes in C: In C the developer has great power to implement the functionality. But with great power, comes also great responsibility. How to avoid some of the common mistakes and reduce the area for attack vectors (this is not limited to Embedded Systems)?
Peripheries:
Timers, Counters, and Pulse Width Modulation
Interrupts
Communication Protocols
UART/USART
I2C/TWI
SPI
DHT and 1-Wire
USI
How to mimic other, former incompatible, protocols?
Analog Digital Converter
How does it work?
Measuring the Temperature without external components
Measuring Battery Level with the ADC
Analog Comparator
Non-volatile Memories
Flash
How to use the flash (program memory) for constants?
How to use the flash while executing a program?
EEPROM
Fuses
Running the AVR on a Breadboard.
Saving power
Sleeping
Dynamic Clock Frequency
Turning off unnecessary Components
Wake-up Sources
Debugging (with practical examples)
Simulators
JTAG
debugWIRE
After completing this course, the successful student will have the experience not only to evaluate existing software, but also create implementations which are highly optimized to be deployed on small microcontrollers to squeeze out every quanta of performance and battery life.
Who this course is for
Professional Developers curious about various Program Optimizations for Embedded Systems
Embedded System and IoT Engineers looking for tips how to reduce Power Consumption and extend Battery Life for the Arduinoi Platform
Entrepreneurs who want to lauch a product or start-up
Homepage
Code:
http://anonymz.com/?https://www.udemy.com/course/arduino-under-the-hood/