FOAT Pre

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

Appraid Tech

FOTA
( Firmware Over-The-Air )
Supervised by

Prof. Tamer Mostafa


Mentor
Eng. Yasser Fathy
Software Tech Lead at APPRAID TECH
Team Members
Mahmoud Sayed Mahmoud Taher Manar Ahmed
Mahmoud Helmy Rashad Younis Mohamed Omran

Youssef Mamdouh Eslam Mohamed Nour Abdulnasser


Abdelaty Elkased Sayed Mohamed Fathelbab Mohammed

Ziad Ashraf Taha Amr Emad Eldeen Seif El Dine Atef


Abd El Aal Abdel Ghafaar Shebl Ahmed

Yosra Mahmoud Hussein Mahmoud Yasmin Mohamed


Mohammed Attaher Fouad El-Sayed Abd-Elfattah Mousa
Why FOTA?
(Firmware Over-The Air)
Why FOTA?
FOTA is indeed a solution that addresses
various challenges and provides significant
benefits in managing firmware updates for
embedded devices.

Why FOTA?
Project Overview

Project Overview
OTA Implementation

OTA Implementation
System Overview
Firmware & Software Update
where the users Release Provides the products
can get new with Firmware system
updates for their
systems or send
diagnostics to get
problems solved.
Communication Protocols
OEM Firmware
CAN Bus
Firmware Updates Update Provider
sent to devices

System Overview
ECU
ESP32 STM32 F4

ECU
Mobile Application

Telematics Unit
Target MCU
It’s the bridge
connecting the server
and the whole system
allowing to send and
receive multiple data
through it.
Hardware Selection
1. Which Hardware Supports Dual-Bank Flash Memory?

Hardware Selection
Choice 1 Choice 2
2. Why Dual-Bank Flash Memory?
Download Activation
0x080F FFFF 0x081F FFFF

Hardware Selection
Active Bank Inactive Bank

0x0810 0000
0x0800 0000
Bank 1 Bank 1

0x081F FFFF 0x080F FFFF

Inactive Bank Active Bank

0x0810 0000 0x0800 0000


Bank 2 Bank 2
3. Why ESP32 as a telematics unit ?

Hardware Selection
CAN Controller
FOTA Video
Flash Memory Map
Sector 0 Sector 12
Branching Unit Branching Unit

Sector 1 Sector 13
Wait CAN frame to process Bootloader Bootloader

Flash Memory Map


. .
. .
. .
Main Task Toggle LED Sector 4 Sector 16
User App User App
OTA Task waits for CAN Frame to
process Bank 1 Bank 2
Software Architecture Design
Static Architecture Design
Bootloader OTA Task

RTOS

Static Architectural Design


Diagnostics (UDS) COM MEMORY

Drivers
GPIO UART CAN Flash

Target MCU
Dynamic Architectural Design
Different Scenarios

Dynamic Architectural Design


Sequence of Events
Sequence Diagram 1: OTA

Sequence of Events
Sequence Diagram 2: Telematics unit & Target synchronization

Sequence of Events
Sequence Diagram 3: GET Version

Sequence of Events
Our way to the Internet
Our way to the Internet
Node-MCU Architecture
Application Code

Node-MCU Architecture
Libraries and APIs

Hardware Abstraction
Layer

Wi-Fi and
Bluetooth stack

File System

Bootloader
Telematics Unit Workflow
Web Application
▪ Interface to upload files

Telematics Unit Workflow


▪ Linking Firebase Storage with Firebase RTDB
Firebase Server
▪ Store uploaded files in storage

Telematics Unit Workflow


▪ Store associated file metadata in RTDB
Node-MCU
▪ Connects to server using Wi-Fi module

Telematics Unit Workflow


▪ Downloads recent uploaded file and stored in File system

Download it
Connect to Monitor Server Send file
into its
server for Updates through CAN
memory
Mobile Application
❑ Mobile App Role.

Mobile Application
❑ Created using React Native.

❑ HTTP requests to communicate with ESP32.


Future Work
Standardization

Future Work
Future Security Measures
Developments

Live Diagnostics
Secure FW update

Why secure firmware update?

What should be protected during firmware update?

Future Work
• Firmware Integrity & Authenticity
• Firmware Confidentiality
• Avoid firmware version downgrading

You might also like