-
Notifications
You must be signed in to change notification settings - Fork 429
Firmware m1301
Target
Purpose
Versions
Structure
Boot process
OS and Libraries
Flashing
Interfaces
The module programs DaVinci video transcoder firmware. Location of this chip:
- in Phantom 3/4 RC, the TMS320DM368 chip is on GL300 Interface board,
- in Inspire 2 RC, the TMS320DM368 chip is on RC001 Interface board,
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.
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 |
The structure is similar to module m1300. 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 |
No analysis of the booting procedure were performed.
The software is based on the same solutions as module m1300.
The flashing techniques from module m1300 apply to this module as well.
TODO
This page is created by drone enthusiasts for drone enthusiasts.
If you see a mistake, or you know more about specific subject, or you see an area for improvement for the wiki - create an issue in this project and attach your patch (or describe the change you propose).