XJTAG 3.6 Change Log
This document lists the main changes in each minor release of XJTAG. Please see the Release Notes for a list of breaking changes and other issues for this release.
The fixes are generally sub-divided by product. Please note, however, that fixes applied to XJRunner and XJAnalyser are usually applicable to XJDeveloper and XJInvestigator also.
3.6.4
Released 14th May 2018
- Fix potential crash on Windows 10 with the 1803 Spring Creators Update when opening a project.
3.6.3
Released 27th November 2017
- XJDeveloper:
- Fix potential crash when updating the application.
- Close the log file viewer when closing a project.
- Fix a potential hang cancelling packing a project.
- Fix a potential crash opening a project when there are updated logic definitions available.
- BOM Import: fix a case where resistor values were being incorrectly derived from a description field.
- JTAG Chain screen: the Ignore Stuck-at errors in Connection Test option did not have an effect.
- Categorise Devices screen:
- Add tests to the test list when using the categorisation record buttons.
- Improve the layout of the Configure Device dialog if only a single device is being configured.
- Fix a crash when categorising a test device when the test device file contains raw JTAG code and the JTAG chain is incomplete.
- Circuit Code Files screen: fix the order of the toolstrip buttons.
- Analyser screen: fix potential crash switching away from the screen.
- Pin Mapping screen: retain the values of LOCAL and INTERNAL variables as well as GLOBALs across test reset calls within a single operation.
- XJRunner Setup screen:
- Ensure that tests added to disabled test groups are themselves initially disabled.
- Allow condition nodes to be moved around in the test list.
- Display an error if a bus has an override, but there is only one possibility.
- In some circumstances the same driver was being displayed twice as a possible bus override.
- XJRunner:
- Sometimes not all test functions would be displayed when expanding a test group in the test summary.
- Speed up expanding a test group in the test summary when it contains a lot of test functions.
- Packing a project failed if two boards shared the same BOM file.
- Fix memory leak when closing projects.
- If the TCK frequency was explicitly set in the Enhanced Testing Options, it could not be unset without changing screens or re-opening the project.
- XJAnalyser:
- Fix potential hang resetting the chain in sample mode when conflicts are present.
- SVF: ensure that the TCK frequency is handled correctly in TRST sequences with dynamic chains.
- XJRun:
- Set LOG_FILE_PATH and FORMATTED_LOG_FILE_PATH variables.
- Fix crash caused by null characters making their way into the test output.
- Log File Viewer:
- Fix potential crash viewing the schematic.
- Enable Ctrl+Tab to switch tabs.
- Connection Test Viewer:
- Fix potential crash searching, if columns are hidden.
- Speed up opening the viewer.
- Layout Viewer: fix potential crash visualising pin types.
- XJRunner Integration:
- Update the paths in the XJDemo board LabVIEW example.
- Don’t take a full development system network licence if a standalone XJRunner one is available.
- SPEA: return an overall result of fail to Leonardo if the project state is not correct.
- XJEase:
- Add array initialisation.
- Fix crash with GET_JTAG_DEVICE_COUNT with dynamic chains.
- Fix stepping through an empty raw JTAG block.
- Logic:
- Editing a disable value on a net could cause a logic block to be no longer used as its driver.
- Fix potential crash when using logic in XJEase.
- Connection Test: error with linked logic driven values.
- ODB++: fix potential crash decompressing .Z files inside ODB++ projects.
- Network licensing:
- Explicitly release all licences when the application closes.
- Remove built-in, default linger times.
- Help:
- Update the BOM tutorial exercise to reflect the new location of the XJDemo board BOM file.
- Ensure all external links open in a web browser and not inside the help window.
- XJDemo example: trim null characters from the serial number when displaying it.
- Installer: fix typo in the EULA.
3.6.2
Released 5th October 2017
- XJDeveloper:
- Sometimes an error occurred when trying to run a test functions with arguments after a parameter had been removed from the function.
- Fix the URL for the logic library changelog.
- Fix potential hang in some circumstances when setting up the JTAG chain.
- Don’t suggest differential termination resistors on TAP nets.
- Resistors on power and ground nets could be incorrectly suggested as series resistors in the Suggest Categorisation dialog.
- Clicking Help on the updated logic library definitions dialog caused all updates to be applied.
- Prevent notifications that the project has been modified when exporting a project to XJPack or Zip.
- Circuit Code Files screen: closing and reopening the screen left the debugger controls disabled.
- Pinmapping screen: signal integrity tests failed when a profile did not contain all subchains.
- XJRunner Setup screen: bus access overrides were not updated correctly if a board was renamed.
- XJAnalyser: if the TCK frequency was overridden, it was not used if dynamic chains were in use.
- XJRunner:
- Spurious blank lines could sometimes appear in output when printing out carriage return characters.
- If a link, e.g. via PRINT_DEVICE_LINK, is printed as the first item on a line then a spurious new line was inserted before any additional output.
- If detailed test output was disabled, then hyperlinks in the test summary table did not work.
- Log File Viewer:
- Fix potential crash when opening log files directly from a zip file.
- Fix potential crash closing the log viewer immediately after opening it.
- Chain Debugger: fix potential crash after some kinds of hardware errors like overcurrent.
- XJRunner Integration:
- Add TestCollection.GroupCount and TestGroup.FunctionCount properties.
- Add a property to the FunctionFinishedEventArgs and to Runner to indicate the stop mode of a function.
- Allow RunFunction and StartFunction to run XJEase functions with multiple output arguments.
- Allow RunFunction and StartFunction to run global XJEase functions in device files if a device reference is provided.
- Add Runner.PlainTextLoggingEnabled and Runner.FormattedLoggingEnabled properties.
- Add Runner.GlobalVariables property to access XJEase global variables.
- Add XJLink2 self test example C# project.
- Allow the log file to be exported from the output box after the Runner object has been disposed.
- Fix crash running the XJLink2 self test if the output box is not being usde.
- Fix crash displaying the layout viewer help.
- XJRun:
- Ensure the post-testing function is run if the option to run it after the log file is written is enabled.
- Fix potential crash if writing the log file to disk fails.
- Logic:
- Initialise logic better to match the safe bitstream when blocks have conflicting preferences.
- Fix potential crash when starting to run tests.
- XJEase:
- Fix spurious syntax error when the last line of a file is a comment.
- Add hyperlinks to device configuration value errors.
- Add hyperlinks to errors when connecting devices and pins fails.
- Ensure errors indicating devices that have conflicting categorisations include the board name if there are multiple boards.
- XJAPI: fix escaping of ampersands in example code in the help.
- XJLink2: don’t autoskew if the TCK frequency is below the safe frequency.
- Suppress error messages when external hardware plugins can’t be loaded.
3.6.1
Released 14th September 2017
- XJDeveloper:
- Fix potential crash after resetting BSDL Editor default colours in the options dialog.
- Projects that used cores inside a multicore device for bus access overrides could not be re-opened.
- Fix potential crash editing XJEase code.
- Fix potential crash closing the application.
- Add option to disable the detection of files being externally modified.
- Detect external modifications to the main .xjd project file.
- Improve the detection of pull resistor conflicts.
- Prevent potential crash displaying the layout viewer.
- XJEase Debugger: add extra columns to the watch window to display values and variable widths in different bases.
- XJEase Library: add option to save a copy of a file to from the library to disk.
- Categorise Devices screen:
- Allow columns to be customised for uncategorised devices.
- Tests could somtimes be automatically added to the test list for files that contained no tests.
- Circuit Code Files screen: library files were not correctly removed from a project when referenced by an absolute path.
- Test Device Files screen:
- Fix a memory leak that occurs with heavy use of the screen.
- Fix potential crash switching to the screen if the project settings have been corrupted.
- XJRunner Setup screen:
- Fix potential crash moving a condition within the test list.
- Prevent adding a condition with a duplicate name.
- Analyser screen: if the screen is separated and XJEase code in a test reset sequence is being debugged and the code file screen is already open, don’t undock it.
- A number of improvements to how a BOM is imported and how the data is used:
- Import footprint and partnumber columns.
- Display more information from the BOM in various places.
- Improve matching logic footprints to BOM data.
- XJAnalyser:
- Fix potential crash restarting the chain after changing profiles when conflicting pins have been found.
- Add option to disable the detection of files being externally modified.
- Chain Debugger: Check Chain could run the chain at 100 kHz in some circumstances even when the TCK frequency was set lower.
- Log File Viewer: content could sometimes appear out of order if a test had generated a large amount of output.
- Connection test:
- Fix connection test when XJLink2 pins used directly in a test reset sequence.
- Constant values were not being maintained properly on open-collector logic outputs.
- Logic: include constant values on logic outputs correctly when generating the safe bitstream.
- XJEase: modifications to a value passed into a function could sometimes be observed in the original variable.
- ODB++:
- Handle nets with spaces in their names.
- Handle non-conformant files that indicate non-connected pins incorrectly.
- Handle files that contain an invalid UNITS line for a step.
- XJRunner Integration: improve the documentation of the AssemblyResolver.
- Update End User Licence Agreement.
Main features in version 3.6
Please see our blog post for more details about this release.
- XJDeveloper:
- Automatic test list creation. As test devices are categorised, test functions are automatically added to the XJRunner test list. CheckChain and CONNTEST are automatically added to the test list when creating a new project.
- RUNSVF, RUNSTAPL and SAFE functions can all be added directly to the XJRunner test list without needing to created XJEase test functions just to call them.
- Debugging improvements:
- A new call stack window, allowing you to see the sequence of calls that has led to the current location and to examine the variables in each stack frame.
- A new breakpoint window, allowing all breakpoints that have been set to be viewed and be easily removed.
- A number of improvements to how BOM data is interpreted and how nets and devices are automatically categorised.
- XJEase: Add arrays to the language.
- Netlist: improved ODB++ netlist parser making extracting netlist information from ODB++ files significantly quicker and more reliable.
Smaller enhancements and bug fixes
- XJDeveloper:
- Improve handling of logic that outputs Hi-Z in DFT and Explorer.
- Make the existence of errors in logic more obvious in DFT, Explorer and the Errors pane.
- Automatically suggest SVF, STAPL and other data files used in a project when packing or zipping a project.
- Ignore hidden directories when zipping projects.
- Fix XJEase syntax highlighting of bit ranges.
- Fix an issue where a project containing mis-categorised devices could take a significant amount of time to open.
- Fix an issue where a mis-categorised ground net could cause a project to take a significant amount of time to open.
- Fix an issue where assigning a TDI net as a ground net could cause the application to become unresponsive for a time.
- Improve performance when recategorising devices with Explorer open.
- Fix a crash if an error contains exactly 32 hyperlinks.
- Fix potential crash after changing a board’s schematic file.
- Fix a potential crash opening a some schematics exported from Altium.
- Remove unused test list conditions from a project when saving.
- Ensure that new projects get an updated version of Globals.xje and not one inherited from an older version of XJTAG.
- XJRunner Setup screen: allow test functions to be edited and configured immediately when added to a test group.
- Run Tests screen:
- Fix potential crash switching quickly away from the screen when a watermark is displayed.
- Fix crash clicking Print if no XJLinks attached.
- Add option to hide the dialog box that prompts you to save before running tests.
- Pinmapping screen: check DR lengths for each device in SAMPLE when doing Check Chain with dynamic chains.
- XJRunner:
- Clicking a link to a pin in connection test output could cause the output window to be cleared in some circumstances.
- Only display hyperlinks for pins and nets in connection test output if there is some way available to display them.
- Global variables were not persisting when running a post testing function after stopping a test.
- Chain Debugger:
- Improve how logic standards are distinguished from custom logic levels.
- Switching a pin from toggling to high did not work.
- Opening a pinmap containing advanced settings should cause the advanced settings checkbox to be automatically selected.
- Allow PIO names to be edited directly rather than opening a separate dialog.
- Adjust the input threshold if possible to match when changing the output level.
- Warn before deleting the selected TRST sequence.
- Measuring a pin’s frequency did not apply power if not already in live mode.
- Setting a pin to toggle did not set the correct output voltage if not already in live mode.
- Pin names and their waveforms did not always align correctly when editing sequence waveforms.
- Various dialogs could momentarily appear in their previous position before being centered in their parent.
- XJLink Manager: display firmware version correctly after updating an XJLink2’s firmware.
- Logic:
- XJEase: Fix reading through logic where logic output is open-collector.
- Fix combining logic where the signal driving an enable or direction pin also drives the new block.
- Improve combining logic in the presence of enable pins.
- XJEase: driving a net from multiple logic blocks simultaneously did not always work correctly.
- XJEase:
- Support XJEaseDoc tags.
- Remove redundant reset on first JTAG access.
- No runtime error occurred trying to read a bus with no valid pins in it.
- Pinmaps: don’t allow a pin to be defined multiple times in a pinmap file.
- Licensing: handle cases better where there are overlapping licences available on a network licence server.
- Help:
- XJRunner Integration API documentation was not visible in the main help contents.
- A number of other fixes and improvements.
Older versions
3.5 | 3.4 | 3.3 | 3.2 | 3.1 | 3.0 | 2.7 | 2.6 | 2.5 | 2.4 | 2.3 | 2.2 | 2.1 | 2.0
We welcome any suggestions for improving our products. Please contact us with any comments you may have and we will look into incorporating your ideas into a future version.
