Embedded ARM Cortex-M3 Programming Guide
What you'll learn
- Embedded system Programming
- Microcontroller and CPU architecture
- Basic C and Assembly Language
- Debugging your own embedded C code
- NVIC Controller
- Systick Timer Programming
- Writing Basic Interrupt Handler
- Supported Memories Types And Attributes
- Writing Basic Scatter file (armlink based linker script)
- Cortex-M3 Modes and States
- Interrupt Context Switching
- How to Use Keil for Debugging
- Cortex-M Memory Barrier and Instruction Execution Order
- How to Go Through Microcontroller (LPC1769) Reference Manual as well as ARMV7M Reference Manual
- MPU (Memory Protection Unit) Programming
- Cortex-M3 Supported Fault Exception and how to analyze Faults
- Basic knowledge on C language
- NXP LPC 1769 Microcontroller
This Course is a guide for embedded arm Cortex-M3 based platform programming.
Taking this course will allow you to :
Get familiar with cortex-M3 different hardware blocks and internal registers
Low Level Programming of Cortex-M3 internal Registers, Modes/states switching, Systick Timer configuration
Low Level Debugging of C and Assembly Code
Understanding how the Cortex-M is working and how to deploy the available blocks for your embedded Application
Interrupt management and NVIC controller will be clear for you
MPU (Memory Protection Unit) Programming
Fault Exception and analyze Fault root cause
Basic Embedded C and Assembly Programming for Cortex-M Based Platform
Get to know Memory Types as well as Memory Barrier within Cortex-M3 System On Chip and how to re-order instructions execution
Writing Basic armlink scatter file (arm based linker script) and allocate your code in different memories region with linker script
Go through Microcontroller (LPC1769) reference manual a well as armv7m reference manual
Use Keil IDE for Debugging
By the end of this course you will be able to program your first embedded C application that will run on Cortex-M based Microcontroller like LPC1769, and you will understand how really the Cortex-M3 is working and you will be able to debug it without issues.
Embedded System consist of the ability to find the location of the information that you need to configure specific hardware block or to understand some CPU functionality, with this course you will know where to look for such information and how to look for it
This Course is suitable for:
For beginners who start searching for their own way on embedded system
Students trying to have better understanding of Cortex-M Functionalities and tooling
Professionals Trying to extend their knowledge or trying switch to Embedded System Domain
I will Start doing more courses to cover Cortex-m toolchain aspect (tools, different compilers, linkers, ..), Cortex-m33 Trust zone and more ...
Will be my pleasure to answer any question and don't hesitate to get back to me :)
Who this course is for:
- Beginner to advanced embedded system Student and Engineers
I am senior embedded software engineer with more than 10 years experience in embedded system and arm based microcontroller, worked and still working in big semiconductor companies like STMicroelectronics.
I am trying to give an interesting experience through my courses to give better overview about embedded system programming in arm based micro-processor.
Anticipate issues that may be faced during learning curve to avoid wasting hundred of your hours in problems already covered by those courses.