Patch 201105034-1 - Rational Apex Embedded (Rational Exec) 4.4 for Sun Solaris->PowerPC ----------------------------------------------------------- To install this patch, download these 3 files and run the install script: install_sol_201105034_1 sol.patch.201105034-1.inventory sol.patch.201105034-1.tar.Z Description ---------------------------------------------------------- It is suggested that all users install this patch. ---------------------------------------------------------- This patch fixes the following: Defect RATLC02550934: The Rational Ada Embedded Developer TCP implementation does not handle the wraparound of socket sequence numbers correctly. The patch for this defect requires a complete Rational Exec for PowerPC 4.4.0 update. This patch provides host tools for Solaris. ---------------------------------------------------------- The following was fixed in an earlier patch. The fix is included in this patch as well. Defect RATLC00153912: This patch adds interface daemons for the Lauterbach Trace32 (T32) hardware probe to IBM Rational Ada Embedded Developer Enterprise Edition for PowerPC Abstract: Agilent probes are EOL and do not support newer PowerPC CPUs. T32 can control the vast majority of boards with PPC and other CPUs. By integrating T32 into Apex all PPC variants supported by Apex can be accessed by their JTAG interface transparently over T32. This includes download, assembler level debugging and HLL debugging. T32 also provides a CPU Simulator. This simulator can also be used as target system to some extent. Technical Background: The Apex debugger communicates over a daemon known as DB_IFACE. DB_IFACE receives commands from the debugger and coverts them into commands which can be sent to the target system, in this case T32. DB_IFACE also waits for answers from the target and sends them back to the Apex debugger. DB_IFACE and T32 communicate over UDP. Setup Apex for T32 as Target System: First a Physical Target must be created by File>New>New Physical Target. In the Physical Target dialog select tab `Emulators/Probes', then select `Lauterbach TRACE32' from the `Select Emulator or Probe' listbox. For `Emulator/Probe Name' enter a meaningful name. The Name must be a valid Unix Filename. For `Emulator/Probe IP Name or Address' enter the name of the host computer where the T32 GUI is running. If T32 is executed on the same host as Apex, you may enter localhost. For `Trace32 IP Port Number' enter the port which shall be used for the communication between Apex and T32. T32 uses port 20000 as default. This can be overridden in the T32 configuration file. After the the Physical Target has been created it can be mapped to a Logical Target. Setup T32 to be used with Apex: T32 must be started with two configuration files, a t32 and a cmm file. There are some settings which must be in included in these configuration files. T32 must initialize its API. This is done by the following statements in the *.t32 configuration file: RCL=NETASSIST PACKLEN=1024 PORT=20000 Important notices: there must be an empty line before RCL=... and after PORT=... If the empty lines are missing T32 will not initialize its API and Apex cannot connect to T32. On Unix, Linux and Windows netstat can be used to find out if T32 created a UDP port with the designated port number. You will need other statements in the *.t32 configuration file, besides the one to activate the T32 API. The *.cmm file should contain at least the CPU you are using and the command to power up and activate the emulation system: SYStemCPU=PPC440EP -- this is an Example SYStem.Up How to use T32 with Apex: Before the Apex debugger is started or a download or run command is issued, T32 should be started. If T32 has not been started before, the debugging system tries for about 1 minute to connect to T32. Basically you run two debuggers at the same time, the Apex debugger and the T32 debugger. There are some limitations for both debuggers regarding what features are supported and what commands may be issued. The main feature of the Apex debugger is High Level Language debugging of Ada and mixed language Ada-C/C++ programs, which is not supported by T32. You may use all features the Apex debugger provides with the following limitations: Most of the special purpose registers and, if present, floating point registers are not supported. Unsupported registers are displayed as 16#DEAD_BEEF#. These registers can be accessed by the T32 debugger. The following T32 commands must not be used: Set or delete breakpoints of any kind Change the Instruction Address Register (IAR), alias Program Counter Change the program code This throws off the Apex debugger, although you could continue with assembler level debugging with T32. It is advisable to use the T32 debugger only for accessing registers which are not supported by the Apex debugger. ---------------------------------------------------------- It is suggested that all users install this patch.