WE310F5  39.00.000
WE310F5 Embedded Platform Software 39.00.000

The WE310F5 module is a fully integrated dual-band, single-mode, combo Wi-Fi (802.11 b/g/n) / Bluetooth Low Energy (BLE) 5.0 module, that provides an easy and cost-effective way for the users to add wireless connectivity to their products. The WE310F5 module is based on an integrated dual-core system-on-chip, with dedicated CPU’s for IoT application, Wi-Fi and BLE to maximize performance. The module delivers advanced features from the Network IoT Connectivity Platform, including virtually seamless coexistence across technologies with pre-integrated support for AWS IoT Software Development Kit (SDK) and for Microsoft Azure IoT Devices SDK to connect with Azure IoT Hub.

Hardware Architecture

WE310F5_Hardware_Architecture.png

Software Block Diagram

WE310F5_Block_Diagram.png

WE310 modules provides various functions that enables the User Application to benefit the capabilities of the SoC, including versatile power management, interaction with the 802.11 radio functions, and networking over the 802.11 link or a serial connection. The software is designed in an object-oriented environment as C does not provide native support for classes and instantiation. Each object's properties are explicitly defined as a structured type, the handling for that object with specific instances of the handle representing object instances. A specific instance of the object structure is passed into asynchronous function calls for an operation to be completed and the callback function is called, it is associated with the appropriate instance of the calling object. Some part of the Software is distributed as library and some part is given in the form of source code.

Software Architecture

WE310F5 module's architecture is organized into eight basic service groups:

Sequence Execution Diagram

On power ON, the Connectivity CPU (CCPU) Core that runs the WLAN and BLE stack starts and runs the primary boot loader present in the ROM. The log UART is initialized to print log data over UART. This code checks for the program mode setting. If the device is kept in program mode, then it waits for the binary to be loaded overt eh UART port. If it is in run mode it releases the reset pin of the APP CPU (ACPU) processor for it to start executing the primary boot code present in ROM. This checks if the secure boot is enabled or not, if enabled does the signature check on the binary present int eh serial flash and then loads the secondary boot code for the KM33 to RAM and starts executing it. It then initializes the system, heap and the RTOS. It creates a thread with entry function M2MB_Main where the user must write the code. Once the scheduler runs, M2MB_Main function get executed. User can create more thread based on application requirement or it can use the same thread to do all its processing. User code call various m2mb functionalities to writhe the application.

WE310F5_System_architecture.png

Flash Memory Map

WE310F5_Flash_Memory_Map.png

A firmware consists of images for each core and the module consists of two firmware blocks, one is for current and the other is for the Firmware Upgrade. There are two bootloader section for each core, which never change. The bootloaders are flashed when the module is flashed through the flash loader. During OTA either the Image 1 or Image 2 location get updated based on the location from where the current code runs. There are two sections of system data, which user shouldn’t modify it. The file system is kept at the end and is of 512KB.

SRAM Memory Map

WE310F5_SRAM_Memory_Map.png