Arm and realview
Embedded debugging of arm realview
With the development of embedded applications, especially in the field of digital communication and network, it puts forward higher requirements on processor performance. To adapt to this situation, there have been many multi-core structured processors, such as two or more arm or DSP processors. At the same time, the requirements of various users for different applications greatly increase the complexity of the software. To improve the running efficiency and performance of application software, the use of operating systems has become inevitable. Furthermore, in order to meet different user needs, ARM chip has added many complex peripherals required by customers.
To meet customers' challenges in debugging complex arm SOC and achieve fast and efficient software development, arm developed realview ARM development tools:
◆ SOC Technology Development and debugging
◆ SoC-based product development and debugging
◆ Development and debugging of applications and software
Arm realview series development tools mainly include:
◆ Compiler and Debugger: rvds (realview Developer Suite)
◆ JTAG simulator: RVI (realview ice); multi-ice
◆ Hardware Tracker: RVT (realview trace); multi-trace
Instruction Set Simulator
The Instruction Set Simulator realview armulator ISS is part of the rvds software. armulator ISS can provide precise simulation of ARM/thumb instruction sets, including kernel processors from ARM7 to arm11, developers can start software development and verification debugging before the hardware is complete.
Armulator ISS contains a series of software models that simulate arm cores. The most basic model is the ARM processor kernel model and memory model. Other models can also be defined, such as peripherals and coprocessor.
Armulator ISS not only verifies the logic and functions of the program, but also performs performance analysis. For example, armulator can execute an application to calculate the running cycle of the program, the sequential cycle, non-sequential cycle, coprocessor cycle, and other information can be generated. The data is used to analyze the memory usage efficiency of the Program (figure 1 ).
For armulator, we can also define the type of the processor, the clock frequency of the processor kernel, and the memory information connected to the processor, such as the address, width, and speed, to obtain the program running time statistics.
JTAG simulator debugging Solution
Now all ARM chips support JTAG debugging. JTAG is an IEEE standard, that is, ieee1149.1. Through this standard, you can perform border scan and Fault Detection on the hardware circuit with a JTAG interface chip. The JTAG simulator uses the JTAG port of the ARM chip for device debugging. The JTAG simulator is easy to connect and does not occupy on-chip resources. The simulation is very close to the target hardware system. Using the host debugger and the JTAG Simulator for Development is currently the most commonly used arm debugging method.
The ARM kernel has an embeddedice logic module used to collect the bus signal of the CPU. The communication between embeddedice and the CPU execution unit is carried out through the scanning chain, these scan links are controlled by the Test Access Port Controller and obtained through the JTAG interface of the ARM chip, then, through the JTAG simulator (RVI or multi-ice), you can communicate with the debugger (RVD) on the host platform to debug the ARM hardware platform.
For some arm applications, it may be good for users to perform one-step debugging on the program using the JTAG simulator, but problems may occur when the program runs at full speed. For this problem, you can use the ARM hardware tracker (RVt or multi-trace) to find the problem.
The hardware tracker uses the embedded tracing macro unit (embedded trace macrocell) in the ARM chip to track the program. It can perform high-speed real-time tracking without interfering with the Execution Code, capture all program execution processes and help engineers quickly locate faults to shorten the development cycle and reduce development costs. See figure 2.
Realview debugger -- RVD
RVD is the core part of the arm system debugging solution. This debugger can provide different users with the most appropriate debugging functions. Realview debuggers include IDE, a highly integrated project management and compilation control tool. A powerful debugger allows developers to debug software quickly and conveniently. The RVD debugger not only includes basic debugging functions, such as assembly language and C/C ++ original code debugging, single-step, full-speed running, breakpoint, observation point and tracking point setting; registers, memory, and stack views. You can also implement many advanced functions, such as multi-core debugging and OS awareness ); DSP awareness; Extended Target visibility ). The following is a brief description of these functions:
◆ Multi-kernel debugging support
As customers' application requirements increase, many applications cannot be implemented by a single arm kernel. To meet this requirement, arm has extended the RVD function and can support multiple kernels, such as multiple arm kernels, arm kernels, and DSP kernels; multiple arm kernels + Multiple DSP kernels. The debugging tool uses the JTAG scan chain to automatically detect the kernel of the hardware system. You can display multiple connected kernels as needed, and open a window for each kernel, therefore, you can use multiple windows to display multiple connected kernels. You can configure asynchronous control for each debugged kernel, for example, to control each kernel separately. You can also configure Synchronous Control for each debugged kernel, for example, start, stop, and step at the same time.
◆ The operating system is clearly understood
Users can debug the entire system at a higher abstraction level, instead of focusing on every piece of code. This can hide unnecessary details and focus on the development of the entire application, improve debugging efficiency and shorten development time. Currently, RVD supports OS awareness in most operating systems. You can use OS awareness to observe system resources, such as processes, semaphores, and mailboxes), queue (queues), etc., 3. RVD supports OS awareness in two ways: Stop system debugging HSD (halted system debug) and run system debugging RSD (running system debug ). The entire system needs to be paused during HSD debugging. This allows you to observe and analyze the resources of the entire system. RSD can be used to debug user-specified threads when the system is running, such as setting breakpoints, interruptions, and changing thread priorities. RSD debugging is very suitable for some systems that cannot stop running, such as hard disks.
◆ DSP clarified
This allows you to debug the DSP of the system without the need for DSP debugging tools. It has a unified debugging environment with arm debugging, this makes it easier for users to familiarize themselves with the debugging environment and reduce development costs. This debugging increases the transparency of DSP development so that users can easily develop DSP software.
◆ Extended Target visibility
With this function, you can not only view core registers of arm and DSP, but also define memory ing registers and peripheral device registers that you are concerned about, and define meaningful display formats, for example, the register name, bit definition, and set value can also be easily changed during debugging. You can easily configure the BCD (board/chip definition) file to verify the visibility of the extension target.
Realview JTAG Simulator
Arm's realview JTAG simulator is a high-performance development tool that can be used with the realview debugger to simulate and debug the ARM hardware platform.
RVI (realview ice) supports local connection and network connection. It can be connected to the host through USB 2.0/10/100 or Ethernet Baset. The download speed of code through JTAG can reach kb/s, and the new differential signal line can meet the JTAG clock frequency up to 50 MHz and a longer connection distance. RVI simulators support debugging and Simulation of all the ARM7 series, arm9e series, arm10 series, and arm11 series chips. At the same time, you can upgrade the online firmware (firmware) to support the new ARM kernel. RVI is an adjustable and modular structure. You can add the hardware tracker RVT (realview trace) on it as needed to track and analyze the ARM kernel.
Realview series for advanced debugging Solutions
Embedded systems become more and more complex. From Single-core systems to more and more multi-core systems, from single-task software to multi-task software using operating systems, system debugging becomes increasingly difficult. The selection of appropriate debugging and development tools plays a vital role in the development of the entire product. Arm's complete realview series of development and debugging tools provide an overall solution for various systems. Arm's realview debugger (RVD), combined with JTAG simulator realview ice and hardware tracker realview trace, provides efficient and fast debugging and tracing solutions, become the most advanced debugging solution based on ARM Embedded Systems
This article from the csdn blog, reproduced please indicate the source: http://blog.csdn.net/levisophia/archive/2008/01/30/2073379.aspx