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.

F29H85X-SOM-EVM: CCS 20.4.1.4 incremental build issue

Part Number: F29H85X-SOM-EVM

CCS team, 

My customer is having an issue with incremental builds - Is this a known issue or do you have any advice?

"We are currently running into an issue with CCS (Version: 20.4.1.4__1.10.1, Default VS Code API: 1.102.3) related to incremental builds. When we modify symbol values in header files - specifically in user_mtr1.h from the motor control sample project - and then perform a “Build Project” without a prior “Clean Project”, the compiler does not seem to pick up these changes.

Could you help us understand what might be causing this behavior? We’re unsure whether this is due to an incorrect project configuration on our side or a potential issue with CCS’s incremental build mechanism."

  • Hi Lori,

    When we modify symbol values in header files - specifically in user_mtr1.h from the motor control sample project

    Can the customer describe what exact changes they are making to user_mtr1.h? I have been trying out the Server Drive QEP project example from the F29 MotorControl SDK with CCS 20.4.1 and so far can't seem to reproduce the problem.

    Thanks

    ki

  • Hello Ki,

    thank you for your quick response.

    We have already made a few adjustments to the file. However, I can confirm that changing any defined symbol value - such as in my case:

    #define USER_MOTOR1_OVER_CURRENT_A (1.0f)

    and then pressing Ctrl + B (Build Project) results in a firmware binary that does not use the updated value.

    During my investigation, I also encountered issues related to using distributed version control (in our case, Git with the SmartGit application). When source files are modified by SmartGit (e.g., during merges), and those files are currently open in the CCS editor, they are sometimes not correctly updated within CCS.

    Do you have any insight into this behavior?

  • We have already made a few adjustments to the file. However, I can confirm that changing any defined symbol value - such as in my case:

    #define USER_MOTOR1_OVER_CURRENT_A (1.0f)

    and then pressing Ctrl + B (Build Project) results in a firmware binary that does not use the updated value.

    Does that modification actually cause the affected source files to be rebuilt on an incremental build and the issue is just that the generated output is not reflecting the change? Or does the incremental build not detect the change at all and hence does not build the affected files?

    When source files are modified by SmartGit (e.g., during merges), and those files are currently open in the CCS editor, they are sometimes not correctly updated within CCS.

    Do you have any insight into this behavior?

    I have not seen this behavior myself. If you close the file in the editor and reopen it, do you see the correct updates?

  • Does that modification actually cause the affected source files to be rebuilt on an incremental build and the issue is just that the generated output is not reflecting the change? Or does the incremental build not detect the change at all and hence does not build the affected files?

    The incremental build does not detect changes in the affected *.c source file where the symbol defined in user_mtr1.h is used.
    I discovered that the source file does not include user_mtr1.h. After adding the include, the issue disappears.
    However, I am still wondering why the compiler does not report an error about the missing header file in this situation.

    Regarding the second topic, I still need to do some further investigation.

  • However, I am still wondering why the compiler does not report an error about the missing header file in this situation.

    Can you provide a test case? If you are using a project based on an SDK example, please specify which exact one and what modifications you made.