Skip to content

Mipot-Hi-Tech/mip_uart_bridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MIP Series Firmware Example for Dual Core

Overview

The 32001506 family features a dual core microcontroller in which one is dedicated to the radio stack (ARM Cortex M0+) and the ARM Cortex M4 is free for the customer application firmware. It is based on STM32WL55JC microcontroller.

ARM Cortex M0+

The arm®Cortex®-M0+ is reserved for sub-GHz radio management and implements the radio stack required by the specific version of the 32001506. It uses the LPTIM (LPTIM1/LPTIM2) for stack timing requirements and 32 kB SRAM2 block as volatile working memory.

ARM Cortex M4

The arm®Cortex®-M4 is fully available for user application together with all the peripherals not used by the radio part (all except sub-GHz radio components and LPTIM1/LPTIM2). It uses 32 kB SRAM1 block as volatile working memory and shares flash memory with the arm®Cortex®-M0+ core.

IPCC - Inter-Processor Communication Controller

IPCC is used to perform bidirectional communication between cores. It is an ST Microcontroller proprietary inter-core communication controller. For details please refer to “RM0453 Reference manual - STM32WL5x advanced arm®-based 32-bit MCUs with sub-GHz radio solution”.

IPCC communication operates on a common RAM memory area shared between arm®Cortex®-M4 and arm®Cortex®-M0+. In 32001506 a 1 kB area is reserved starting from address 0x20008000 to address 0x200083FF. The IPCC shared memory is totally inside SRAM2 block, so it does not affect arm®Cortex®-M4 available RAM.

About

For more information, please refer to the documents downloadable from the official MIPOT website. Registration is required.

UART Bridge

Designed to test the capabilities of the dual core module, this firmware forwards messages received on the serial line (UART/LPUART) to the M0+ core via IPCC and vice versa. As an initial step, the microcontroller dynamically selects the active serial communication line upon receiving the first signal. This design choice is specific to this example firmware, which primarily serves to illustrate the 32001506 module's functionalities, including IPCC communication and command execution.

Build with MIPOT 30001506CEU DevKit.

Compatibility

Board Overview

  • Application
PAD Description PAD Description
B3 UART TX A4 LPUART TX
B4 UART RX A5 LPUART RX
B1 NWAKE A9 VDD (3.3V)
  • For programming
PAD Description PAD Description
G5 NRST G7 SWCLK
G6 SWDIO G8 SWO

For more information, please refer to the datasheet downloadable from the official MIPOT website.

Step 1 - Import project and build

Open STM32CubeIDE, then File --> Import

In the window that opens, select General --> Projects from Folder or Archive

Click on Directory and select the project folder, then Finish

Build the project img10.

If it becomes necessary to debug the firmware, you need to set the DEBUGGER_ON to 1 in the \Core\Inc\sys_conf.h file.

By default, it is set to 0 to reduce power consumption.

img6

Step 2 - Program the DevKit

Press img11 to download the firmware to the board.

Step 3 - Hardware setup

Step 4 - Software Setup

Start LoRaMiP GUI

Select the COM port to wich the device is connected (highlighted in green)

Application overview

Communication test

#66ffff LoRaMiP GUI --> DevKit

#00ff00 DevKit --> LoRaMiP GUI

For more information regarding the entire list of commands, please refer to the command reference downloadable from the official MIPOT website, directly in the documents section of your product. Downloading is permitted upon registration to the site.

Software needed for development

Tools needed for development

License

Shown in the LICENSE.md file

Important Information

Caution

This project is a firmware solution example on MIP Series. The main goal is to give a starting point on MIP Series Development.

Caution

This project is provided "AS IS" with no warranties.

About

Designed to test the capabilities of the dual core module, this firmware forwards messages received on the serial line (UART/LPUART) to the M0+ core via IPCC and vice versa.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages