ZDS II - Z8 Encore! Family 4.10.1 (Build 07011201) ============================================================================== Thank you for purchasing a ZiLOG Z8 Encore! family development kit. The following features are provided in this release: - Z8 Encore! language tools including C compiler, assembler, linker/locator, and librarian - Instruction set simulator and disassembler - ZiLOG Standard Library (ZSL) - In-Circuit Z8 Encore! Flash MCU debugger and programmer - USB Smart Cable, Ethernet Smart Cable, and Serial 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 Releases - Compatibility - System Requirements - USB Driver Installation Instructions - Applications and Other OS issues - Precautions and Limitations - Closed Change Requests - Open Change Requests CHANGES FROM PREVIOUS RELEASES ============================================================================== Refer to the 'Migrating from a Previous Release' section of the FAQ for information and pointers related to migrating/converting ZDS projects and targets from releases prior to version 4.10.0. (to 4.10.1) - Added preliminary support for the Z8 Encore! XP F1680 series of parts. - Added option to use page-erase before programming flash during debugger downloads (Project > Settings > Debugger tab > User page-erase before flashing). - Pre-4.10.0 'uartcode' application source code is now available at \applications\Z8Encore!_uartcode. - Support for structures in assembly code has been added. See the new section "Structures and Unions in Assembly Code" in the ZDS II User Manual for details. - Added script commands: FillMem, SaveMem and LoadMem (CR 9043) - Change Requests have been addressed. Refer to the Closed Change Requests section for more details. (to 4.10.0) - Added support for the Z8 Encore! XP 083A series of parts. - Added support for the Z8 Encore! MC family of parts. - The project settings option set and user interface have been streamlined for more efficient project development. See the 'Migrating from a Previous Release' section of the FAQ for details. - Communication settings have been divorced from the target configuration files. This information is now managed in debug tool configuration files. - Added new compiler syntax to support placing variables and ISRs at specific addresses; see ZDS II User Manual for details. - Improved compiled code density by using register storage for parameters inside called functions and by reducing unnecessary pointer reloads. - Improved compiler efficiency so that it more successfully avoids doing integer type promotions when not needed. At the same time, problems with the option to disable ANSI promotions have been recognized by deprecating that feature. - Improved compiler handling of the const keyword by properly handling const variables which are also declared near or far. At the same time, problems with the option to place const variables in ROM have been recognized by deprecating that feature. - The compiler has been changed to disallow adding the near and far space qualifiers to function declarations. - Added compiler support for the new Program RAM address space provided in the Z8F1680 family of parts. See the ZDS II User Manual for details. - The standard C library typedef size_t has been redefined to be of type int, no matter whether the small or large model is in use. - Upgraded interrupt vector support to report an error when the same vector is redefined. - Added improved floating-point support in the assembler with the DF, DD, .FTOL, and .LTOF directives. - The internal names of function parameters have been changed, which could affect applications that call C function from assembly code. See the Migration section of the FAQ for details. - Added support for new Linker warnings: Treat All Warnings as Fatal, Treat Undefined Symbols as Fatal, and Warn on Segment Overlap. - The forced rebuild after changing from one build configuration to another can now be disabled. See Tools > Options > General > Always rebuild after configuration activated. - The debugger now uses a page-erase when downloading code (rather than a mass-erase). - Support for the new Ethernet Smart Cable has been added. - ZDS User manual and online help have been significantly improved. - ZDS now supports target files in the project directory as well as the default targets location. - Function added to remove intermediate build files (Build menu > Clean). - Numerous Change Requests have been addressed. Refer to the Closed Change Requests section. COMPATIBILITY ============================================================================== Devices -------------------------------------------------------------------------- Z8 Encore! XP 4K Series: Z8F04xA, Z8F02xA, Z8F01xA 8-pin*: Z8F04xAXB, Z8F02xAXB, Z8F01xAXB Z8 Encore! XP F08xA Series: Z8F081A, Z8F082A 8-pin*: Z8F082AXB, Z8F081AXB Z8 Encore! XP F0830 Series: Z8F013x, Z8F023x, Z8F043x, Z8F083x, Z8F123x Z8 Encore! XP F083A Series: Z8F043A, Z8F083A Z8 Encore! 4K Series: Z8F04x3, Z8F02x3, Z8F01x3 8-pin*: Z8F04x3XB, Z8F02x3XB, Z8F01x3XB Z8 Encore! F0823 Series: Z8F0813, Z8F0823 8-pin*: Z8F0823XB, Z8F0813XB Z8 Encore! 8K Series: Z8F08x, Z8F04x Z8 Encore! 64K Series: Z8F642x, Z8F482x, Z8F322x, Z8F242x, Z8F162x Z8 Encore! 640 Family: Z8F640x, Z8F480x, Z8F320x, Z8F240x, Z8F160x Z8 Encore! MC Series*: Z8FMC16100, Z8FMC08100, Z8FMC04100 (preliminary support) Z8 Encore! XP F1680 Series 8K*: Z8F0880xx, Z8F0881xx Z8 Encore! XP F1680 Series 16K*: Z8F1680xx, Z8F1681xx Z8 Encore! XP F1680 Series 24K*: Z8F2480xx, Z8F2481xx *Requires USB Smart Cable, Opto-Isolated USB Smart Cable, or Ethernet Smart Cable Please refer to the Project>Settings>General>CPU selection for the latest supported devices. In-Circuit Debuggers/Programmers -------------------------------------------------------------------------- USB 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 Opto-Isolated USB Smart Cable, version 1.3: ~ Supports target frequencies from 32KHz 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 Serial Smart Cable for Z8 Encore!, version 6.04.03 or later: ~ Supports target frequencies from 153.6KHz to 20MHz ~ Supports target voltages from 3.0V to 3.6V ~ Requires 35mA at 3.3V from the target USB device drivers and installation instructions can be found in the following locations: \device drivers\USB\ 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/tools/software.asp SYSTEM REQUIREMENTS ============================================================================== Supported Operating Systems -------------------------------------------------------------------------- Windows XP Professional, Windows 2000 SP4, Windows 98 SE Recommended Host System Configuration -------------------------------------------------------------------------- Windows XP Professional Pentium III 500MHz processor or higher 128 MB RAM or more 135 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) RS232 communication port with hardware flow control Internet browser (Internet Explorer or Netscape) Minimum Host System Configuration -------------------------------------------------------------------------- Windows 98 SE Pentium II 233MHz processor 96 MB RAM 35 MB hard disk space (only includes Application) Super VGA Video Adapter CD-ROM for installation USB Full-Speed port (when using USB Smart Cable; Windows 98 SE only) RS232 communication port with hardware flow control 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 Opto-Isolated 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 Serial Smart Cable for Z8 Encore! -------------------------------------------------------------------------- RS232 Communication port with hardware flow and modem control signals *Some USB to RS232 devices are not compatible because they lack the necessary hardware signals and/or they use proprietary auto-sensing mechanisms which prevent the Smart Cable from connecting. 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. The Debugger's memory window for RData shows internal Data Memory range 0-Edata limit of selected device. 2. The Z8F08200100KIT, Z8F64200100KIT, Z8ENCORE000ZCO development boards are shipped with a 18.432MHz clock which requires the host to communicate with it at a rate greater than 36Kbit/s. The minimum and maximum target communication frequencies are determined by MIN = Fsysclk / 512 and MAX = Fsysclk / 8. For more information about OCD Auto-Baud limits, please refer to the "On-Chip Debugger" section in the Z8 Encore! device's product specification. 3. Selecting "No" when prompted with the flash option bit write warning during a code memory fill operation does not stop the operation. 4. The Watch Dog Timer (WDT) must be disabled when in run mode or executing code. 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. 5. The STOP command is not supported by ZDS II. The ZDB interface utilizes the internal clock to communicate with the processor and this command causes the internal clock to stop terminating communication with ZDS II. See FAQ "Why does the debugger exit STOP mode without the occurrence of STOP mode recovery event?" for additional information. 6. If the target device system clock frequency is designed to change during program execution, the matching configuration should be assigned in the Setup Target dialog prior to the target connection. Otherwise target communication may be lost during program execution. 7. The SFR window may not update properly when debugging a Z8 Encore! 640 Family device due to a device limitation. This issue is documented as item 1 in the errata(UP0042). 8. When using the RS232 Smart Cable, a connection attempt may fail if the previous attempt was made with an invalid communication rate. 9. The debugger does not support arrays with more then 6 dimensions. 10. When using the USB or Ethernet Smart Cable with the Z8 Encore! XP 4K development kit (Z8F04A28100KIT) or the Z8 Encore! XP 8K development kit (Z8F08A28100KIT) board revisions A and B, apply the following hardware changes: a. Solder a 10K resistor between pins 5 and 4 of U7 (LT1129) b. Solder a 15K resistor between pins 4 and 3 of U7 (LT1129) Otherwise, the target may not come out of reset and ZDS will fail to connect. When applying power to the XP 4K and 8K board with the USB or Ethernet Smart Cable connected to the DBG port, the 3.3V power LED will normally flicker (on then off). Performing a connect or reset in the IDE will power the board and illuminate the 3.3V LED. 11. ZDS may hang for a long period of time if the NVDS memory window is open during a debug session -- run-control operations and general user interface updates will be slow. If ZDS can not reestablish a connection because the NVDS window was open during the last debug session; change the target to Simulator, start a debug session, and close the NVDS window. 12. When Debugging user NVDS memory write functions it is important not to issue an asynchronous break request that interrupts the write function while in Run Mode. The debugger can not tell if the write operation is complete and a break request may interrupt the NVDS erase-write cycle operation internal to the chip. If the internal write operation is interrupted before completion, the NVDS may be erased and all NVDS data may be lost. 13. The USB Smart Cable is required to implement the following unique connection procedure for the Z8 Encore! XP 8-pin device: 1. Assert the Reset line 2. Send a key on the DBG line to unlock the debug mode 3. Start a break condition on the DBG line 4. Release the Reset line 5. Stop the break condition 6. Initialize the target and continue normal debug operations The reset line will be released at the end of this procedure even if the target initialization fails. The target initialization will fail if the Smart Cable is not physically connected or the or power is not supplied to the target. Cycle the target power if the target is not in reset, debug mode, or failed to initialize prior to starting this procedure. The USB Smart Cable will assert the Reset line if it detects a target power loss. 14. The Serial Smart Cable may not be able to communicate with a target at baud rates of 19200 and less. Use a baud rate greater than 19200. 15. If the Serial Smart Cable is used for debugging, ZDS will enable and select the target's system clock source after performing a reset. If the USB Smart Cable is used for debugging, ZDS will not attempt to change the target's system clock source after performing a reset. The Project>Settings>Debugger>Setup>Clock information may be used at build time and will be referenced during a debug session. 16. Debugging or programming a device that uses the external clock signal (CLKIN) option is not supported when using the Serial Smart Cable. As a workaround, apply the external clock signal to the XIN pin or use the USB Smart Cable. The Serial Smart Cable is not compatible with a Z8 Encore! XP derivative target system that uses CLKIN system clock source because ZDS is not aware of the Z8 Encore! XP CLKIN option and, with the serial (TIM and Smart Cable), attempts to select the system clock source. As a workaround the user may apply the external clock source to the XIN pin instead of the CLKIN pin and operate ZDS as if the target was using an external crystal like one would with the other Z8 Encore! devices. This will allow ZDS to select a “functioning” clock source. Another workaround would be to use the USB Smart Cable because ZDS with the USB Smart Cable won’t enable and select the system clock source. 17. The Z8 Encore! XP F08xA and F0823 series 8-pin samples target the simulator and may be used on actual hardware. The Z8 Encore! XP 4K series 8-pin development kit (PN: Z8F04A08100KIT) and its sample project may be used to evaluate the Z8 Encore! XP F08xA and F0823 series 8-pin development environment. A project that targets the Z8 Encore! XP F08xA or F0823 8-pin device may be used with Z8 Encore! XP 4K 8-pin development kit board but the device feature limitations such as reduced program space will apply. 18. The simulator does not support UART input. 19. The simulator treats halt/sleep instruction as a NOP. 20. 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. 21. The USB and Ethernet Smart Cables will hold the reset line low if it detects a target power loss. If you need to test the Power On Reset circuit, first disconnect the debug tool from your target and then apply power. 22. Page Erase of internal Flash memory is used as the default to protect user data or programs (i.e. Boot Loaders) in Flash. The user can select mass erase by removing the check mark from the Project > Settings > Debugger tab "Use Page Erase Before Flashing". When Page Erase is selected, note that the debugger will erase all pages within the program's address range prior to programming Flash. The address range is determined by the lowest and highest addresses contained in the .LOD file and those pages and all the pages in between are erased in one step to speed the download process. If the program overlaps a page by a single byte the entire page will be erased. (i.e. For ROM Address Range: 0-38, 8000-FF00, the .LOD download will erase the Flash from 0-FFFF). The Flash Loader can be used if you need to download non-overlapping .HEX files in non-sequential order because the ZDS linker will sort the addresses when the file is created and the Flash Loader can then determine the exact pages to erase. (i.e. For ROM Address Range: 0-38, 8000-FF00 the .HEX download will erase 0-1FF (entire page) and 8000-FFFF). 23. Flash option bits cannot be modified via the Special Function Registers debug window. Please use the Rom Memory Window to change option bits. Compiler, Assembler, Linker/Locator, & Librarian -------------------------------------------------------------------------- 1. The compiler now disallows declaring functions near or far. This usage was previously allowed when static frames were in use, but was never properly supported and its use has not been recommended for some time. A review of the status of this feature found that the unresolved implementation and testing issues surrounding the feature are such that it is best to remove it from the supported compiler interface at this time. Run-Time Library -------------------------------------------------------------------------- 1. 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 2. In release 4.10.0, the C standard library typedef size_t has been redefined to be of type int, no matter which memory model is in use. In earlier releases, size_t was defined to be char in the small model and int in the large model. Because of the importance and ubiquity of size_t in standard library functions, this caused a variety of subtle bugs. Because of this change, modules and libraries built with pre-4.10.0 releases of the tools will not be compatible with code that is compiled using 4.10.0 or later. Specifically, if your application uses the small model and calls any functions (such as many of the standard library functions) that pass or return a size_t value, the code will not interoperate correctly with older libraries or modules. It is recommended that you rebuild all parts of your application with the 4.10.0 or later tools. IDE -------------------------------------------------------------------------- 1. Options available via Project > Settings... have been reworked for more efficient and correct use. Note that some options that existed in the multiple settings tabs have been moved to the General tab, most notably Generate Debug Information. Refer to the ZDS User Manual, Online Help and FAQ for assistance. 2. The Simulator is now a Debug Tool option, where previously it was a target. This allows the Simulator to better operate more correctly by using target configuration settings. 3. If Tools > Options > General tab > Always rebuild after configuration activated is not enabled but both the previous and new active configurations use the same location for the Project > Settings > General tab > Intermediate Files Directory option, the first build after selecting the new configuration will result in the reprocessing of all of the project’s source files (a rebuild). 4. The Motorola S-record format is not supported. Utilities exist to convert files to the S-Record format from one or more of the formats supported by ZDS II. These may be acquired via the Internet using an Internet search site such as Yahoo or Google. ZSL -------------------------------------------------------------------------- 1. The following device series are not supported by ZSL: - Z8 Encore! XP F0830 Series - Z8 Encore! XP F083A Series Target Hardware -------------------------------------------------------------------------- 1. The F640 Development Platform manual incorrectly documents the jumper settings. (See CR#3193) 2. Earlier builds of the Z8FMC160100KIT board may exhibit erratic operation when switching from IPO to external clock using ceramic resonator. This may be because C4 and C5 were populated. Remove capacitors C4 and C5 to avoid this behavior. CLOSED CHANGE REQUESTS ============================================================================== IDE -------------------------------------------------------------------------- (Fixed in 4.10.1) CR 9043 Suggestion to add scripting support for memory fill, save to file and load from file functions. CR 8711 Unable to see the contents of a struct array in the debug watch window 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 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 709 Minimized files are not restored when activated by double clicking on an associated build error in the Build Output window. (Fixed in 4.10.0) CR 7784 [WARNING] Corrected inconsistent line ends warning displayed for some valid files CR 7431 Suggestion for the Flash Loader to preserve/restore previous on a per project basis CR 7388 Suggestion to add support for using page erase during programming/downloading flash CR 7347 Suggestion to make easier the inclusion of linker commands when not using the standard boot module CR 7296 Suggestion for the Calculate checksum dialog to preserve and restore last file processed CR 7148 Suggestion to add a feature to clean up intermediate build files. CR 7193 ZDS II editor and output windows do not use the scroll line count configured via the Windows Control Panel CR 6992 The Watch Window disregards case of variable names so 'State' and 'state' incorrectly refer to the location. CR 6837 A Windows application error occurs when libraries or objects are not comma delimited in the settings dialog. CR 6502 Suggestion to support CRC of program memory and program memory range, even for read protected devices CR 6375 Confusing message "Breakpoint not set at line[0] in file." displayed CR 6205 Request to retain bookmarks after closing files/projects CR 6149 Suggestion to include standard startup linker commands in builds of all applicable projects. CR 6095 Suggestion to split the Communication portion out of the target configuration file. CR 5897 Pointers variables displayed in the Watch window using the wrong address space indicator CR 5798 A request for an option to change the record size in hex output file. CR 5669 Request to add a method to validate the .lod file against target memory. CR 5537 In a assembly code when the cursor is placed over the LABEL, the address of the label should be displayed rather than the opcode. CR 4889 Some include files not shown in the Project Workspace window CR 4769 When changing from one configuration to another, ZDS always rebuilds all of the files. CR 3935 Suggestion for option not to mass erase flash but only the blocks used by the project. This is now the default. CR 3516 Using "asciz " in the watch window fails to show the expected string value. CR 3288 The disassembly window is not syncing up with the original C source file. CR 1625 Debugging does not work with "included" assembly source files CR 1576 Insert Bookmark do not have a corresponding Go to bookmark CR 1503 asciz Watch window display option not working CR 1452 Breakpoints over limit erroneously shown enabled. CR 1318 When browsing disassembly with interleaved source, the cursor moves up one line per click, but down two lines per click. It should move one line per click in each directions . CR 1095 Right mouse click on a source file will not show Compile option for some files on the project. Assembler -------------------------------------------------------------------------- (Fixed in 4.10.1) CR 8461 Immediate operands sometimes corrupted when immediately followed by a db 'string' directive. CR 8058 Assembler crashes if length of include path is over 1024 characters. CR 8033 Problem with assembler statements using $ symbol in arithmetic expressions in the context of an EQU directive. (Fixed in 4.10.0) CR 7719 Error message, "Invalid record ID", depending on exact location of SEGMENT ROM_TEXT directive. CR 7718 Assembler placing wrong address for call, causing bad hex file. CR 6425 Bugs in structured assembly when conditional jumps larger than 128 bytes. CR 6292 ALIGN for a segment failing to take into account the alignment of all objects inside the segment. CR 5017 Label residing in illegal space should give a fatal error instead of a warning. CR 4222 Request: floating-point compatibility with ZDS I: DF, DD, .FTOL, .LTOF. CR 3203 Assembler doesn't catch multiple declarations of SET_VECTOR, leading to download error. CR 993 Labels not required to either be in column 1 or be suffixed with colon (:). Compiler -------------------------------------------------------------------------- (Fixed in 4.10.1) CR 8630 Internal error when using the ^= operator on bitfield members. CR 8560 Internal error on some expressions involving bitwise operations on bitfield members, depending on their declared type. CR 8555 Internal error on for loop whose body is unreachable due to the test condition in the for(;;) expression. CR 8466 Internal error when two structure definitions are mutually recursive. CR 8465 Internal error on logical tests such as if (1 & 1). CR 8458 Internal Error when user erroneously tries to assign to a const object through a pointer when deprecated const in ROM is in use CR 8406 Problem with right-shifting a long by 8 or 16 bits when source and destination variables are the same CR 8229 Function called twice if used with a boolean expression in an initializer, as in enum EnumVal x = SetInitValue(); CR 7952 In some cases, with deprecated const in ROM feature in use, compiler tries to store results in ROM when should be in RAM CR 7926 When ints are being initialized from float expressions involving division, the float expressions are truncated too soon CR 7867 Bad code for functions which end with the close of an if{} nested inside a while (1) loop. CR 6556 When using deprecated const in ROM feature, problem with selective declaration of some structure members to be const. CR 6367 Watch window prefix is shown as E instead of C for const rom pointer. (Fixed in 4.10.0) CR 7856 Internal error from optimizer when compiling code with union defined for more efficient NVDS access. CR 7740 Compiler must be corrected to understand that flags behavior of BSET, BCLR, BIT is not as originally documented. CR 7256 Near pointer not being incremented correctly using array notation. CR 7219 A variable read from a volatile location is being improperly optimized out when register variables are in use. CR 7211 Request: compiler should use ORX instruction for greater efficiency, when possible. CR 7064 Request: provide a way to set alignment of a data block. CR 6573 Compiler crashes on offsetof(). CR 6540 Internal error on enum { whatever }; . CR 6538 Internal error rather than a useful error message on an illegal typedef initialization. CR 6537 When both model (e.g. far) and volatile storage specifiers are given, the volatile specifier is ignored. CR 6535 Cast from unsigned char to char is ignored with certain compiler settings. CR 6533 Internal error when converting a near char pointer to a char pointer in certain compiler settings. CR 6489 Compiler silently generates bad code for variable name 1 character longer than longest supported name. CR 6481 Internal error rather than useful error message when trying to convert near pointer to far pointer. CR 6399 Request: improve compiler efficiency to avoid certain reloads of pointer values. CR 6383 Request: compiler should use TMX or TCMX instruction for greater efficiency, when possible. CR 5985 Sign-extension error on near pointer to far pointer conversion. CR 5948 Error message "***** LOOP -- stack overflow *****" reported when compiling extremely large loop. CR 5901 For some optimization settings, optimizer effectively changes "else if" to simple "if" when inside a loop. CR 5111 Assignment to a long structure member is incorrect for some optimization settings. CR 5034 Error in global loop optimization. CR 3777 Compiler can't handle use of conditional macros to initialize global variables. CR 3478 Request: compiler could optimize more aggressively when initializing a series of structure elements. CR 3307 Request: compiler could emit more efficient code when comparing constant to a structure member. CR 3041 Request: comparison of char constants without explicit cast could be done more efficiently. CR 2957 The compiler doesn't issue a warning when a function of a non-void return type is missing a return statement. CR 2949 Request: provide more efficient comparison to enum types that are defined as char. CR 2393 Request: provide a way to locate an array at a given address in memory. CR 2362 If you define two identical typedefs, the compiler fails to give a sensible error message. CR 1405 Request: make compiler more efficient, using one pointer and indexed addressing instead of 2 pointer loads. CR 1404 Request: make compiler more efficient, avoiding reload of pointer in logical assignment operations such as |=. Linker -------------------------------------------------------------------------- (Fixed in 4.10.1) CR 9110 Linker improperly reports out of range error when RDATA lower limit is 0. (Fixed in 4.10.0) CR 6569 Application error instead of useful error when user mistakenly indicates C source instead of object file as startup module. CR 1595 Request: provide a linker option for the user to specify a value to fill unused memory locations. CR 741 Application error instead of useful error when user mistakenly indicates asm source instead of object file as startup module. Run-Time Libraries -------------------------------------------------------------------------- (Fixed in 4.10.1) CR 8624 Return value from sscanf() is wrong if a string consisting of one character plus null termination is read. CR 8519 Wrong version of floating-point conversion routine being called when small static model is used. (Fixed in 4.10.0) CR 7720 Sscanf returning 1 instead of EOF when input is empty string. CR 7715 Size check in realloc has sign error and fails to account for size of header. CR 6267 Sprintf prints floating-point values with leading zeroes after the decimal point incorrectly. CR 5900 Sprintf returns wrong value when printing large negative floating-point numbers. CR 4827 Request: pair certain word-sized SFRs into single entity in eZ8.h. CR 4014 Request: use previously defined macros inside eZ8.h for better readability. CR 4007 Sscanf gives wrong value when converting hex numbers greater than 0x7FFFFFFF. Simulator -------------------------------------------------------------------------- (Fixed in 4.10.1) CR 8797 Cannot set breakpoints while debugger is in run state if target is simulator. (Fixed in 4.10.0) CR 7220 Error in simulation of TIMER3. CR 5372 Behavior of flags in BCLR, BSET, BIT must be updated to match silicon and updated CPU manual. ZSL -------------------------------------------------------------------------- (Fixed in 4.10.0) CR 7450 Functions to set up alternate function set 2 and set 3 for port A were reversed. OPEN CHANGE REQUESTS ============================================================================== IDE -------------------------------------------------------------------------- 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 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 3852 In assembly files, the ".r" or ".rr" designators are not correctly chroma coded. 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 2731 When the program is running in the debugger, the program counter indicator (yellow arrow) is still displayed at previous location. 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 1638 Customized workspace not restored properly. Appears to be reset when application restarted. CR 1397 Double-clicking on the error sometimes places the cursor in the incorrect location. CR 1177 Resizing the debug windows is difficult and behaves inconsistently. Documentation -------------------------------------------------------------------------- CR 3193 The Development Kit User Manual(UM0146) should state that When the shunt is IN for jumpers J12, J13, J14, and J15 on the Z8Encore! Development Board (Z8ENCORE000ZCO) that the RS-485 interface/terminator is enabled.