Readme.txt ZDS II - Z8 Encore! Emulator Family 4.8.1 (Build 04052502) Contents: - Preface - Contact Information - New Features - Changes from Previous Release - Supported Parts and Emulators - System Requirements - Applications and Other OS issues - Migration Pointers - Precautions and Limitations - Closed Change Requests - Open Change Requests Preface: Thank you for purchasing ZiLOG's emulator kit for the Z8 Encore! F642X product line. The following features are provided in this release: - ZDS II Integrated Development Environment (ZDS IDE) - Z8 Encore! language tools including compiler, assembler, linker/locator, and librarian - Z8 Encore! Emulator - Technical Documentation provided on the CD-ROM Note: The technical documentation supplied on this CD-ROM is available in PDF format. This format requires that Acrobat Reader 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 Channels - http://support.zilog.com New Features: - Full feature ICE with a Trace and Event system that emulates the Z8Encore! F642 Family of parts. - New Cycle Accurate Simulator Changes from Previous Release: - N/A Supported Parts and Emulators: Devices: Z8F642x, Z8F482x, Z8F322x, Z8F242x, Z8F162x Please refer to the Project>Settings>CPU selection for the latest supported devices. Target Board: Z8F642ICE00ZEM Please refer to the Configure Target window under the Project>Settings>Debugger selection for the latest supported targets. System Requirements: Supported Operating Systems Windows 98 SE, Windows NT 4.0 SP6, Windows 2000 SP4, Windows XP Pro SP1 Suggested Hardware Configuration 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 Ethernet port RS-232 communication port Internet browser (Internet Explorer or Netscape) Minimum Host System Configuration Windows 98 SE/ Windows NT 4.0 SP 6 Pentium II 233MHz processor 96 MB RAM 25 MB hard disk space (only includes Application) Super VGA Video Adapter CD-ROM for installation RS-232 communication ports Ethernet port Internet browser (Internet Explorer or Netscape) Applications and Other OS issues: 1. On some machines running Windows 98, building certain projects in the ZDS II IDE may cause errors resulting in a blue-screen crash or a fatal hang. This problem has been seen in particular on laptop computers. The cause of this problem has been identified as an interaction between the GNU make process and older versions of Norton Anti-Virus that are running virus scan in the background. Users who do not see this problem do not need to worry, because on many machines and builds (even with Windows 98 and the Norton Anti-Virus software), the problem does not occur. If it does happen, there are a couple of solutions. The fastest solution is to truly disable the old Norton Anti-Virus scan. To do this, open C:\Windows\RegEdit to edit the Windows Registry. Open and delete the entry HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\ RunServices\rtvscn95. Then reboot your machine. The problem should now be fixed. Users who want to continue to use virus scan software can do so safely by updating to the latest version of Norton Anti-Virus. After removing the old Anti-Virus program, a current version of Anti-Virus can be installed and will not cause any problems with ZDS II. The version of Norton Anti-Virus in which the problem was diagnosed was 7.50.846. Version 9.00.68b, available on the Symantec website as of 10/24/02, has been verified to be free of the problem. 2. ZDSII requires all updates and service patches from Microsoft. Migration Pointers: 1. If the user is utilizing a custom link file and wishes to change to a different processor or processor family the linker file must be updated manually. 2. In early versions of ZDS II, some of the GPIO sub-register mnemonics for the C compiler are not the same as the product specifications. They have been modified to match the product specification in ZDS II version 4.5.0. If one of the GPIO sub-register was used in the earlier code, verify that it's usage is in synch with this release. Please refer to the the product specification provided in this release. A macro is now provided within the header file that helps accessing the the GPIO subregisters. The macro will first write to the port address register with the correct control byte for the desired subregister and then writes the data to the requested subregister. Using one of the following mnemonics will invoke this macro: PxDD, PxAF, PxOC, PxHDE, and PxSMRE 3. C function calls have now been optimized for size. If C source files are used, the user must now select the "Include C Run-Time Libraries" option located in the linker tab or include the 'lib\frame.obj' file in the Object/library modules field. Including the frame object alone does not allow the linker to reference other library functions. Precautions and Limitations: 1. It is recommended to disable anti-virus software while using ZDS II. The scan all files feature makes ZDS II operate extremely slowly. 2. The Small memory model use General purpose registers from 0-FFH. The Large memory model use the whole internal register memory with limit of EFFH for devices with 4K. 3. In the Project > Settings > Target > Code, RData is used for the Small model, while the EData is for the Large model. 4. The Debugger's memory window for RData shows an internal Data Memory range 0-Edata limit of selected device. 5. For reasonably small, efficient and flexible code, use the Small model and dynamic frames when building your project. 6. The linker control file *.LNK is not visible from Windows Explorer. Instead, it displays as a shortcut. You can open and read the file using the ZDS II editor. 7. In the Settings > Linker > Input page, if 'Standard' is not selected as the Startup Module, the necessary linker directives are not included in the generated link control file. If you use the 'Included in project' or 'Custom' Startup Module settings AND use the startup source or object provided with the tools (startup.asm or startup.obj), the build results in linker errors/warnings similar to the following example: Linking... WARNING (724) --> Symbol: "__stack" is not defined. WARNING (724) --> Symbol: "__copy_code_to_ram" is not defined. WARNING (724) --> Symbol: "__low_romdata" is not defined. WARNING (724) --> Symbol: "__len_data" is not defined. WARNING (724) --> Symbol: "__low_data" is not defined. WARNING (724) --> Symbol: "__len_bss" is not defined. WARNING (724) --> Symbol: "__low_code" is not defined. WARNING (724) --> Symbol: "__low_bss" is not defined. WARNING (724) --> Symbol: "__len_code" is not defined. WARNING (724) --> Symbol: "__low_romcode" is not defined. To work around this issue, you must add the standard linker directives to the generated link control file via 'Add Directives' on the same settings page. To get the correct directives, set up the project to use the standard startup module and then perform a build. Open the generated link control file (.lnk) and copy everything from 'ORDER DATA,TEXT' to the next blank line into the Add Directives dialog. The link control file will be generated whether or not the build is successful. Reset your project settings and your build should work. 8. Editing and building code while in Debug mode requires that the current debug session end. Restart the debugger, after completing the build, to debug the new code. 9. Project files created by a previous version of ZDS II that reference a Z8F64X or Z8F640x CPU will be modified. The project file will have the Z8F6423 CPU and default settings selected as a result of the modification. You may change the settings in the Project Settings dialog window (Project > Settings > General tab). 10. In the SFR window, a special pull-down group named Special_Case was created to control the reading of a few select registers. These few SFR's change state or alter the state of an associated SFR when read. See FAQ for further discussion. 11. The Symbol Window must not be open when running a command script. 12. It is recommended that you use the GPIO control register mnemonic (PxCTL) to access the GPIO sub-registers. 13. The Z8 Encore! CPU treats E00-EFF adresses in the Edata segment in a special way and performs the escaped mode address translation. The global and static variables in Edata segment should not exceed %D00 in size(that is, %100-%DFF address range). This address range can safely be used by stack and heap using indirect addressing 14. The ZiLOG default startup files startups.asm and startupl.asm have been modified to allow user code to begin at an arbitrary origin (because it can now be located independently of the interrupt vectors). In general, users can continue to use these startup files without any impact from the modifications, because the linker places the start of user code at a safe location. Any user who wishes to ensure that his user code begins at a specific address should use the LOCATE linker directive to do so. For example, to locate the startup at 38H, add the following in Project->Settings->Linker->Input->Add Directives: locate startup at $38 15. 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 loose control of the processor. 16. Returning a C struct from a function is expensive and slow, and should generally be avoided in embedded applications. The alternative of passing structs by pointer as function arguments, allowing the called function to modify them if desired, is much better programming practice. In the Xtools compiler, returning a struct by value is not allowed. 17. The new Linker command SPLITTABLE has been provided to allow the Linker to split segments into non-contiguous pieces to take advantage of small memory slots. Segments are not SPLITTABLE by default. In the 4.6 ZDS II release, all segments were allowed to be split, which caused errors if those segments were copied using the COPY command (Linker CR 2679). The new behavior is safer but may cause code size to increase slightly. If you experience problems because of this, you may safely use SPLITTABLE to designate some or all segments for splitting. The Linker will report a warning if any non-contiguously allocated segment is used in a COPY command. If you get this warning message you should remove that segment from the list of segments that are SPLITTABLE. Otherwise your application may not work correctly. Closed Change Requests: None Open Change Requests: None