Firmware m1301 - o-gs/dji-firmware-tools Wiki

Original URL: https://github.com/o-gs/dji-firmware-tools/wiki/Firmware-m1301

Table of Contents

Target
Purpose
Versions
Structure
Boot process
OS and Libraries
Flashing
Interfaces

Target

The module programs DaVinci video transcoder firmware. Location of this chip:

Purpose

The DaVinci firmware forwards video signal from Cypress serializer to the USB port for mobile app. In boards with HDMI output, it also transcodes the video signal for that output. In addition, it allows to handle RC firmware upgrades via SD-card.

Because RC versions without this chip cannot upgrade firmware via SD-card, that capability was disabled in firmware after GL300b was released. This was done to ensure uniform upgrade method across the product series.

Versions

There are multiple versions, always without package-related encryption. But inside, the binary is encrypted - see Structure chapter for details.

Marking Packages Timestamp Overview
01.00.0012 C1_FW_V01.00.0004 2015-09-22
01.00.0018 C1_FW_V00.01.0000_ForIN2 C1_FW_V01.00.0010 2015-11-19 ... 2016-03-01
01.00.0023 C1_FW_V01.01.0010 2016-03-29
01.00.0026 C1_FW_V01.01.0000 2016-04-01
01.00.0028 C1_FW_V01.01.0020 C1_FW_v01.01.0030 C1_FW_v01.01.0035 2016-05-25 ... 2016-07-08
01.00.0036 C1_FW_v01.01.0040 C1_FW_v01.01.0050 2016-07-25 ... 2016-07-27
01.00.0055 C1_FW_v01.01.0051 2016-09-02
01.00.0056 C1_FW_v01.01.0053 C1_FW_v01.01.0054 2016-09-13 ... 2016-09-14
01.00.0058 C1_FW_v01.01.0055 2016-09-20
01.00.0068 C1_FW_v01.01.0060 2016-10-18
01.00.0074 C1_FW_V01.01.0092 C1_FW_V01.01.0093 C1_FW_v01.01.0080 C1_FW_v01.01.0090 2016-11-25 ... 2016-12-29

Structure

The structure is similar to [module m1300](/o-gs/dji-firmware-tools/wiki/Firmware m1300#structure). OpenSSL salted format is used, with the same encryption method and password.

The files included in firmware update are written in appropriate places of the 128MB NAND flash memory. Map of the flash memory, taken from RC001, is as follows:

Offset Description Content
0000000 U-boot init ubl?.img; initial startup code for u-boot
0020000 U-boot app u-boot.img; main part of the u-boot bootloader
0260000 U-boot env environment variables for the u-boot bootloader; usually not set
0280000 U-boot logo 8bpp image data
0580000 Kernel uImage; the Linux Kernel normally used for booting
09c0000 Root Filesystem ubifs-partition.ubi; Linux Root Filesystem, using UbiFS; contains kernel modules, tools and applications
7f00000 End of flash also end of Root Filesystem partition

Boot process

No analysis of the booting procedure were performed.

OS and Libraries

The software is based on the same solutions as [module m1300](/o-gs/dji-firmware-tools/wiki/Firmware m1300).

Flashing

The flashing techniques from [module m1300](/o-gs/dji-firmware-tools/wiki/Firmware m1300) apply to this module as well.

Interfaces

TODO