Release Note for Development Tools v11.2.2 ========================================== Previous release: 11.2.1 NEW FEATURE ENHANCEMENTS ------------------------ * flash programming * New SPI Flash Support - Macronix MX25L1005C RESOLVED ISSUES --------------- * debugger * XGDB crash when setting breakpoint in native 64 bit version * flash programming * xflash was prioritising built in flashes over command line spi spec file Release Note for Development Tools v11.2.1 ========================================== Previous release: 11.2.0 RESOLVED ISSUES --------------- * XDE * Debug view in XDE was incorrect making it difficult/impossible to switch threads * debugger * XTAG-2 JTAG state machine reset now works correctly without TRST * reset command after device detach now functions correctly * UART connection now closed correctly on xgdb exit * Debugger on OSX no longer drops connection to FTDI based development boards during execution * board support * Duplicated link endpoints in XN are now reported. * Additional notation for link endpoints on L devices is now supported: XLx where x is [ABCDEFGHIJKLMNOP]. * Clearer XMOS link naming scheme used in L2 XN file * Flash programming * The 11.2 version of xflash could not produce a flash image to boot a system with more than 2 switches. This is now fixed. * Enhancement to SPI specs: changed unnecessarily large sector size (32768) to 4096 for Atmel AT25FS010. * Applications written to flash by xflash using an XN file which contains streaming debug links (for xscope) will often fail to run correctly. To avoid this, xflash now declines to operate with any XN file which includes streaming debug links. * Previously the default boot loader would choose the last image in flash with a non-zero version number rather than the one with the highest version number overall. This is now fixed. * Fixed boot failure with N-L1/2 systems with multiple boot sites. * xscope * XScope print redirection now flushes host buffer correctly * client tools installer * SetEnv.bat can now be run from any directory Release Note for Development Tools v11.2 ======================================== Previous release: 10.4.2 NEW FEATURE ENHANCEMENTS ------------------------ * XDE * Beta of XScope real-time instrumentation (please see Tools User Guide) * Update notifications * Exclude from build now works for XN files * UART output can now be sent to XDE console * Support for --jtag-speed * New XN target management * Library documentation available from help menu * Vcd viewer now displays the time between 2 points. * Vcd viewer now reports % complete when loading large files. * Vcd viewer can now partially load large trace files. * xc compilation * Emit .size directives for objects. * Add optimization pass to perform Scalar Replacement of Aggregates. If possible structures and arrays are split into their component parts so subsequent optimizers can do a better job. * Add support for early clobber constraint in inline assembly. * Emit .size directives for functions. * Warn when argument to set_pad_delay() is truncated. * Label plus immediate offset addressing now uses the DP, CP or SP register when possible (at -O1 or above). * c/c++ compilation * Emit .size directives for functions. * xcc frontend * Add support for the dependency generation options -MP, -MF and -MT. * Flash programming * SPI flash boot speeds are significantly improved. * The flash library (and hence xflash) now ship with support for a much larger number of devices. * xmapper/linker * Warning suppression in the compiler front end now applies to linker/mapper warning too. * OTP programming * xburn checks online for critical updates * xas assembler * The .size directive can now accept expressions. * xobjdump * xobjdump now supports the disassembly of .a (library) files. * timing analysis * The xta now comes equipped with a python scripting interface. * Xta now differentiates between timing failures and missing loop iteration failures. * Xta now supports the specification of frequencies in KHz and Hz COMPATIBILITY CHANGES TO PREVIOUS RELEASE ----------------------------------------- * Board support * Package information in now mandatory in XN files. * Compilation * ports must be placed on a specific core * stdcore now defined by platform.h * OTP programming * -o option in xburn now causes it to write out an OTP image (previous behaviour can be enabled with --make-exec) * simulation * Simulator plugin interface has changed (see Tools User Guide) RESOLVED ISSUES --------------- * OTP programming * OTP burning code fails to report bits which cannot be programmed. * xburn fails to detect leaky bits on G4, leaky bits in redundant rows on L1 * board support * The docs describe the PLL in terms of divider stage 1 register, multiplier register and divider stage 2 register. To reflect this XN now allows the following XN attributes for Node: PllDividerStageOneReg, PllMultiplierStageReg and PllDividerStageTwoReg. * xas assembler * .cc_top directive using a undefined symbol as a predicate causes the assembler to crash. * Incorrect relocation used for .word directive with a symbol defined using the .set directive. * xobjdump * Removed deprecated -v and -h options * Xobjdump now supports the displaying of the notes sections (--notes) * xcc frontend * Add the -default-clkblk option to change which clock is used as the default clock block. * The target name of the rules created with -MMD doesn't include the subdirectory of the output file * Allow selects on sub-word inputs when the target is a XS1-L devices. Previously it was necessary to pass -fsubword-select to get this behaviour. * xmapper/linker * Improve the error message given when a relocation cannot be applied. * Flash programming * Resolved issue with link initialisation on L1/2 multi-node systems with multiple boot SPI flashes. * When making an upgrade image "--boot-partition-size" is no longer required. * timing analysis * In the XDE, when an xta route is selected, the endpoints for that route are now shown * There was a bug causing the xta visualisations view to sometimes not be updated. This has now been fixed. * Fixed bug in version command in the xta console. * XDE * Editor does not recognise multiple returns as valid syntax * Null pointer exception when changing build properties * Customize perspective doesn't work * Errors when tools are not on path * Simulator trace file can now be selected in file selecter * xc libraries * configure_out_port() doesn't set the initial value of ports used to serialize data correctly. * xc compilation * Multicore main sometimes allocates too many chanends * Parallel usage checks do not catch writes to const structs * Timers in array of structures are sometime mis-allocated * Compiler occasionally fails to free chanends in channel arrays after use. * XTA endpoints and labels sometimes lost during optimisation * Inline assembly in ordered select causes erroneous loop hoisting of CLRE instruction * Fails to optimise away connect operation on unused chanend * Inlining of calls to functions with null parameters causes internal error * Calls to select functions inside select replicators sometimes trash one word of neighbouring select function stack * Register allocator failure with spilling and read of variable in multiple threads * Compiler incorrectly allocates chanends in multicore main when chan array and element used in single par statement * Compiler allocating too many chanends for local chan variables in multicore main. * Inline assembly in multicore main can cause an internal error * Miscompilation of select that events on a timed port input and on a transaction function that takes the same port as an argument. * Inline assembly using uninitialized variable causing internal compiler error * Assigning a complete structure passed by reference can cause a compile time error * lmul builtin using incorrect registers for arguments * No warning about XTA label pragmas outside of function scope * Use LDWCP instruction for loads from the cp into r0 - r10. * Assertion when a function containing a case with a slave statement is inlined * Compiler crashes on a call to partin() with an incompatible type for the first argument. * The compiler should error on break, continue and return statements that jump out of the transactions. * Compiler crashes if a clock is passed to two select functions called from the same select. * Deprecate use of soutct() to output CT_END and CT_PAUSE control tokens. * Compiler should error if two different elements of a channel array are referenced inside a transaction. * Parallel usage checks sometimes incorrect in the presence of multi-dimensional channel arrays KNOWN ISSUES ------------ * c libraries * link error calling gettimeofday() * runner * stdout is printed to stderr * XRUN does not warn user if system/reference frequency cannot be met * xcc frontend * Possible conflict with Actel FPGA IDE * Compilation fails if the path contains non ASCII characters * simulation * Remove defunct simulator option '--iss' * other * xmake error messages on Windows can be unhelpful * xmapper/linker * An erroneous reference to a static port from a different core is not reported at compile time (traps at run time). * debugger * Step through doesn't work across cores. * XGDB does not support the plugins system call * XGDB multi-node boot cannot be interrupted by the user * timing analysis * Cannot load file from unicode path * XTA doesn't support unoptimised select functions * c/c++ compilation * Error initialising wchar_t array with wide string (c++) * XDE * Unable to disable a watchpoint once set * -nostdinc should be removed from settings of C/XC Build * Debug configuration 'attach to a running process' should be ignored in Simulation mode * Variables view only showing globals on core 0 * XDE Problems view reorders errors * Generated Makefile always rebuilds .xe file * Line numbers not scrolling on second monitor on OSX * Second xde dock icon when switching workspace on OX * Register view does not update when switching threads * There is no way to see registers in hex * Run does not build if there are no existing binaries * When creating new source file, if a file of the same name already exists, it is destroyed * graphical timing analysis * Fixed time rounding bug in the xta gui. * Script editor doesn't update syntax highlighting after edit * xc compilation * Alias of chanend array and element of that array in a single function call does not raise an error * Some unreferenced entries in the constant pool may remain after elimination * Nested loops sometimes do not get unrolled when unroll pragma used * Structs declared in reinterpret casts can cause a redefinition error * Alias checks sometimes do not catch aliases in arguments to inlined functions * Compiler errors with par replicator of size 0 * Using chan arrays in multicore main sometimes causes the compiler to throw an internal error * Inlining select replicators causes a compilation failure. Workaround : Use -O2 to avoid automatic inlining, or do not mark functions which use select replicators as `inline' * XTA label pragmas placed after break/continue/return may be added to unexpected places in output * Inline assembly may not return and so should be a barrier for XTA label pragma positioning in output * Using one whole dimension of multi-dimensional chan arrays as a function argument causes runtime error when the argument is used * Building very large programs at -O0 -g may hit a label limit and fail to compile * Replicators are not supported in select functions * Inlining a function without a full definition into a par can cause a link time error * Compiler hoists SETV for selects in a loop even when the select is within an if * Inliner and inline assembler can cause variable trashing