Skip to content

Releases: DanielT/a2ltool

Version 2.5.0

07 Dec 15:31
Compare
Choose a tag to compare
  • Support program information in PDB format
    The new option --pdbfile can be used instead of --elffile in order to read address and data type information from a PDB file. This supports the "virtual ECU" use case, where some parts of a microcontroller application are built on Windows and run inside a simulation environment.
  • Improve the limit adjustment logic
    If an object with a 64-bit float data type had a compu-method, the limit calculation could produce +-INF.
    This has been prevented.
  • Update to a2lfile 2.4.0, which brings the following improvements:
    • The handling of /include normlizes the path separators, so that Windows paths work on Linux (by @AkhilTThomas)
    • a2l checker improvements:
      • The RECORD_LAYOUT used by a CHARACTERISTIC must contain FNC_VALUES
      • A RECORD_LAYOUT must contain an AXIS_PTS_X/Y/Z for each internal axis
      • There should be a specific number of AXIS_DESCR depending on the type of RECORD_LAYOUT
      • The lower and upper limits of CHARACTERISTICs, MEASUREMENTs and AXIS_PTS
        are checked for plausibility based on the data type of the item and its COMPU_METHOD.
  • Bugfix: in some cases IF_DATA of newly merged files was not updated
  • Bugfix: For both DWARF and PDB input the signedness of enums is now read and used.
    Previously all enums were treated as unsigned.
  • Expanded and improved unit tests
  • a new relase workflow automatically builds binaries for Windows and Linux

Version 2.4.0

31 Oct 21:08
Compare
Choose a tag to compare
  • Document and validate the ability to use exe/DWARF2+ files, which are produced by MinGW gcc.
    In practice support for these files has always existed because the object crate transparently supports getting sections from exe files.
  • Allow greater control over the a2l update process
    • The option --update can now take an argument FULL or ADDRESSES (if the argument is not provided it defaults to FULL)
      Mode FULL updates addresses, datatypes, upper and lower limits, etc. It is a comprehensive update of all information in the a2l file.
      The mode ADDRESSES only updates the addresses, leaving everything else untouched.
    • The option --upate-preserve has been removed. Instead there is not --update-mode, which works in combination with --update
      Update mode STRICT verifies all information in the al2 file. If anything other than the addresses would be modified, then a2lfile reports an error.
      Update mode PRESERVE PRESERVE behaves like --update-preserve, and keeps unknown objects.
      Update mode DEFAULT (or omitting the option entirely) allows incorrect information, and discards invalid blocks.
  • Upgrade to a2lfile 2.3.2
    • Bugfix: Escape codes \r, \n and \t in quoted strings were not handled correctly while writing files
  • Bugfix: support the case where a compiler omits type information after the volatile tag for "volatile void*"

Version 2.3.0

03 Oct 19:03
Compare
Choose a tag to compare
  • Bugfix: Handle the case of incomplete DWARF type info
    C allows incomplete type declarations. For example "struct foo;" without a definition only tells the compiler that his type exists, and results in a stub type entry with the attribute DW_AT_declaration in the DWARF data.
  • upgrade to a2lfile 2.3.1
    • change the behavior of merge for GROUPS and FUNCTION
      Previously, if two GROUPS in a merge had the same name, then the incoming group was renamed with the suffix ".MERGE".
      Now the content for GROUPs/FUNCTIONs with the same name is combined.
    • a2l checker improvements: fix several bugs, and handle some additional cases
  • In strict mode, any problems detected by --check now cause a2ltool to exit with an error code.
    Outside of strict mode, --check remains informational.

Version 2.2.0

03 Sep 20:28
Compare
Choose a tag to compare
  • upgrade to a2lfile 2.2.0
    • Bugfix: during merges, some items might be renamed to prevent name collisions, but not all references to renamed items were updated inside of TYPEDEF_*
    • Successfully parse non-standard a2l files which contain hex-encoded integers where the parser expects a float value. (by @louiscaron)
  • Add the ability to remove items by regex. This will remove any CHARACTERISTIC, MEASUREMENT or INSTANCE whose name matches.
    Removal happens before insertion, if both are done in the same run.
  • Change the behavior of insertion by regex: the regex must match the whole variable name, instead of any substring inside it.
    This makes insertion more precise, but some regexes that worked previously will need to be extended with .*

Version 2.1.1

20 Aug 20:03
Compare
Choose a tag to compare
  • Bugfix: Don't fail to read DWARF type info if it contains any of the attributes packed, atomic, restrict, or immutable.
  • During update, set ECU_ADDRESSes that were "0" to hexadecimal display mode

Version 2.1.0

18 Jul 19:26
Compare
Choose a tag to compare
  • Enable the use of response files on the command line, using an @filename argument
  • display XCPplus parameters in --show-xcp

Version 2.0.2

22 Jun 18:05
Compare
Choose a tag to compare
  • update to a2lfile 2.1.0
    • add handling for /include inside A2ML (by @louiscaron)
    • fix multi-level /include inside A2L

Version 2.0.1

13 Jun 21:46
Compare
Choose a tag to compare
  • Fix issue #30: don't remove the BIT_MASK from elements during update (by @louiscaron)
  • Fix issue #32: the COMPU_METHOD must be taken into account while updating the data limits
  • Fix: Performance regression from version 2.0.0

Version 2.0.0

18 Apr 21:49
Compare
Choose a tag to compare
  • upgrade to a2lfile 2.0.0
    • fix the definition of AR_COMPONENT
    • don't remove valid elements during cleanup
  • Create and update INSTANCEs and TYPEDEF_MEASUREMENTs if the file version is 1.7.1 and --enable-strucutres is set
  • Insert whole arrays of MEASUREMENTs and CHARACTERISTICs instead of separate items for each element if the array elements have a simple datatype
  • Items can now be inserted based on the containing elf section
  • Debug data reader improvements - extracted information should now be better and more complete
    With assistance and fixes by @oleid - Thanks!
  • Support XCP IF_DATA up to version 1.4 (previously only version 1.2 was supported)
  • Use new array notation if the file version is 1.7.0 or newer - "[x]" instead of "._x_"
  • Fix the BIT_MASK attribute for big-endian targets
  • Remove a stray debug print that caused message spam while inserting CHARACTERISTICs

Version 1.6.0

29 Dec 19:43
Compare
Choose a tag to compare
  • Upgrade to a2lfile version 1.5.0
    • Ensure that the components of a RECORD_LAYOUT are written in the correct order
    • fix the definitions if the OVERWRITE and REF_MEMORY_SEGMENT elements
    • be more strict about a2l versions, and reject unknown ones
    • improved error handling for invalid identifiers
  • Bugfix: handle inherited members of C++ classes correctly
  • Correctly read array information from the DWARF debug data even if it does not have a size attribute
    Contributed by @oleid
  • reduce clap and regex versions in order to be compatible with rustc 1.63 on Debian stable
    Contributed by @oleid
  • add an option to change the a2l file version. This option deletes any elements that are unsupported in the target version.