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.

Halcogen 04.06.00 inserts references to EMIF in system.c with TMS570LS1114 project causing errors.

Other Parts Discussed in Thread: HALCOGEN

I have a project using the TMS570LS1114PGE and recently updated to Halcogen 04.06.00 from 04.05.02. When Halcogen 04.06.00 generates code, it now includes emif.h and calls emf_SDRAM_StartupInit() in system.c, which causes compilation errors for compiler can't find those. I don't get these when I use Halcogen 04.05.02.  I can #if these out using USER CODE areas but I shouldn't have to do this. Can you notify Halcogen team to fix this in future release? Thanks.

  • Hi James,

      Thanks for reporting the issue. The EMIF interface is only available in the LS1114 ZWT package but not the PGE package. The  emf_SDRAM_StartupInit() should have been excluded from the system.c for the PGE package. I will file a bug report to the HalCoGen team so it will be tracked.

  • /cfs-file/__key/communityserver-discussions-components-files/312/3124.system.c

    James,

    Sorry that happened. I tried to recreate the problem by  creating a fresh HALCoGen project using v4.06.00, with a TMS570LS1114PGE, but did not duplicate the problem. I have attached the system.c file that was generated. Do you have any user code in system.c? If not, can you delete system.c and regenerate if from HALCoGen?

  • I tried deleting system.c and regenerating code with Halcogen. Same results - emif stuff included in system.c. I also tried what you did - start a fresh project in v4.06.00 and the emif stuff did not get put in like you saw. It appears that any project created with v4.05.02, opened in v4.06.00, will generate code with emif stuff in system.c. I verified this with a new project created in v4.05.02 that I then opened in v4.06.00 and generated code in v4.06.00 - emif code there.
  • one more thing - I forgot to mention that with the new project test with v4.05.02 that I generated code in v4.05.02 to verify emif was not put in, then opened / regenerated code in v4.06.00 and verified emif was put in. I just tried creating a new project in v4.05.02, don't generate code in v.4.05.02, then opening / generating code in v4.06.00; that did not generate emif code in system.c.
  • James,
    Thanks. I was able to recreate the issue by creating a HALCoGen 4.05.02 project for a TMS570LS114PGE, using just default settings. I generated the code and compiled with no errors. Then I opened the project with v4.06.00 and regenerated the code (no change in settings). Now I see the '#include "emif.h"' in system.c that should no be there. We can start working on the fix now.
  • Hi James,

    Ticket SDOCM00122821 is raised for this issue in HALCoGen Defect tracking system.

    Root Cause: it's a bug in 4.05.02, EMIF driver is enabled for all device variants even though it did not support in the .cnf file ( <HALCOGEN INSTALl FOLDER >\config) . This got fixed in 4.06.00, unfortunately the project files created on 4.05.02 still contains the variable DRIVER.SYSTEM.VAR.EMIF_ENABLE.VALUE=1, in the dil file, which when used in 4.06.00 assumes EMIF is enabled and adds the Header file to system.c file, which is supposed to be added only for devices that support EMIF.

    Workaround: Open the halcogen project file ( xxx.dil file ) , look for DRIVER.SYSTEM.VAR.EMIF_ENABLE.VALUE=1 change the value to 0.

    Fix From HALCoGen Team: Roll out a Patch release, in which when any project created prior to the latest patch version, will set the value of EMIF Enable to 0 for the devices that does not support EMIF. 

    Hope this message helps !!!