This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS570LC4357: HALCoGen does not save changes, and keeps obsolete setups in DIL file

Part Number: TMS570LC4357
Other Parts Discussed in Thread: HALCOGEN

I am using the latest HALCoGen, and I am trying to merge the setup from two different HALCoGen projects.

I have noted that HALCoGen does not appear to be saving project data properly.

The most obvious seems to be the toolchain.

If I have the TI toolchain, and select the IAR toolchain,

neither the

DRIVER.TOOLS.VAR.IAR.VALUE=0

nor

DRIVER.TOOLS.VAR.TI.VALUE=1

gets updated.

===

The way I merge is to copy both DIL files to a directory,
then I sort and do a "diff" followed by removal of non-unique lines.

This leaves me with the differences between the two projects.

I note a difference, then modify one of the projects to remove the difference and save.

When I rerun the diff, the changes has been ignored.

If I select another tab/view and save, then the changes are saved.

===

The DIL file appears to contain things which is no longer in use.

One of the projects contain:

DRIVER.SYSTEM.VAR.SAFETY_INIT_<var>. VALUE

The other project does not.

Another example is

DRIVER.SYSTEM.VAR.DCC1_ENABLE.VALUE

which I found no way to change.

There is a

DRIVER.DCC.VAR.DCC1_ENABLE.VALUE

which seems to have replaced the previous value.

I think when you save a project, all existing variables which are no longer in use should be removed.

  • I also note that there is a difference between upper/lower case when writing out the same value.

    DRIVER.SYSTEM.VAR.RAM_LINK_LENGTH.VALUE=0x0007eb00
    DRIVER.SYSTEM.VAR.RAM_LINK_LENGTH.VALUE=0x0007EB00

    It appears that HALCoGen used to write hexadecimal values in lower case, and changed to upper case.
    Older projects when read in, will maintain the case it was written in.

    I can understand the reason for that, but I think there should be a way
    to save the project with the default case, and not the current case,
    so that comparisions do not fail due to case issues.

  • Hello,

    I'm looking into this and will get back to you.

    Are the two projects created with the same version of HALCoGen?


    Regards,

    Akshay

  • No, I think the projects were originally created by two different versions of HALCoGen.

    When I work to merge them, I am using the same version: 04.07.01 to save both projects.

    It is very difficult to maintain, if you make a modification of one block, and you suddenly
    see changes in other blocks, where the only change is that a hexadecimal
    value has changed the case.

    It basically contaminates the patch, making interactive rebase impossible in "git".

    git also reports carriage returns.

    I think it would be good if you could select either linux style ("\n") or DOS style ("\r\n") in the output.

  • Hello,

    The toolchain updates are saved in the HCG file and you would need to update it there as well. 

    It is not recommended to edit the DIL files manually when multiple changes are required, since there are a lot of tokens whose values are dependent on other tokens as well.

    There are many redundant and unused tokens present in the DIL file which are maintained for compatibility purposes.

    Thanks,

    Akshay