Skip to content

AhmedElgarnousy/Advanced_ES_Diploma_Playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advanced Embedded Systems Diploma

Embedded-Systems


Table Of Content

Introduction

Content Overview, What and Why ARM, Hardware Components, Motivation To Learn ARM Coterx-M Processors, ARM History, Tools and Env Setup

Interfacing Part1

  • 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

VCS and Software Integration

software Integration using Git

Toolchain

  • Building Makefile, Startup file , Linker Script from scratch
  • Communication with debugger using client-server communication.

Bootloader

  • 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.

RTOS

  • 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
    1. Task States, idle Task, Notification Mechanism, Hook Function
    2. Memory Management
    3. Task Priority
    4. Synchronization using semaphore & Queue
    5. communication management using queues

Interfacing part2

  • CAN
  • Timers
  • Low Power Modes
  • LIN

Classical AUTOSAR

  • Introduction
  • Memory Stack
  • COM Stack
  • Implement PORT Driver & GPIO Driver According to AUTOSAR Specs

Mega Projects

  • custom Bootloader app for f446 MC.
  • controlling the user LED on the Nucleo-F446RE board using a custom startup file, linker script and makefile.
  1. Alarm system
  2. CAN communication
  3. RealClock-LED-Effects-FreeRTOS

About

ARM-Cortex-M3/M4 Processors based Development, STM32 Development, Bootloader, RTOS Development (FreeRTOS), ARM interfacing, Communication protocols

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors