====================================================================== - ApexIce Wm219xIceCE - Apex-Ice USB JTAG Emulator Version 2.31.8 Analog Devices Inc. ====================================================================== Apex-Ice is an ADSP-219x JTAG Debug Target for VisualDSP. It will provide full JTAG debug support for ADSP-219x processors using an external emulator through the USB port. ====================================================================== Requirements ====================================================================== - VisualDSP 7.0, VisualDSP++ 2.0, or greater - An Apex-ICE JTAG Emulator - Windows 98 or Windows 2000. ====================================================================== Installation and Usage Notes ====================================================================== - After installation the ICE Configurator utility MUST be run before starting a debug session. - When switching between different target boards be sure to first close the current debugger session, then move the emulator pod to the new target and finally start a new debugger session on the new target. "Hot swapping" between different target boards using "New Session" or "Select Session" from the debugger menu is not supported by the ICE. - The ADSP-2192 has been renamed the ADSP-2192-12 in the ICE for compatibility with VisualDSP 7.0, VisualDSP++ 2.0, and higher. This name change will need to be made to all existing JTAG platforms and is performed automatically during the installation. If the need arises to install a version prior to 2.00.0, the device type will need to be changed back to ADSP-2192 manually for each platform in the JTAG ICE Configurator. When starting an existing session that used ASDP-2192 as the device type you may get a "Session Type Mismatch" warning message. It is recommended that you choose "Session->New Session" from the menu bar to create a new session with the newly updated platform and device types. Click "Ok" on the "New Session" dialog box to update the session. ====================================================================== Downloading files to the Apex-ICE ====================================================================== - After a successful installation, the ApexControl utility must be used to download firmware file updates. The following steps must be completed successfully before using the Apex-ICE: 1.) Launch the ApexControl utility. 2.) Press the connect button to make the connection to the Apex-ICE. 3.) Now press the Firmware Update button. A Firmware Version Dialog will be displayed. 4.) Press Upgrade button to download all firmwares and .ini files. A download progress dialog will be displayed for each file. 5.) When download finished, ApexICE device will be forced to reboot. ====================================================================== Features in this release ====================================================================== - For 21990 emulation session, HALT the processor will clear bit 0 of the PWM_CTRL (I/O page 0x8, address 0x000 ) and AUX_CTRL(I/O page 0xc, address 0x000) register. ====================================================================== Bug fixes in this release ====================================================================== - Fixed some issues so that we can work with the new configurator - When stepping over an instruction trying to read IIR and having the UART register window open or having IO Memory open to where the UART registers reside, you get an incorrect value. Reading IIR, MSR, RBR, LSR or writing THR causes IIR to get reset. Now we protect those registers so that they are not read or written to(in the case of THR). ====================================================================== Known Issues ====================================================================== - The Analog Devices Inc. drivers for EZ-Kits and emulators are not currently digitally signed by Microsoft Corporation, but have been tested within our internal lab and work under the various Windows operating systems. We are currently evaluating and investigating the certification process and its value to our end product. - On WindowsXP, unplug USB cable from one USB port and plug in another USB port would cause New Hardware Found message and have to reinstall USB device driver. - When stepping over an instruction of the following form: if condition jump with the jump condition not being met 2 single steps will actually occur. For example if the current PC is at 0x10001 and the jump condition is not met and a single step is performed, the PC will stop at 0x10003 instead of 0x10002 as expected. The program executes correctly it just performs the extra step. [010000] nop; [010001] if le jump 0x10; [010002] ax0 = 0x1111; [010003] ax1 = 0x2222; [010004] ay0 = 0x3333; According to the silicon designers there are other instructions that will behave in this manner. Once a list is available it will be incorperated into this issues list. - If a specific register can not be found in a register window under the Register menu try the Custom menu item under the Register menu. - Statistical Profiling is not currently supported by the ADSP-2192-12. - The following features have not been implemented yet for the ADSP-2191 only: * Real-time registers - For the 2191, the trace buffers are enabled/disabled using the 13th bit in the ICNTL register(1-enable, 0-disable). If a user's program clears the 13th bit in ICNTL then NO trace buffer information will be collected. ====================================================================== Change Log ====================================================================== Revision 2.31.6 - Were unable to step in the debugger Revision 2.31.5 - Able to bring online help up when hitting F1 on Target Options Revision 2.31.4 - Added support for the 21992 Revision 2.31.3 - Fixed external accesses for PM/DM to automatically set the E_STAT bit (PM==1, DM==0). The user is still responsible to set the E_BWS bit to describe their physical bus width. (TAR-12763) Revision 2.31.2 - For 21990 emulation session, HALT the processor will clear bit 0 of the PWM_CTRL (I/O page 0x8, address 0x000 ) and AUX_CTRL(I/O page 0xc, address 0x000) register. Revision 2.31.0 - Fixed some issues so that we can work with the new configurator - When stepping over an instruction trying to read IIR and having the UART register window open or having IO Memory open to where the UART registers reside, you get an incorrect value. Reading IIR, MSR, RBR, LSR or writing THR causes IIR to get reset. Now we protect those registers so that they are not read or written to(in the case of THR). Revision 2.30.9 - added BTC code Revision 2.30.8 - PM memory is no longer restricted to 0x0000 to 0x3FFF - DM memory can now access memory that is less than 0x8000 - IDDE crashed when trying to open a session with no hardware Revision 2.30.7 - We should have only been restricting memory between 0x14000 and 0x14FFF on the 2192-12 but we were doing it for all 9x processors. Revision 2.30.6 - Fixed UART Registers (DLL, DLH, THR, RBR, and IER) so that they update properly in the register window. Revision 2.30.5 - Added some Interrupt Controller Registers(IPR0,IPR1,IPR2,IPR3, INTRD0,INTRD1,INTRD2,INTRD3,INTRD4,INTRD5,INTRD6,INTRD7,INTRD8, INTRD9,INTRD10, and INTRD11) Revision 2.30.4 - Added support for the ADSP-21990 processor. Revision 2.30.3 - Delayed Branch instructions were being detected when setting breakpoints but the instruction was not a delayed branch. Revision 2.30.2 - Added support so that trace buffers work with 2191 rev 0.1 silicon. Revision 2.30.1 - Added support to warn user that breakpoints set in the delayed slots of a delayed branch instruction may not act as expected. Revision 2.30.0 - Timer register windows for the ADSP-2192-12 and ADSP-2191 have been fixed. - Support for the alternate AF register was added for the ADSP-219x. - ADSP-2192-12 sessions now report each core as being of type ADSP-2192-12 instead of ADSP-219x. This will stop the warning messages generated each time an executable is loaded. In order for VisualDSP++ to properly use this change users must create new sessions. Saved sessions will no longer work as they are expecting "ADSP-219x" processors. Revision 2.20.2 - Writing to and reading from external memory is handled by the ICE on the ADSP-2191, ADMC501, and AD90747 parts. The ICE will handle setting up and restoring the external access bridge status register in order to transmit and receive the data appropriately. It is up to the user to configure the external memory interface (EMI) registers before accessing external memory as these are system dependant. These registers that need to be setup by the user may include EMICTL, MSxCTL, etc. - External IO memory can now be accessed on the ADSP-2191, ADMC501, and AD90747 parts through the IO memory window. Revision 2.20.1 - Added support for the ADSP-2195, ADSP-2196, ADMC501, and AD90747. - External memory can now be viewed in ADSP-2191, ADMC501, and AD90747 Program Memory windows. Revision 2.10.0 - Settings->Target Options dialog was corrected with 219x options instead of SHARC options. Revision 2.00.1 - ADSP-2191 Peripheral Register support was added. Revision 2.00.0 - Full ADSP-2191 support was added including statistical profiling. - Sharc and 219X Apex-ICE can be installed on the same PC. (TAR-6918) Revision 1.00.0 - This is the first release. Only support for ADSP-2192 exists.