User's Manual

EWB160031M User manual
Proprietary & Confidential Information Egis Technology Inc.
Doc. NO:
9. Software Introduction
9.1 Software Architecture
Figure 1: The Relationship Between User APP & ROM CODE and Patch
Relationship between APP & ROM Code & Patch
OPL1000 consists of two MCU’s of ARM Cortex M3 and Cortex M0. The so-called OPL1000 APP
Development refers to the application procedure for development users on M3 MCU of OPL1000. The
initial M3, M0 firmware of OPL1000 is comprised in the Chip as ROM CODE. Furthermore, as functions
expand and bugs resolved, OPL1000 also provides firmware patch of M3 and M0. Therefore, the
development of user APP is completed based on the foundation of ROM code and firmware patch. Their
relationship can be demonstrated with Figure 1.
The M0 Patch is sent out via Opulinks in the format of binary files. M3 Patch is provided in the
format for lib documents, as the user APP and SDK source code from Opulinks are used as Keil C
project for coding, therefore, the generated M3 bin document include M3 Firmware Patch, SDK and user
APP application procedure. Ultimately, M0 Patch Bin documents and M3 Bin documents are combined
and then downloaded to external Flash, and after OPL1000 is powered up, M3/M0 Bin documents in the
Flash is loaded into RAM to execute. The overall process can be shown with Figure 2.
Figure 2: Compiling of User APP & Patch, Loading Process (without OTA Function)
The two types of Bin documents, supported by OPL1000, are “Pure Bin” documents as shown in Figure
2, as M3 bin document coded with users’ procedure, then combined with M0 bin document in generating
opl1000.bin file. This file stored in Flash 0x0000 position, neither including OTA loader, nor supporting
OTA (Over-The-Air Download) function, and the other is called “OTA Image” document which is based on
“Pure Bin” document, with messages such as OTA Loader and Bin Header, etc. included, in generating