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: Issues with HALCoGen

Part Number: TMS570LC4357
Other Parts Discussed in Thread: HALCOGEN

It appears to me that HALCoGen have some problems which makes HALCoGen projects hard to maintain.

1. If you make modifications to a parameter, and then compare with the previous version using 'diff',
    then you might get a very large set of diffs, simply because the variables are not stored in the same order.
    This might be between different versions of HALCoGen

2. There appears to be stale values in the database.

     If I diff between two 'dil' files they can show a difference, but in the GUI they are the same.

     If I choose a tab, where the database and the GUI differs, and change a parameter,
    save the file, and then change the parameter back and saves the file again,
    the other parameters suddenly are updated so that the database reflects the GUI values.

3.  There are annoying differences between two files where one has a value of "50.000" while the other
     has a value of "50".

4. Not sure about this, but I  have seen problems with CR/LF vs LF causing diff.
    Anyway, it would be good to be able to select the line ending.

5. There appears to be unused values in the dil file which have no GUI representation.
    I see them in old files, but they are not generated if I create a new file for the same processor.

6. HALCoGen should support having interrupt routines outside HALCoGen.

    For this, you need to be able to comment out the interrupt routines.
    You need USERCODE between each subroutine.

  • Would also like to know where the "DRIVER.SYSTEM.VAR.SAFETY_INIT_ ..." variables are defined.

  • 7. You change "case" between versions so files generated with one version might write 0xfc000000 while the next version generates 0xFC000000.

    For the MPU it is saved in lower case if nothing is changed in the MPU setup, but in upper case if you change something in the MPU setup. It is not even consistent in the same version.
    This is AWFUL!

    8. I have not found a way to run HALCoGen in batch mode. This would be desirable.

    9. Where is DRIVER.SYSTEM.VAR.DCC1_ENABLE.VALUE defined in the GUI?

    10.DRIVER.SYSTEM.VAR.DCC2_ENABLE.VALUE ?

    11. DRIVER.DMM.VAR.DMM_BASE_PORT.VALUE ?

    12. DRIVER.SYSTEM.VAR.ALL_DVR_ENA.VALUE ?

    13. DRIVER.SYSTEM.VAR.PMM_*

    14. DRIVER.SYSTEM.VAR.CORE_ENDIAN_LITTLE.VALUE=1 on older projects. It is "1" on a new project
           This is not updated when older projects are saved.

  • Hello,

    #1~#5: Thanks for pointing those out. We knew the difference between the .dil files generated by two different rev HalCoGen. If you open the old .dil file with the latest HalCoGen, please double check the settings in the GUI and regenerate the code using the new HalCoGen. 

    #6: Yes, the USERCODE SECTIONs have been added before and after the ISR (AHLCoGen 4.07.01)

    #8: I don't think the HALCoGen supports batch mode.

    #9: DCC1 tab to nebale DCC1

    #10: DCC2 tab to nebale DCC2

    #11: this is the base address of DMM module registers

    #12: The DMM port port address (DIR, IN, OUT, SET, CLEAR...)

    #13, for TMS570LC43x, DRIVER.SYSTEM.VAR.CORE_ENDIAN_LITTLE.VALUE should be 0

    #13: PMM: power management module. It is enabled, but not user configurable from GUI