ZDS II - ZNEO(TM) 4.11.1 (Build 08081801) ============================================================================== Thank you for purchasing this development kit for the ZiLOG ZNEO(TM) microcontroller family. The following features are provided in this release: - ZNEO(TM) language tools including C compiler, assembler, linker/locator, librarian, and disassembler - ZNEO(TM) cycle-accurate Instruction Set Simulator - ZNEO(TM) in-circuit debugger and programmer with USB Smart Cable and Ethernet Smart Cable support The technical documentation supplied on this CD-ROM is available in PDF format. This format requires that Acrobat Reader or equivalent be installed on the host machine. Acrobat Reader is available on this CD-ROM and is available free on the Adobe website at www.adobe.com. In the event of a component problem, please complete the Problem Report Form and submit it with your request. The form is located on the CD and in the installation directory of your hard drive. Our staff will use the information to diagnose or log the problem. Contact Information -------------------------------------------------------------------------- ZiLOG Inc. Web Site: http://www.zilog.com Technical Support Channel: http://support.zilog.com Table of Contents -------------------------------------------------------------------------- - Changes from Previous Release - Compatibility - System Requirements - Applications and Other OS issues - Precautions and Limitations - Closed Change Requests - Open Change Requests CHANGES FROM PREVIOUS RELEASE ============================================================================== - The Project Settings dialog has been redesigned for easier navigation. The set of available project options was not modified. - A brace matching feature was added to the editor. Use the Ctrl+] or Crtl+E key combinations while the cursor is next to the brace ('{' or '}') for which you'd like to locate the match. - The resizing of docked windows now works correctly. Additionally, docking windows re-appear at their previous size and location when re-opened. - The disassembler debug window is now a dockable window. - The ability to toggle the display of indicators for spaces and tabs in editor windows is now available via the Edit > Show Whitespaces menu item. - Numerous Change Requests have been addressed. Refer to the Closed Change Requests section for more details. COMPATIBILITY ============================================================================== Devices -------------------------------------------------------------------------- Z16F Series: Z16F2810xx, Z16F2811xx, Z16F3211xx, Z16F6411xx Please refer to the Project > Settings > General > CPU selection for the latest supported devices. External Flash Devices -------------------------------------------------------------------------- Micron: MT28F008B3xx-xxB, MT28F008B3xx-xxT AMD: AM29LV160BB, AM29LV160BT, AM29LV008BB, AM29LV008BT, AM29LV081B ST Micro: M29W008AB, M29W008AT, M29W008EB, M29W008ET Atmel: AT49BV162A, AT49BV162AT Intel: TE28F800B3BA, TE28F800B3TA SST: SST39XX080 In-Circuit Debuggers/Programmers -------------------------------------------------------------------------- USB Smart Cable, firmware version 1.4 or later: ~ Supports target frequencies from 10KHz to 20MHz ~ Supports target voltages from 2.7V to 3.6V ~ Requires 2mA from the target Ethernet Smart Cable, version 1.0 or later: ~ Supports target frequencies from 32KHz to 20MHz ~ Supports target voltages from 2.7V to 3.6V ~ Requires 2mA from the target USB device drivers and installation instructions can be found in one of the following locations: \device drivers\USB\x32\ \Device Drivers\USB\x32\ The firmware and upgrade instructions can be found in the following directory: \bin\firmware\ Please visit ZiLOG's website for latest versions. http://www.zilog.com/software/zds2.asp SYSTEM REQUIREMENTS ============================================================================== Supported Operating Systems -------------------------------------------------------------------------- Windows Vista-32 ** Windows XP Professional Windows 2000 SP4 Windows 98 SE **ZDS and USB SmartCable is not supported on 64-bit Windows Vista. Recommended Host System Configuration -------------------------------------------------------------------------- Windows XP Professional Pentium III 500MHz processor or higher 128 MB RAM or more 100 MB hard disk space (includes Application and Documentation) Super VGA Video Adapter CD-ROM for installation USB High-Speed port (when using USB Smart Cable) Ethernet port (when using Ethernet Smart Cable) Internet browser (Internet Explorer or Netscape) Minimum Host System Configuration -------------------------------------------------------------------------- Windows 98 Se Pentium II 233MHz processor 96 MB RAM 25 MB hard disk space (only includes Application) Super VGA Video Adapter CD-ROM for installation USB High-Speed port (when using USB Smart Cable) Ethernet port (when using Ethernet Smart Cable) Internet browser (Internet Explorer or Netscape) USB Smart Cable -------------------------------------------------------------------------- Hi-Speed USB (Fully compatible with Original USB) Root (direct) or self-powered hub connection *The USB Smart Cable is a high power USB device Ethernet Smart Cable -------------------------------------------------------------------------- Ethernet 10Base-T compatible connection APPLICATION AND OTHER OS ISSUES ============================================================================== 1. Apply the latest Windows updates to the host system when appropriate. 2. ZDS II will terminate an active target connection when the host goes into Stand by or Hibernate. 3. Some systems with one or more other USB devices connected may not boot properly after connecting the USB Smart Cable. WORKAROUND: Connect the USB Smart Cable after the system has started. PRECAUTIONS AND LIMITATIONS ============================================================================== Debugger & Programmer -------------------------------------------------------------------------- 1. Editing and building code while in Debug mode requires that the current debug session to end. Restart the debugger, after completing the build, to debug the new code. 2. The Watch Dog Timer (WDT) must be disabled while debugging the target. The WDT will cause the processor to perform a reset and the debug mode will not be enabled upon reset. Therefore the debugger will lose control of the processor. 3. The debugger does not support ZNEO's instruction execution trace feature. 4. The debugger does not support arrays with more then 6 dimensions. 5. When "No" is selected in response to the warning/prompt that flash options bits will be overwritten and whether to continue, the IDE shows a progress bar as though it continues to write to flash. In actuality, the flash is not written. 6. When debugging a program that changes the system clock and enters STOP mode, add at least a 300 msec delay between the system clock change and the STOP instruction execution otherwise the debugger may not be able to retain the target connection. 7. ZDS opens a UDP port to search for Ethernet Smart Cables and should be allowed to do so through an active firewall that stands between ZDS and the Ethernet Smart Cable. The firewall may be disabled or configured to grant ZDS the right to open a local UDP port. The local port number is assigned by the host and the foreign port number is 3000. 8. The USB and Ethernet Smart Cables will hold the reset line low if it detects a target power loss. 9. Stepping over a POPF instruction in the debugger will result in unusual behavior due to the assembler workaround described below in "Compiler, Assembler, Linker/Locator, & Librarian Precautions & Limitations, #2". When the step is initiated, the Disassembly window will be opened with the PC indicator pointing to an IRET2 instruction (the 2nd instruction of that assembler workaround). Perform a step in the Disassembly window to advance the PC indicator to the next assembly statement, then resume stepping in the source code window. 10. Selecting "Watchdog" as a clock source and 0.010000MHz frequency from ZDS>Project Settings>Debugger>Target>Setup will take time before it will stop when you hit "Stop Debugging". 11. It is recommended to use other terminal software other than Hyperterm when using Vista such as TeraTerm. 12. Please see OPEN CHANGE REQUESTs below section for additional info. Compiler, Assembler, Linker/Locator, & Librarian -------------------------------------------------------------------------- 1. The list file is generated with 52 lines per page if Show Absolute Addresses in Assembly Listings is selected. 2. The POPF instruction is being translated to an alternative, equivalent but considerably longer set of instructions by the assembler. This is a temporary workaround for ZNEO silicon erratum #4 (see UP0087, Product Update: Errata for ZNEO Z16F Series). The POPF instruction is currently translated to the following equivalent: PUSH #NextInst IRET2 NextInst: Here, IRET2 is an alternative version of the IRET instruction which is required in this context to avoid problems with chained interrupt handling. 3. If you select the Linker Output option “Show absolute addresses in assembly listing”, you will see that character strings allocated in the NEAR_TEXT and FAR_TEXT sections appear to have an origin of 0x0. To find the actual addresses for symbols in these two segments, refer to the symbol list in the map file, or add _low_neardata or _low_fardata (respectively) to addresses in the NEAR_TEXT and FAR_TEXT sections. In rare cases, using the “Show absolute addresses in assembly listing” option will cause the assembler to fail and issue Error 482. In this case, you must disable the option. This issue will be resolved in an upcoming release. 4. Please see OPEN CHANGE REQUESTs below section for additional info. CLOSED CHANGE REQUESTS ============================================================================== IDE -------------------------------------------------------------------------- (Fixed in 4.11.1) CR10665 Multi-Dimension Array in the watch window hangs (Fixed in 4.11.0) CR 9326 makefile and makfile script command will not create folder for make file generated in non-existent folder. also does not display error. CR 9160 After a "File > Save As...", the title bar does not change to new filename when full path displayed in title bar. CR 9159 If a selection is active in the document window and a build error is double clicked in the build window, the selection isn't deactivated until the cursor is moved. CR 9158 External dependencies in non-user include path, even with entire path provided in #include, do not show in external dependencies list. CR 9043 Suggestion to add scripting support for memory fill, save to file and load from file functions. CR 8911 Cursor is not tracking the Yellow Arrow in Code window with Disassembly. CR 8896 The watch window does not display *p_x correctly. CR 8711 Unable to see the contents of a struct array in the debug watch window CR 8691 After using the mouse to highlight and re-arrange the order of lines in a file, the change flag (asterisk in the file header area) is not set. CR 8676 Exported make files fail to build when the make file is exported into a directory other than the configured intermediate files directory for the project. CR 8658 Attempting a Find in Files with a nonexistent folder causes an application error in the IDE. CR 8462 Adding some build generated files (i.e., the .MAP file) to the project results in an endless loop of 'Project out of date' messages on debug session startup CR 8455 The Set Next Instruction function is enabled but does nothing when initiated while NOT in debug session CR 8450 After a file is modified during debugger session, some execution debugging functions do not flag user to rebuild the project. CR 8427 When using Intermediate Files directory other than the project directory, the .lis file is still on the project directory. Build > Clean will not clean the .src and lis. CR 8271 Suggestion to add a cancel button to the "Save Changes to Document [y/n]" dialog. CR 7296 Calculate checksum does not remember last file entered requiring the user re-enter the path/file each time. CR 7193 In Control Panel->Mouse->Wheel I have the wheel configured to scroll 5 lines at a time, but in the ZDS II editor (and output window), it only scrolls one line at a time. Other applications (browser, email) work fine. CR 7075 Unable paste in the find window on the toolbar using Ctrl+V. CR 6992 The Watch Window does not differentiate case for variable names (i.e. State vs. state). CR 6722 Adding // on the source code line can hang the editor. CR 5791 In a C file, entering a line like test1 // "test2" /* test3 */ can hang the editor CR 5777 Suggestion to add a calculate checksum utility to the tools menu CR 5142 Some application settings (Tools > Options) are not saved and restored correctly. CR 4594 The editor does not preserve the cursor's column position when using the up/down cursor arrows to move through the file. CR 4590 Suggestion to add a bracket matching/locating function to the editor. CR 3651 Breakpoints added over the limited are not shown as disabled in the Edit Breakpoints window CR 3380 Suggested improvements to generated makefiles to make them easier to use. CR 3219 Double clicking the folding in the project view doesn't expand the folder to show the files contained therein. CR 3210 Local watch window does not display negative values. CR 2731 When the program is running in the debugger, the program counter indicator (yellow arrow) is still displayed at previous location. CR 2638 Minimized source code windows are not displayed appropriately after a debug session is started. CR 2305 Suggestion to add a key binding (hotkey) for Find Next. CR 1638 The disassembly debugger window does not use the size/position of the window from the previous debug session. CR 1625 Debugging does not work with "included" files. CR 1435 Attempting add a .TXT file to the project via Project > Add Files is prohibited, but works via Add File to Project in the source window context menu. CR 1177 It is difficult to consistently resize the debug windows (and other docking windows). CR 709 Minimized files are not restored when activated by double clicking on an associated build error in the Build Output window. CR 353 When Find in files (using file type is *.*) encounters a *.obj file, find will not continue if search string is found in the *.obj file. Assembler -------------------------------------------------------------------------- (Fixed in 4.11.0) CR 9120 When Show Absolute Addresses in Listing Files is selected, some addresses fail to match the actual object code, due to an extra address fix-up pass being applied to listing file only. CR 8690 Space specifier on a label in inline assembly fails to override one for the same label from a .xref directive. CR 8033 $ symbol not handled properly in an equ statement. Compiler -------------------------------------------------------------------------- (Fixed in 4.11.1) CR 11948 Incorrect optimization when a pointer pointing to an array element is used in subsequent statements. CR 11915 Internal error when a global variable was being assigned a value in two different functions. CR 11362 Internal error when an expression accessing members of a structure pointer is used repeatedly in subsequent statements. CR 11475 Internal error when an array is incorrectly initialized with variable addresses. CR 11371 Incorrect optimization in an if statement condition involving a comparison with zero. CR 11370 Problem with switch-case statement for character variable. CR 11023 Internal error while optimizing the statements that exchange pointer values using a temporary pointer variable. CR 11020 Incorrect code generated for the if statement condition that compares a multi-bit bit-field value. CR 10217 Assertion failure error with the peephole optimization of an expression involving right shift operation. CR 9996 malloc() library function does not return memory when small memory model is selected; it always returns null. (Fixed in 4.11.0) CR 9390 Some case labels can be unreachable if all labels are positive ints less than 255, but including some greater than 127. CR 9359 Registers used for parameter passing are sometimes corrupted following calls to leaf functions which take no parameters. CR 9186 Overly aggressive optimization sometimes removing reads of volatile variables. CR 8966 Internal error reported when passing a #defined constant as a function parameter, in certain circumstances. CR 8775 Loop incorrectly optimized out if controlled by a global variable which is initialized outside the function that contains the loop. CR 8754 Incorrect code generated for certain switch-case constructs with many cases, not all separated by "break" statements. CR 7946 Elements of an array which is a struct member not updated properly when they are assigned values from a different address space. CR 7867 Internal error when a function ends with the closing brace of a while loop, then the closing brace of the function. CR 2787 Compiler incorrectly does sign extension when an unsigned int expression is assigned to an unsigned long. CR 1805 Enum initializer value involving sizeof() gives garbage initialization. Simulator -------------------------------------------------------------------------- (Fixed in 4.11.0) CR 8797 Can't set breakpoints on the fly while debugger is running, if executing in the simulator. OPEN CHANGE REQUESTS ============================================================================== IDE -------------------------------------------------------------------------- CR12113 The file editor windows freezes while scrolling and shows scrambled text. This is when using special code characters (above ascii code 127), like the micro symbol (asc(230) or µ) and the degrees symbol (asc(248) or °) CR12215 When printing text using the simulated Uart Output window, buffer will overflow when printing more than 32K lines. This will crash the ZDS and will terminate. CR 7918 During the loading of large projects (those with a large number of files and/or file dependencies), the ZDS user interface may become non-responsive. CR 7687 Including square brackets in the Find in Files search string (i.e. "[find this]" or "[find this"), the search results are incorrect. CR 5519 External dependencies generation/display ignores project preprocessor defines. CR 5517 Unable to watch large EQU symbols on the watch window. CR 4431 IDE will not provide a warning that the hex code file is larger than the project device size when using Load from File on the code memory window. CR 3711 Hex files that use \r as a line ender are not supported. CR 3210 Local watch window does not display negative values CR 1650 After single-stepping through a function call, the program counter indicator returns to the calling line instead of the next executable line. CR 1397 Double-clicking on the error sometimes places the cursor in the incorrect location. Compiler -------------------------------------------------------------------------- CR12106 Assembler should have given an error message when $ directive is used within an empty segment.