Skip to content

Firmware m0801

mefistotelis edited this page May 15, 2021 · 34 revisions

Table of Contents

Target
Purpose
Versions
Structure
OS and Libraries
Flashing
Interfaces

Target

The firmware programs SoC with LTE modem, which handles radio communication (OcuSync) and controls intelligent flight functions (obstacle avoidance). Location of this chip:

Purpose

The module contains programming of a SoC originally designed as main processor in mobile phones; here software-defined part of LTE modem is re-programmed to create OcuSync protocol instead. All stages of the OcuSync transmission are closed within one chip. Remaining processing power and camera interfaces are used to implement obstacle avoidance system (called APAS - Advanced Pilot Assistance System).

Versions

TODO

Structure

The IM*H module within FW update package is always encrypted, with AES, using platform-specific PRAK (WM220) or UFIE (WM240) key.

Decrypted firmware is a JAR file, which when unzipped reveals typical Android boot images (normal.img, recovery.img), an a 2nd stage bootloader (bootarea.img). It also contains new content for system and/or vendor partitions, either as individual files (WM220) or as sparse filesystem images (WM240).

OS and Libraries

The firmware is based on Android, though it is cut down and heavily modified version. 2nd stage bootloader is designed to support IM*H images, and boot images are supplied in form of such encrypted files. Part of the bootloader is also supplied as IM*H image. How much of it is encrypted changes between platforms.

User space has the graphical interface part removed, and works like simple Linux distribution. There are several DJI-made native executables and libraries available within the file system. Some of them are running as services, performing designed functions of the module.

Flashing

TODO

Interfaces

TODO

Clone this wiki locally