Renesas Electronics’ on-chip E2 Emulator provides connection to the bus that allow message timing to be matched with executing code.
Renesas Electronics has rolled out the on-chip debugging E2 Emulator, which is intended as a development environment for devices in the Renesas RH850, RX and RL78 series of MCUs and for a selection of SoCs. This emulator supports the extended debugging functionality of the RH850 line, contributes to shortening the time required for CAN communication debugging and the current consumption debugging.
The use of electronics for automotive control is increasing to improve fuel efficiency, safety and comfort of vehicles, as the number and variety of built-in sensors is growing. This leads to an increased size of control programmes of MCUs used in ECUs. Since each ECU performs communication control via automotive networks such as CAN, LIN and FlexRay; and dozens of ECUs are installed in a single vehicle, communication control has become more complicated. Additionally, it is important to precisely understand current consumption when each ECU operates and optimise the control s to achieve low current consumption in automotive systems.
One issue with existing ECU software development is the need to download the programme from the emulator to the MCU. Each time debugging code needs to be added to the control programme, it increases the programme size and download time. In the case of CAN communication, a significant contributor to this repetitive debug cycle is the need to use a CAN analyser along with the emulator—these devices have not traditionally operated synchronously. In the case of low power optimisation, the emulator is typically used side-by-side with an ammeter or current probe, and it is difficult to link the current consumption peak specifically to the matching point of time in the running code.
To address these challenges, Renesas has integrated additional debugging features required for software development as solutions into the E2. The E2 emulator reduces the time required to determine the cause of an error during CAN communication by providing a connection to the bus that allows message timing to be matched with executing code; it also makes it easier to determine the cause of current consumption peak by monitoring the current draw of the device and correlating that with the code. This enables system developers to reduce development time in these areas to as little as one-tenth compared to repeated programme modification and downloads. Even when the modification/download cycle is necessary, the increased download speed of the E2 lessens its impact on the speed of the development cycle.
Instruction-level debugging with CAN communication monitoring
As a CAN communication debugging function, the E2 Emulator can stop the programme when it detects that the interrupt response time has exceeded a specified limit, and record and display trace data relating to CAN communication reception and interrupt response processing simultaneously. The debugging function intends to measure CAN communication response time to allow clearer correlation between CAN communication and programme operation.
This solution for measuring CAN communication response time aims to trace analysis of CAN communication and programme operation to be performed by the emulator alone, and can significantly reduce the time required to determine the cause of an error.
Easier determination of the cause of current consumption peak
The E2 Emulator can detect the current consumption peak and stop the programme when the emulator detects that the current consumption has exceeded set limits for a certain period of time. This allows system developers to determine the conditions in the programme that cause it to exceed the expected current consumption levels. Additionally, the emulator can display the programme operation and current consumption together, making it easier to identify areas where current reduction should be targeted. This shortens the tuning time for reducing current consumption.
The E2 Emulator supports the CS+ integrated development environment, which is designed to make the inevitable cycles of editing, building and debugging in the software development simple, easy to use and secure.