- Introduction
- Interfacing Part1
- VCS and Software Integration
- Toolchain
- Bootloader
- RTOS
- Interfacing part2
- Classical AUTOSAR
- Mega Projects
Content Overview, What and Why ARM, Hardware Components, Motivation To Learn ARM Coterx-M Processors, ARM History, Tools and Env Setup
- ARM Architecture for cortex-m3/4 processors(Armv7-M, Armv7E-M): ISA, Core Registers, Memory Map, Bus Architecture, AMBA Technolgy, Processor Features, Priviledge Levels & Operating Mode.
- Debugging Techniques & SWV
- ARM GCC Inline Assembly
- RCC
- Reset Sequence, Access Levels
- GPIO
- systick
- Stack (AAPCS)
- Exception Model & NVIC
- Faults & EXTI & SYSCFG Drivers
- DMA
- IO pins characteristics
- Logic Levels & UART
- SPI & I2C
- Mega Project(1): Alarm system
software Integration using Git
- Building Makefile, Startup file , Linker Script from scratch
- Communication with debugger using client-server communication.
- Flashing Techniques
- ST Native Bootloader Demo
- Implementing custom bootloader from scratch
- Jumping to user app.
- Read commands.
- Implementing read, write, erase commands
- Enhancement with advanced services.
- ARM System Level Exceptions
- Advanced Schedular Implementation using ARM Features with context switching
- FreeRTOS Porting and simple task training
- Segger J-link tool for time tracing & monitoring
- FreeRTOS objects Trainings
- Task States, idle Task, Notification Mechanism, Hook Function
- Memory Management
- Task Priority
- Synchronization using semaphore & Queue
- communication management using queues
- CAN
- Timers
- Low Power Modes
- LIN
- Introduction
- Memory Stack
- COM Stack
- Implement PORT Driver & GPIO Driver According to AUTOSAR Specs
- custom Bootloader app for f446 MC.
- controlling the user LED on the Nucleo-F446RE board using a custom startup file, linker script and makefile.
- Alarm system
- CAN communication
- RealClock-LED-Effects-FreeRTOS
