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.05.00 generating code that won't compile for RM57L843ZWT

Other Parts Discussed in Thread: HALCOGEN

We were struggling to get the eQEP to count before I found post 427910 about a HALCoGen issue. Hoping that 04.05.00 would fix the problem, I upgraded. Unfortunately, the HL_pinmux.c file generated will not compile now  (PINMUX_BALL_R4_ is undefined, PINMUX_BALL_R3_, and PINMUX_BALL_P3_ undefined errors). When I try to select GIOB[7], GIOB[6] and GIOB[3] in HALCoGen in the PINMUX tab, I get conflicts for each pin. Any ideas on how to work around this or should I go back to 04.04.00 with User Code in HL_pinmux.c for PINMUX[81] and PINMUX[82]? Thanks.

Project files are attached for reference.

8473.RM57HDK.zip

  • Mark,

    Three signal names are not properly generated. These signal names should be:

    pinMuxReg->PINMUX[9] = PINMUX_BALL_R4_EMIF_nCAS | PINMUX_BALL_N17_EMIF_nCS_0 | PINMUX_BALL_L17_GIOB_4;

    pinMuxReg->PINMUX[10] = PINMUX_BALL_K17_EMIF_nCS_3 | PINMUX_BALL_M17_GIOB_5 | PINMUX_BALL_R3_EMIF_nRAS | PINMUX_BALL_P3_EMIF_nWAIT;

    I will ask the HALCoGen team to correct this in the next update scheduled for the end of this month. In the mean while you can work around this issue by changing the names as shown in the highlights.

    Regards, Sunil

  • You have also enabled interrupts for MibSPI4 but are not generating the driver code required for MibSPI4. This causes undefined symbols for the MibSPI4 low-level and high-level interrupt service routines.

    Regards,
    Sunil
  • Hi Mark,

    I believe you created the project using HALCoGen v04.04.00 and regenerated using v04.05.00.

    There was a bug in GIOB checkbox in PINMUX tab in HALCoGen v04.04.00 and is already fixed in the 04.05.00 release. This should not happen if you create a project using the latest HALCoGen,

    As a workaround, can you uncheck GIOB checkbox in PINMUX tab using HALCoGen 04.04.00, and then use v04.05.00 to enable them and generate the code.

    Hope this helps!

    Regards,

    Veena

  • Even with HALcoGen 04.05.02 this problem still persists:
    Starting from the ethernet-example (processors.wiki.ti.com/.../LAUNCHXL2_RM57L:_lwIP_Demo), it causes some pain for Hercules newbies when
    "pinMuxReg->PINMUX[9] = PINMUX_BALL_R4_" is still wrongfully created.

    Configuring (cite): "Change the selection on balls T4, U7 to the default functions (from MII_RX_AVCLK4 to MII_RXCLK, and from MII_TX_AVCLK4 to MII_TX_CLK). The phy will provide these clocks to the MAC on the launchpad." causes pin conficts. Since the described MII_RX_AVCLK4 is actually only found on the alternative pin as a mux option.

    Thanks for clarifying
  • Hi Thorsten,
    I'm sorry that this problem is not addressed in the latest HalCoGen version. I will notify the HalCoGen team.
  • Kind of disappointing that after 8 months HALCoGen, a code generator, still can't generate code that compiles. Hopefully it will be addressed in 04.05.03 (or 04.06.00 or whatever the next release is).

    Mark
    (still running 04.04.00)

  • Hi Mark,

    Sorry for the inconvenience. This was a bug reported in the previous version of HALCoGen. We have already done the fix in the latest version 04.05.02. But this has caused some incompatibility issues. So, if you have a HALCoGen project created with an older version which you are trying to open in the new version, the same error may occur. The issue is not present if the project is created with HALCoGen version 04.05.02.

    As a workaround, you can create a new project with same settings. Or if you don't want to create a new project, you can still use the old project, undo all the pinmux settings, open in the latest version of HALCoGen and redo. (uncheck all the pins with the old version of HALCoGen and enable the required ones with the new version).

    Hope this helps!

    Thanks and Regards,

    Veena