ZDS II - Z8 Encore! Family release 5.7.0 (Build 24082201) ============================================================================== 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 Warning: When installing the Zilog Software, you may encounter a Microsoft SmartScreen warning on some of the latest Windows operating systems, indicating that the software is unrecognized by Microsoft. Please ignore this message and proceed with the installation. Our installer has been signed with a Microsoft-authorized digital certificate from a third-party provider. However, it may take some time for Microsoft's reputation system to recognize the software, after which the SmartScreen warning will no longer appear. The technical documentation supplied in the installation is available in PDF format. This format requires that Acrobat Reader or equivalent be installed on the host machine. In the event of a component problem, please complete the Problem Report Form and submit it with your request. The form is located in the installa- tion 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: https://www.zilog.com/index.php?option=com_product&task=tech_support&Itemid=88 Table of Contents -------------------------------------------------------------------------- A. CHANGES FROM PREVIOUS RELEASES B. COMPATIBILITY C. SYSTEM REQUIREMENTS D. APPLICATION AND OTHER OS ISSUES E. P & L (PRECAUTIONS AND LIMITATIONS) F. CLOSED CHANGE REQUESTS A. 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 5.7.0 Build 24082201) - New compiler option to remove code from uncalled functions available on the C compiler's advanced project settings page. When enabled, the program image will not include object file code corresponding to uncalled functions that the compiler determines can be safely removed. This option is disabled by default. Programs that make use of function pointers might not work as intended when this option is enabled. - Modified the default location of the RDATA address space for large memory model applications. Previously the large model RDATA address space was 0x10 to 0xDF,0xF0-0xFF creating a gap where the foreground working registers are located. This could prevent the linker from fully utilizing RDATA. Starting with the Encore 5.7.0 release, the default large model RDATA space is now 0x00-0xDF. The small memory model RDATA address space remains 0x20-0xDF, but the IDE now permits this range to be specified when creating a new small memory model project. - Modified the linker to allow objects listed in the SEGMENTS WITHIN SPACE and EXTERNAL DEFINITIONS sections to either be sorted numerically or alphabetically in either ascending or descending order. These options are controlled by a set of radio buttons under the "Generate Map File" section of the linker output project settings page. - A major improvement of ZDSII framework that includes: <> A more modern look-and-feel like MS Visual Studio. <> New window docking mechanism with a diamond guide makes it easier to reposition the windows as compared to the sticky visual layout in the ZDSII prior 5.5.0. <> You can even group/dock any window to another docking window or the tab document area. <> You can auto hide any docking window <> The context menu on a tabbed document enables you to close the currently active document, close all documents, close all documents except the active one, copy the path of the active document to the clipboard, or open the containing folder. - Allow different CPU targets among project configurations instead per-project basis.(CR13553) (to 5.6.3 Build 24082201) - Added a workaround to achieve reliable communications with Z8F3224 targets that could experience FLL dithering as described in “Errata for Z8 Encore! XP F3224 Series Devices” (UP01403-0822). For the Encore! Smart Cable, a firmware update to version 2.4.0 (or later) is required. (to 5.6.2 Build 24082201) - Fixed CR 13618. See the section F 'Closed Change Request'->IDE. - ESC FW updated to v1.0.3 to improve reliability of establishing OCD connections to older Z8 Encore! device kits whether ESC-powered or externally powered. To upgrade the ESC FW to v1.0.3: 1) Open any project file and in the Project->Settings->Debugger options select the EncoreSmartCable from the pull-down menu if this has nor already been done. 2) In the Tools menu, click the "Firmware Upgrade (selected debug tool)..." option. 3) After the Firmware Upgrade dialog opens, click Upgrade. When complete, click Close to exit the firmware upgrade dialog. (to 5.6.1 Build 21100603) - Modifications to support production-level Encore! Smart Cable (ESC) Rev B hardware. Requires ESC FW v1.0.1 (or later). Before installing the ESC v1.0.1 (or later) Windows Driver Package (WDP), manually uninstall any previously installed ESC Windows Driver Package(s). - Due to component tolerances and noise, the accuracy of current measurements is approximately: - Low Power Mode (range 0uA ~ 500uA): ± 1.5uA or ± 3%, whichever is larger - High Power Mode (range 0.1mA ~ 30mA): ± 3% - The Encore! SmartCable cannot be used to measures target load currents above approximately 44mA. - Added support for Z8Encore! Z8F6482 Revision AD. (to 5.6.0 Build) - Added full support for projects that use Page E of RAM. The newly added support includes: fully compliant code for Page E variables accesses in the compiler; enhanced warning and error messages from the compiler, assembler, and linker if Page E is misused in the application; support for the variable placement feature on Page E in C code; improved clarity and consistency in GUI options related to Page E; enhancement of the Zilog extensions to the C Standard Library to support Page E pointers in standard library function calls; and extensively updated documentation in the Online Help as it concerns the use of Page E. - Provided greater flexibility in the Register Pointer (RP) initialization and corresponding boundaries of the RData address space, to support users whose C projects have unconventional requirements in their mapping of the RData space in RAM. - Added automatic forward migration of projects from older versions of ZDS II to configure them properly to use the enhanced page E support. - New linker warning messages to notify users when they have functions in their application that are never called explicitly (they might still be called through a function pointer). Some developers create uncalled functions intentionally when their application is in a transitional stage. But for other developers, this provides a fast way of finding obsolete functions in their application which can then be removed to reduce code size. - One or more specific linker warnings can now be suppressed at the user's option. This option is applied to every module in the project. - Includes support for the new Encore! SmartCable (ESC) in-circuit debugger and programmer. The ESC supports target system clock frequencies between 4kHz and 24MHz at OCD baud rates of up to 500kbps and can provide up to 100mA of current to target systems before an external power source is required. The target operating voltage can be configured in steps of 100mV between 1.8V and 3.6V. The ESC can be configured to measure current consumption of the target system and provide a numerical result on demand, or a graphical output of results at 25ms (or higher) intervals. A breakpoint can also be enabled to trigger once target current consumption goes above, or below, a configurable threshold. The ESC also features a new signaling pin named TMSG (pin 6 of the debug connection header) that target applications can drive low to temporarily block OCD communications. This feature can be used to enable debugging Encore! targets as they transition through stop mode without causing a power-on-reset event (provided the application drives TMSG low prior to entering stop mode and the Stop Mode Recovery (SMR) handler sets TMSG high after a SMR event occurs). (to 5.5.0 Build) - Added support for Z8 Encore! XP F3224 Series. - Listed all ZMOTION devices under the CPU Family, Z8Encore_ZMOTION_Series and removed Z8Encore_ZMOTION_8Pin_Series. - Added new ZMOTION devices(Z8F1681xK_2447, Z8F1681xN_2447, Z8F6481xK_2447) under the Z8Encore_ZMOTION_Series. - The management of the RP (Register Pointer) has been update in C projects that use the Large Memory Model. These changes safeguard against project crashes that could occur if almost all of the near RAM was needed for variables, while making 16 bytes of added near RAM available to the user. - Coordinated with the RP changes mentioned above, the address range 0x0E0-0x0EF has been made unavailable in the Project Settings > Linker > Address Spaces for C projects that use the Large Memory Model. This is necessary to ensure proper execution of compiled code. - In the linker map file, segment names such as filename_TEXT are no longer truncated to the last 7 characters before "_TEXT". - Modified the BSP USB driver such that when operating in DMA mode to send packets larger than the endpoint's buffer size, the DMA channel is temporarily released while waiting for the host to generate the next IN token. Prior to this change, all subsequent USB traffic would be blocked in instances where the USB Driver was configured to operate with only one DMA channel and the host application closed without closing the underlying BSP USB driver. - Modified the READ_NVDS API to return an 8-bit unsigned character to be consistent with the NVDS API prior to the 5.4.0 release. In addition, the 5.5.0 release once again includes support for the READ_NVDS_GET_STATUS API (inadvertently deprecated in 5.4.0) that returns a 16-bit unsigned integer composed of an 8-bit data value in the upper byte and an 8-bit status value in the lower byte. When migrating ZDS 5.4.0 applications that call the READ_NVDS API to 5.5.0, either replace all calls to READ_NVDS with calls to READ_NVDS_GET_STATUS if both the NVDS data and status bytes are required; or modify code that calls the NVDS_READ API such that the return value is not right-shifted 8-bits if the status values is not used. (to 5.4.0 ) - Addressed a number of change requests as listed in the section, "CLOSED CHANGE REQUESTS" section" - Added Software NVDS library support for devices without on-chip NVDS and with ROM size of 8K or greater. - Added "Use Page E" in the Advanced setting page. This supports the new pageE keyword for C code that allows RAM Page E to be used for variable storage while maintaining high code size efficiency. - Added PAGE_E as a separate Linker Address Space to support that change. - Added linker warning (759) to alert user when a function's static frame is not set up properly. See the General Section of the FAQs for more details. - Updated assembler to keep editor tab size in the listing file. - Added long filename support in generated makefile, linker command and library command files. - Added a drop-down list to configure the number of memory locations per row in the memory window. The selection is 8, 16 or auto. - Added register address display in the SFR window when a register is hovered. - Added editor feature to comment and uncomment block of codes. - Added hierarchical display of dependency include files below the source file in the workspace window. - Added a "Related Files" tab in the workspace window - Added column sorting for symbol window. - Added "Go to definition" of a C variable on right-click. - Added a right-click menu item, "Add to watch" on a C variable B. COMPATIBILITY ============================================================================== Devices -------------------------------------------------------------------------- Z8 Encore! F0830 Series: : Z8F013x, Z8F023x, Z8F043x, Z8F083x, : Z8F123x Z8 Encore! F083A Series: : Z8F043A, Z8F083A Z8 Encore! XP F082A Series: : Z8F082A, Z8F042A, Z8F022A, Z8F012A : Z8F081A, Z8F041A, Z8F021A, Z8F011A 8-pin*: : Z8F082AXB, Z8F042AXB, Z8F022AXB, Z8F012AXB : Z8F081AXB, Z8F041AXB, Z8F021AXB, Z8F011AXB Z8 Encore! XP F0823 Series: : Z8F0823, Z8F0423, Z8F0223, Z8F0123 : Z8F0813, Z8F0413, Z8F0213, Z8F0113 8-pin*: : Z8F0823XB, Z8F0423XB, Z8F0223XB, Z8F0123XB : Z8F0813XB, Z8F0413XB, Z8F0213XB, Z8F0113XB Z8 Encore! XP F0822 Series: : Z8F0822, Z8F0812, Z8F0422, Z8F412 : Z8F0821, Z8F0811, Z8F0421, Z8F411 Z8 Encore! XP F64XX Series: : Z8F6423, Z8F4823 : Z8F6422, Z8F4822, Z8F3222, Z8F2422, Z8F1622 : Z8F6421, Z8F4821, Z8F3221, Z8F2421, Z8F1621 Z8 Encore! XP F1680 Series 8K*: Z8F0880 Z8 Encore! XP F1680 Series 16K*: Z8F1680 Z8 Encore! XP F1680 Series 24K*: Z8F2480 Z8 Encore! XP F3224 Series 16K : Z8F1624 Z8 Encore! XP F3324 Series 32K : Z8F3324 Z8 Encore! XP F6482 Series 16K : Z8F1681, Z8F1682 Z8 Encore! XP F6482 Series 32K : Z8F3281, Z8F3282 Z8 Encore! XP F6482 Series 60K : Z8F6081, Z8F6082 Z8 Encore! XP F6482 Series 64K : Z8F6481, Z8F6482 Z8 Encore! MC Series* : Z8FMC16100, Z8FMC08100, Z8FMC04100 Z8 Encore! ZMOTION Series : Z8FS021, Z8FS040 : Z8F1681xK_2447, Z8F1681xN_2447, Z8F6481xK_2447 Z8 Encore! 640 Family : Not Supported. Please use Ver: 4.10.1 *Requires Encore! SmartCable, 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 -------------------------------------------------------------------------- Encore! SmartCable, version 1.0 or later: - Supports target frequencies from 4KHz to 24MHz - Supports target voltages from 1.8V to 3.6V - Can provide up to 100mA current to target system 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. https://www.zilog.com/index.php?option=com_zcm&task=sdlp&Itemid=74 C. SYSTEM REQUIREMENTS ============================================================================== Supported Operating Systems -------------------------------------------------------------------------- Windows 11 64-bit Windows 11 32-bit Windows 10 64-bit Windows 10 32-bit Windows 8 64-bit Windows 8 32-bit Windows 7 32-bit Windows 7 64-bit Encore! SmartCable -------------------------------------------------------------------------- Available Full-Speed USB 1.1(or higher) port *The Encore! SmartCable is a high-power device requiring up to 125mA of current when powering target devices 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. D. 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. E. P & L (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 Z8F08200100KITG and Z8F64200100KITG 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. -Purposedly deleted - 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 F042A development kit (Z8F04A28100KIT) or the Z8 Encore! XP F082A 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 F082A and F042A 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. NVDS window will hang or will take a long time to recover if connected to a non-NVDS CPU. 12. When Debugging user NVDS memory read/write functions it is important not to issue an asynchronous break request that interrupts the read/write function while in Run Mode. The debugger can not tell if the read/write operation is complete. For write operation a break request may interrupt the NVDS erase-write cycle. If the internal read/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 F082A and F0823 series 8-pin samples target the simulator and may be used on actual hardware. The Z8 Encore! XP F042A series 8-pin development kit (PN: Z8F04A08100KIT) and its sample project may be used to evaluate the Z8 Encore! XP F082A and F0823 series 8-pin development environment. A project that targets the Z8 Encore! XP F082A or F0823 8-pin device may be used with Z8 Encore! XP F042A 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. 24. Due to CPU Families re-grouping, opening projects from previous versions may result to errors due to missing target. Please select or create a new target as a work-around. 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. 2. Range checking (checking that the tools do not attempt to put a 9 bit value in an 8 bit space) has been restored in the linker. On some existing projects, this may result in warnings such as WARNING (915) (00000040 zsldivinit.obj) --> Expression range error. This error is likely to result from code such as the following: XREF _zsl_g_clock_xdefine ; Defined in linker command file ; … DB _zsl_g_clock_xdefine>>24 DB _zsl_g_clock_xdefine>>16 DB _zsl_g_clock_xdefine>>8 DB _zsl_g_clock_xdefine If _zsl_g_clock_xdefine requires more than 16 bits, this error will occur on the attempts to place its value and the value shifted by 8 bits each in a single byte. The solution in this case is to AND each byte value with FFH: DB (_zsl_g_clock_xdefine>>24) & FFH DB (_zsl_g_clock_xdefine>>16) & FFH DB (_zsl_g_clock_xdefine>>8) & FFH DB _zsl_g_clock_xdefine & FFH (One could also use a single DL instead of four DBs.) A general approach to dealing with this, or other errors coming from the linker, is to turn on “Show Absolute Addresses in Assembler Listings” in the Output page of the linker settings, then examine the listing file for the source in question, zsldevinit.lst in this case, for the address in the linker message. 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 was 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. 5. When converting a project to another MCU, please note that the default settings are used from the new MCU. Make sure that you review and copy if needed the settings from the previous MCU project settings(i.e Linker > Address Spaces, ROM, Rdata, Edata ...). ZSL -------------------------------------------------------------------------- 1. The following device series are not supported by ZSL: - Z8 Encore! F0830 Series - Z8 Encore! F083A Series - Z8 Encore! XP F6482 Series - Z8 Encore! ZMOTION Series BSP -------------------------------------------------------------------------- 1. The BSP library cannot be used to build an application with static frames. Attempting to do so will cause warnings and/or errors unless the BSP source code is modified to support static frames. Target Hardware -------------------------------------------------------------------------- 1. 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. F. CLOSED CHANGE REQUESTS ============================================================================== IDE -------------------------------------------------------------------------- (Fixed in 5.7.0) CR 13667 If selected Encore device without IPO like F64xx or F0822, the programming fails when selected frequency is < 8MHZ. CR 13661 Not all text are replaced when using regular expression and find and replace CR 13628 On some Chineese Windows 10, ZDSII does not show up on startup or in task manager CR 13617 The workspace window does not get placed at the proposed target at indicated by the placement ghost outline. Addressed by the new GUI Framework of the 5.7.0 release. CR 13553 Allow different CPU targets among project configurations CR 1257 A way to view a watch variable by right clicking on the variable in the source window and selecting 'add 'variable' to watch. (Fixed in 5.6.0) CR 13618 Project setting dialog is too large and can't be resized to smaller size. (Fixed in 5.6.0) CR 13583 Include files with spaces in the file path are not shown in the file dependency list. CR 13586 Watch window display is incorrect for indexed pointer to array of structs (Fixed in 5.5.0) CR 13577 Nested include header files are not shown in the hierarchical workspace pane or in the .mak file (Fixed in 5.4.0) CR 13554 Allow watch attribute of hex or decimal display on per-entry basic. CR 13550 Workbook Mode enabled should be the default setting CR 13548 When adding a breakpoint to a line that is close to the bottom of the screen, it places the breakpoint in the wrong location. CR 13547 Disable Clock Toolbar icon for simulator target CR 13546 The Find and Command Processor buttons keep showing up even though being removed during a previous debug session. CR 13545 Remember the file type that was last opened when opening a new file. CR 13544 When opening a file add ability to select and open multiple files at once CR 13543 Add ability to rearrange the file tabs in the editor CR 13541 Multiple cycles of rebuilding and connection when a source was modified and followed by a start of a debugger session. CR 13540 When hovering over a defined constant, an old value is often displayed. The fix is to use the right-click "Update code Completion Database" CR 13538 Add option to have Special Function Registers show in-direct registers (PxDD, PxAF, PxOC… in addition to PxADDR, PxCTL,...) CR 13536 Force to save All files when working with projects across time zones. Assembler -------------------------------------------------------------------------- (Fixed in 5.5.0) CR 13576 Spurious warnings when showing absolute addresses, if the name of one module ends in the full name of another module, for example, flash_main.obj and main.obj. Compiler -------------------------------------------------------------------------- (Fixed in 5.6.0) CR 13588 Compiler internal error when a switch statement is placed in unreachable code. (Fixed in 5.5.0) CR 13584 The segment names created for use in the map file are truncated at (last 7 characters of the source file name)_TEXT. (Fixed in 5.4.0) CR 13532 The compiler should flag a warning or error when division by zero can be detected at compile time. CR 13465 The compiler produces bad code when returning a structure from a function that is not a leaf routine, if parameters are passed in registers. CR 13211 Compiler doesn't generate code to correctly access addresses on RAM page E, which are "masked" by Escaped Mode Addressing. Librarian -------------------------------------------------------------------------- (Fixed in 5.6.0) CR 13596 Library build fails if path name is over 128 characters long. Linker -------------------------------------------------------------------------- (Fixed in 5.6.0) CR 13578 Linker should report functions that are not explicitly called in the build. CR 13566 Linker doesn't warn when not setting up proper static frames for functions that are not called explicitly (but may be called via function pointers). (Fixed in 5.5.0) CR 13579 Linker hangs if there isn't enough RAM space for FAR_DATA segment containing fragments from several modules. (Fixed in 5.4.0) CR 13566 Linker fails to warn that a static frame is not set up properly because its function is not explicitly called. CR 13442 Linker crashes when trying to report an error message whose length is too large due to inclusion of a long path name. Run-Time Libraries -------------------------------------------------------------------------- (Fixed in 5.6.0) CR 13589 The RTL routines used for stack frame setup and teardown are not interrupt-safe in the Large Model, if the application uses more than 256 bytes of stack. (Fixed in 5.5.0) CR 13581 The initialization of the Register Pointer in the large model startup module is inadequate for projects that need a lot of near RAM space. CR 13522 Some near RAM space is wasted (not usable) in Encore Large Memory Model. (Fixed in 5.4.0) CR 13514 Starting a debug session causes a (harmless) error message about Illegal Address Prefix when CPU has no EData. CR 13253 Sprintf can miscount number of characters placed in buffer, when adjusting field widths of numerical data.