"In product development, hardware debugging tools are undoubtedly an indispensable assistant. At present, in addition to the debugging tools specially developed by various companies for their own products, we often see and are familiar with them, nothing more than segger's j-link series and arm's ULINK series. In the field of debugging tools, there is also a professional Lauterbach, the world's largest manufacturer of third-party hardware auxiliary debugging tools. Maybe you haven't used its tools, but just heard about it. There are many companies that strive for excellence in professional technology in Germany. Their names may not be well known to the public, but they are well-known in the industry and are very worthy of our study. This professional third-party debugging tool manufacturer headquartered near Munich, Germany, is famous all over the world for its powerful and world-leading trace32 development and debugging tool. Trace32 development tool has very rich and powerful functions, including basic debugging configuration, RTOS, multi-core system, virtual target debugging, energy consumption analysis and powerful script language, It can support more than 80 common microprocessor architectures used in the market.
There is no doubt about the powerful function of trace32 development tools. However, with the increasing share of low-power 32-bit Cortex-M series processors in the embedded market year by year and facing the Cortex-M series processors of low-cost systems, trace32 development tools undoubtedly seem to be overqualified, and just in the middle of last year, Trace32 camp finally gave birth to a low-cost debugging tool for Cortex-M series processors—— μ Trace。 The "aristocrats" in the debugging tools can't resist the sweeping wave of arm after all. What does this simulation debugging tool look like and what are its characteristics at a price of less than 20000 yuan? Love board network engineers take you to uncover layers of veil.
Lautbach μ Trace development tools
μ Trace development tool features:
Support more than 1000 different cortex-m-based chips
Connect the host through USB3.0 interface
Support standard JTAG, serial debugging (SWD) and cjtag (ieee1149.7)
256MB trace memory
Half size 10 -, 20 -, 34 pin connectors for target hardware, and various adapters that can be used with other connectors
Voltage range 0.3V ~ 3.3V (5V tolerance input)
As shown in the figure above, lautbach obtained by Aiban μ The trace development tool includes a μ Trace debugger, a combiprobe debugging cable, a JTAG interface transfer module, a USB3.0 cable, a 7.5V output DC power adapter and some Mipi debugging interface transfer cables.
Little knowledge
Mipi interface: a set of interface standards defined by Mipi alliance to standardize the internal interfaces of mobile devices, such as camera, display screen, baseband and RF interface, so as to increase design flexibility and reduce cost, design complexity, power consumption and EMI.
μ Trace debugging tool
Compared with the simulation debugging tools we usually see, μ Trace is undoubtedly tall. Its 180 * 80mm head is more like a scientific and technological product with strong visual impact. The most prominent is undoubtedly the black mesh grid on the front and the built-in cooling fan, which solves the problem μ The heat problems caused by trace in constant time, high-intensity debugging and big data transmission are shown in the figure below.
μ Trace debugger
stay μ Three red LED lights are distributed on the left side of the trace debugger fan, which are respectively used to display the power when urace is powered on and started, the record when saving debugging data, and the running status when the debugger is working. The sidebar is distributed with a 7 ~ 9V DC power supply interface, a USB3.0 interface and the interface of signal probe, as shown in the figure below.
μ Trace interface
USB3.0 interface is no stranger to everyone. At present, it has basically become the standard configuration of notebook computers on the market. Similarly, it can also be downward compatible with USB2.0 and equipped with USB3.0 interface μ On the premise of not losing data, trace can transmit and save tracking information data at a high rate, up to 100MB / s.
On the other hand, the signal probe interface is μ Trace's commendable unique function through connection μ The probe head of trace can collect / record analog signals, such as current or voltage, which is of great significance for energy consumption test of equipment sensitive to energy consumption. stay μ On the trace debugger, with the corresponding debugging software (trace32 powerview), you can view the execution status of the corresponding software code through the changes of hardware circuit current, voltage and energy consumption, or view the changes of hardware circuit current, voltage and energy consumption through the execution of software code. Isn't it amazing! At present, this function has not appeared in other simulation debugger products on the market. It focuses on innovation. This is a thinking company.
Look again μ The as like as two peas on the right side of the Trace debugger host fan, see the following figure. This is also the debug interface for Lauterbach to connect CombiProbe, and the two identical 40PIN interfaces.
μ Trace debug interface
Except with μ The 40pin MIP interface connected to the trace debugging host and the combiprobe connected to the target board adopt the 34pin Mipi debugging interface, as shown in the figure below. With the arrangement of Mipi debugging interfaces of different models, it can support the Mipi debugging interfaces of all development boards.
μ Combiprobe of trace
However, at present, not all development boards in the market are equipped with Mipi interfaces, and most switch boards follow the standard JTAG interface. Therefore, the 34pin Mipi interface of combiprobe cannot be directly connected with the development board. At this time, lautbach's JTAG interface adapter board is required, as shown in the figure below
Commissioning interface adapter board
Even though it is a small JTAG adapter board, the process is also powerful. The front of the adapter board is also equipped with two 34pin MIP interfaces, which exactly match the male and female connectors of combiprobe. Through the adapter board, you can get a 14pin or 20pin standard JTAG interface, which is very practical( (next page)
μ Trace development tool usage
I think it's over μ After the introduction of trace development tool, we are full of expectations for its use in the actual environment. Aiban engineers will take you to further understand it with practical experience μ Trace development tool.
When it is officially put into use μ Before debugging the trace development tool, you need to make some preparations:
Prepare a Cortex-M series development board
Install trace32 powerview software debugging environment and USB driver
Since the development board of Mipi debugging interface was not found, Aiban engineers decided to select the well-known stm32373c-eval development board of Italian French semiconductor company and the standard 20pin JTAG interface. This requires the JTAG adapter board introduced above. The following figure is the test board through transfer μ Trace establishes a connection with the st development board.
μ Trace is connected with stm32373c-eval development board through
As for the software debugging environment, lautbach provides μ Trace matches the debugging software trace32 powerview, which is also the debugging software of all trace32 development tools.
The installation process of powerview is very simple. I won't introduce it one by one here, but μ The trace development tool and St board are powered on and connected through USB3.0 cable μ The trace debugger is connected to the computer, as shown below
μ Power on connection between trace and stm32373c-eval development board
Open the powerview debugging software. At this time, you can choose to create your own project file, or click start to directly enter the software debugging interface, as shown in the following figure
Trace32 powerview debugging software interface
Trace32 powerview's software window is very simple. From top to bottom, it can be simply divided into main menu area, shortcut button area, work area, line command input area, line command soft key area and status display area. Powerview also provides users with a highly free interface operation environment. Users can customize and add common functions such as menus and shortcut keys.
However, what makes powerview more different is its line command input function. In the trace32 interface, you can use the menu and mouse to complete the operation, but you can also fully use the line command operation. It can not only complete all the functions that the menu mouse can achieve, but also obtain greater maneuverability and flexibility. Of course, the premise is that you should be familiar with these commands.
In addition to the powerful command function, trace32 also has embedded fast and convenient script processing function. You can save the commands to be executed in the script with. CMM as the suffix. At this time, the script is equivalent to a batch file. Bat in windows. You can get the operation you need by loading the script and avoid repeated input, which can be said to be the biggest difference from the common debugging software keil and IAR.
For example, enter print "Hello world!" in Notepad Save the script file as a. CMM suffix. Execute the script in the command line box to see the output Hello world! Words, see the figure below
Script application example
To get down to business, when setting the microcontroller of the development board, you can enter system.cpu in the command line area to select the model of the microcontroller. However, for engineers who first contact powerview, the honest menu operation is relatively easy. CPU -- > system setting, as shown in the figure below
Configure the microcontroller model and establish the connection between the debugger and the development board
In the system setting window, first select the microcontroller model in the CPU box and select the debugging clock frequency. Up in the mode box is the option to establish the connection between the debugger and the development board. After this step is completed, you can officially debug the development board. In addition to JTAG debugging, you can also configure SWD debugging under the config menu( (next page)
Commissioning and tracking of SMP system and AMP system
However, these are not much different from ordinary debugging software, and what we should focus on is μ Another flexible function of trace development tool here is to support the debugging and tracking of SMP system (symmetric multiprocessing) and AMP system (asymmetric multiprocessing) of multi-core microcontrollers. Under the config menu, select the JTAG tab, as shown in the figure below
μ Trace synchronous multi-core debugging (SMP) and asynchronous multi-core debugging (AMP)
In the figure above, we can see that the core option is gray. Because the engineers of aiban.com do not have a multi-core Cortex-M microcontroller board, and the current target board stm32373c-eval is based on a single core cortex-m4 core, it is impossible to realize the multi-core debugging function, which is a pity. However, this does not affect our understanding of lautbach multi-core debugging technology.
For SMP system, I believe you should be familiar with it. It refers to a microcontroller including two or more cores. These cores usually adopt the same instruction set, or at least adopt a compatible instruction set. A single SMP operating system assigns tasks to the core (static or dynamic), all cores start and stop synchronously, and on-chip breakpoints are set in parallel in the debugging registers of all cores, As shown in the big.little system in the figure below.
SMP symmetric multiprocessing
SMP system is still common. At present, the debuggers of all kernel architectures on the market basically support the debugging and tracking of SMP system. The following is mainly about the debugging and tracking of lautbach's asymmetric multiprocessing system, as shown in the figure below.
Amp asymmetric multiprocessing
An amp system consists of several subsystems: a separate kernel and / or an SMP system. All subsystems can be assigned different operating systems, support separate synchronous start and stop of subsystems (configurable), and the on-chip breakpoints for each subsystem and the tracking filters and triggers of each subsystem can be programmed separately. For multi-core debugging, lautbach's amp system function is very practical and powerful, which is unmatched by other debugging tools.
μ Trace debugging and tracking
Back to the previous debugging of stm32373c-eval development board, after the basic debugging settings in system setting, we can directly click the "play key" symbol go in the shortcut key bar of powerview to start debugging, as shown in the figure below
Assembly code debugging
Without loading the original code of the object code, we can still see the debugged assembly code in the debugging window. Why? This is because trace32 can disassemble machine code into assembly language for debugging without object code. Is it very powerful.
If you want to debug the source code, you can load the. ELF file containing the debugging symbol information by running the script. Taking stm32373c-eval development board as an example, you can run the stm32f3xx.cmm script, which is provided in trace32 powerview development software, and then load the. ELF file loaded into stm32373c-eval development board to see the source code, You can also switch different display modes through mode, as shown in the following figure
Mixed debugging of C code and assembly code
The most basic operation in debugging is the setting of breakpoints. Trace32 powerview can support the setting of simple and complex breakpoints, and easily realize the power-off setting of software and hardware in the shortcut bar, as shown in the figure below
Breakpoint setting, software and hardware breakpoint setting
besides, μ With powerview software, trace development tool can also realize a variety of different functions, such as code coverage viewing function (removing redundant codes and dead codes, improving codes), combining ETM and ITM tracking data, identifying operating system tracking, and storing in μ The functions of FIFO mode tracking information in the 256MB memory of trace, stream mode tracking information stored in the host hard disk through USB3.0 and real-time performance analysis are shown in the figure below
μ Trace function of trace debugger
μ SWD debugging of trace32
μ There is no doubt that the trace development tool cooperates with the powerful function of trace32 powerview software. In addition to the board debugging of Mipi interface and standard JTAG interface, the debugging can also be realized through flying wires on many common SWD interface development boards, such as stm32f3discovery board in the above figure. Finally, let's summarize μ The functions of trace.
Debugging function
Our other product: