A Comprehensive Embedded Development Debugging Tool

A Comprehensive Embedded Development Debugging Tool

In the workplace, what is the most direct and efficient way to report work to leaders? Of course, it’s through a graphical interface! A graphical interface can better express the logical thinking of a program design, making it clear at a glance. Today, I would like to share a professional and comprehensive embedded debugging toolset: Micro-Lab.

1. What is Micro-Lab?

Micro-Lab can be regarded as the best embedded debugging tool to date. All the pain points encountered during debugging are addressed here, and many new features have been introduced, such as a brand new serial/network debugging service and associated modules, permanent storage of sending history with support for aliases, dynamic instruction programming for serial/network, virtual oscilloscope for serial/network, super calculator, ModBus RTU calculator, DTU, serial-network splitter, application shadowing, numerous development auxiliary tools and materials, and the revolutionary event-driven upper computer programming tool—VanGogh configuration canvas, among dozens of other functions.

Users do not need to master any PC programming language; they can easily get started by simply dragging and dropping components with the mouse. From requirement to prototype takes only a few minutes! Whether in terms of user experience or functional practicality, it is absolutely top-notch. Micro-Lab can be said to have redefined embedded debugging tools and has become a benchmark in the industry.

Let’s take a look at what it looks like in detail!

A Comprehensive Embedded Development Debugging Tool
A Comprehensive Embedded Development Debugging Tool
A Comprehensive Embedded Development Debugging Tool
A Comprehensive Embedded Development Debugging Tool
A Comprehensive Embedded Development Debugging Tool
A Comprehensive Embedded Development Debugging Tool
A Comprehensive Embedded Development Debugging Tool
A Comprehensive Embedded Development Debugging Tool

2. Micro-Lab Graphical Interface Design and Usage

A Comprehensive Embedded Development Debugging Tool

Switch to the configuration canvas page, then manually drag the relevant controls from the left to the control placement area in the middle. When one of the controls is selected, its properties can be changed on the right, similar to operating a serial screen. Even if you have never used it before, you can quickly get started without reading the documentation.

After the control layout is complete, right-click in the control placement area and select Run. At this point, the interface you just created will pop up, as shown below:
A Comprehensive Embedded Development Debugging Tool

In this way, when we are debugging the board, we can operate the interface very conveniently and visually, sending the corresponding commands. Isn’t that very convenient? Doesn’t it feel a bit like GUI?

3. Porting the SDK to STM32

Here I am using the core board STM32F103C8T6.

1. Copy the SDK package to our project.

A Comprehensive Embedded Development Debugging Tool

2. Add the SDK source files in MDK and include the SDK header files in MDK.

A Comprehensive Embedded Development Debugging Tool
A Comprehensive Embedded Development Debugging Tool
A Comprehensive Embedded Development Debugging Tool

3. Modify the project.

A Comprehensive Embedded Development Debugging Tool

4. Use Micro-Lab.

A Comprehensive Embedded Development Debugging Tool

5. Here we use Micro-Lab’s dynamic canvas to control an LED light on the minimum system board.

int main(void)
{
 delay_init();
 uart_init();
 LED_Init();
 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
 initCanvas(events);
 while (1)
 {
 for(char i=0;i<CANVASEVENTLIST_SIZE;++i)
 {
 if(events[i].componenttype!=NONE_COMPONENT)
 {
 switch(events[i].componenttype)
 {
 case SWITCHBUTTON:
 {
 if(events[i].componentnumer==0)
 {
 if(events[i].componentmsgtype==SWITCH_ON)
 {
 LED=0;
 printf("SWITCHBUTTON  ON, ");
 printf("MSG : ");
 for(unsigned short j=0;j<events[i].msglen;++j)
 {
 printf("%2X ", events[i].msg[j]);
 }
 printf("\r\n");
 }else if(events[i].componentmsgtype==SWITCH_OFF)
 {
 LED=1;
 printf("SWITCHBUTTON  OFF, ");
 printf("MSG : ");
 for(unsigned short j=0;j<events[i].msglen;++j)
 {
 printf("%2X ", events[i].msg[j]);
 }
 printf("\r\n");
 }else
 {
 }
 }
 }
 break;
 default: break;
 }
 events[i].componenttype = NONE_COMPONENT;
 events[i].componentnumer = 0;
 events[i].componentmsgtype = NONE_MSG;
 events[i].msglen = 0;
 }else
 {
 }
 }
 }
}

Here, I used the example from Zhen Dian Yuan Zi. Considering that most of my followers are students, they may be more familiar with the programs from Zhen Dian Yuan Zi and Ye Huo, making it easier for them to port or understand. Haha, isn’t the editor very thoughtful?

6. Open MicroLab and create a new canvas.

A Comprehensive Embedded Development Debugging Tool

7. After downloading the program to the board, right-click on the dynamic canvas -> Run, click the button, and the LED light on the board will turn on and off together.

A Comprehensive Embedded Development Debugging Tool

The following video is from Guo Guo Xiao Shidi.

Micro-Lab is continuously evolving, and I believe there will be more fun features in the future, so stay tuned!
A Comprehensive Embedded Development Debugging Tool

END

Source: Guo Guo Xiao Shidi
Copyright belongs to the original author. If there is any infringement, please contact for deletion.
Recommended Reading
How Difficult is it to Get Started with Renesas MCU?
Implementing State Machines in C Language (Practical Edition)
Coding Style: µCOS vs FreeRTOS

→Follow to Stay Updated←

Leave a Comment