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.

ADC10PDIV_3 Undefined

Other Parts Discussed in Thread: MSP430F6747A, MSP430F5438

I'm trying to build a version of TI RTOS and its driverlib for the MSP430F6747A. The build works fine for my other devices (5529, 5438A and 5438) but when it gets to the '6747A it fails with an error about a missing symbol: ADC10PDIV_3. (A snippet of the build with the failure is below.) If I shove the value for the #define into the source file (not a desirable) solution, the build completes successfully and the library gets built. This leads me to believe there is a missing include file but the source looks similar to other files.

Start the make process:

C:\ti\tirtos_msp43x_2_16_01_14>..\xdctools_3_32_00_06_core\gmake.exe -f tirtos.mak build-ccs-msp430-driverlib

...delete some of the repetition :-)

  ==>  building archive 'MSP430F5xx_6xx/ccs/MSP430F5438.lib'
"removing the object files"
rmdir /s /q  MSP430F5xx_6xx\ccs\MSP430F5xx_6xx
gmake[3]: Leaving directory `c:/ti/tirtos_msp43x_2_16_01_14/products/msp430_driverlib_2_21_00_08a/driverlib'
"Building for MSP430F6747A for the MSP430F5xx_6xx Family"
gmake[3]: Entering directory `c:/ti/tirtos_msp43x_2_16_01_14/products/msp430_driverlib_2_21_00_08a/driverlib'
"making library directory"
  CC    MSP430F5xx_6xx/adc10_a.c
"MSP430F5xx_6xx/adc10_a.c", line 70: error: identifier "ADC10PDIV_3" is undefined
1 error detected in the compilation of "MSP430F5xx_6xx/adc10_a.c".

>> Compilation failure
gmake[3]: *** [MSP430F5xx_6xx/ccs/MSP430F5xx_6xx/adc10_a.obj] Error 1
gmake[3]: Leaving directory `c:/ti/tirtos_msp43x_2_16_01_14/products/msp430_driverlib_2_21_00_08a/driverlib'
gmake[2]: *** [MSP430F6747A] Error 2
gmake[2]: Leaving directory `c:/ti/tirtos_msp43x_2_16_01_14/products/msp430_driverlib_2_21_00_08a/driverlib'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `c:/ti/tirtos_msp43x_2_16_01_14/products/msp430_driverlib_2_21_00_08a'
gmake: *** [build-ccs-msp430-driverlib] Error 2

Any thoughts for a better solution?

  • Kevin,

    Can you please describe your steps to select the 6747A for your build?

    In the build log it looks like something is misconfigured so you are still trying to build for a 5438:

    ==>  building archive 'MSP430F5xx_6xx/ccs/MSP430F5438.lib'

    The 5438, 5438A, and 5529 all have an ADC12, but the 6747A has an ADC10.  I think somehow the 5438 device is still selected for your build, which doesn’t have and ADC10, so therefore ADC10PDIV_3 is not defined, so that error is thrown.

    Thanks,
    Scott

  • Scott, I'm following the instructions at
    processors.wiki.ti.com/.../Creating_TI-RTOS_Projects_for_Other_MSP430_Devices
    to build TI RTOS for "other devices". I showed the tail end of the 5438 build, then it should switch to the 6747A where it seems to fail (pretty early). I can provide the rest of the transcript if that would help.

    I put an echo in the makefile to see what the arguments are for the compiler (since the makefile suppress the full build line). They are:
    -vmspx --abi=eabi --code_model=large --data_model=restricted -O2 -g -D__MSP430F6747A__ --diag_warning=255 --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU23 --silicon_errata=CPU40 --printf_support=minimal -Ic:/ti/ccsv6/ccs_base/msp430/include -Ic:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.7/include -IMSP430F5xx_6xx

    It would seem the #define for the correct processor is being used. (It obviously changes for each section of the build to match the processor.)
  • Kevin,

    OK, thanks.  Yes, if you can attach the full build transcript that will help.  I’ll try to recreate this issue tomorrow.

    BTW, you can attach the file by clicking on “Use rich formatting”, and in that window just drag/drop the file (from windows explorer, for example) into the window before you hit Reply.

    Thanks,
    Scott

  • Here is the complete build transcript

    6254.build.txt

  • Kevin,

    Thanks for attaching the build log.

    I tried to recreate this and ended up with a different problem rebuilding driverlib.  I have a question out to an expert, and will get back to you as soon as I know more...

    Regards,
    Scott

  • You may have trouble with the windows paths. I had the same issue and needed to switch from / to \ . Change the names of a few OS commands. TI promised to have it fixed in "mid-may". (I had to ask on the forum to get this far!)
  • Kevin,

    Thanks for the suggestion!

    I was having a different build error, as described in this forum thread: e2e.ti.com/.../505651

    I patched the makefiles from the zip attached to that, and was then able to build driverlib for different devices, including F6747A, without issue.

    I looked back in your forum history and see the post where you’d changed paths.  I think this problem manifested a bit different for us, but is related.

    Can you try patching the makefiles from the zip that Emmanuel posted to that thread, and see if this solves the build issue you see for F6747A?  Sorry for having you patch again, but I’m thinking this might get you going…

    Regards,
    Scott

  • These makefiles are very close to what I had but still don't work. The first trouble I have is that the $(RMDIR) macro is not defined in my environment. I get:
    "removing the object files"
    '"MSP430F5xx_6xx/ccs/MSP430F5xx_6xx"' is not recognized as an internal or external command,

    The argument to $(RMDIR) is processed as the executable. How do I get the macro $(RMDIR) defined?

    I can substitute the windows command (until you fix the macro) but that just gets me back to my original error.

    Are we using the same version of tirtos? (I'm working with tirtos_msp43x_2_16_01_14)
  • OK, sorry to hear this is still not working.

    Yes, I’m using the same version of TI-RTOS.

    Can you please post your tirtos.mak file?

    Also, do you maybe have other make utilities in your PATH?  This is just a guess here, but I know there are sometimes issues (but with different errors) for some using Cygwin.

    Thanks,
    Scott

  • I checked my path and there is no gmake or make int he path. Attached is the tirtos.mak file I'm using (zipped to get through the TI nanny filter)

    7220.tirtos.zip

  • Thanks for sending this.  I tweaked it slightly (my CCS is not in c:\ti, and I have slightly earlier compilers for both MSP430 and ARM), and was able to build the driverlibs for all the devices you specified, without any errors.

    I’m stumped as to why this isn’t working for you.

    I will talk to some others tomorrow morning to see if they have ideas or suggestions…

    Regards,
    Scott

  • To rule it out, I updated to the 4.4.7 compiler, and still saw no error when building driverlib for the F6747A.

    Can you try turning on VERBOSE in your build?  In your DOS box, before invoking gmake, invoke something like “set VERBOSE=1”.  Then you should see output similar to:

    "Building for MSP430F6747A for the MSP430F5xx_6xx Family"
    gmake[3]: Entering directory `c:/ccs6.1.1/tirtos_msp43x_2_16_01_14/products/msp4
    30_driverlib_2_21_00_08a/driverlib'
    "making library directory"
    c:/ccs6.1.1/ccsv6/tools/compiler/ti-cgt-msp430_4.4.7/bin/cl430 -vmspx --abi=eabi
     --code_model=large --data_model=restricted -O2 -g -D__MSP430F6747A__ --diag_war
    ning=255 --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU23 --
    silicon_errata=CPU40 --printf_support=minimal -Ic:/ccs6.1.1/ccsv6/ccs_base/msp43
    0/include -Ic:/ccs6.1.1/ccsv6/tools/compiler/ti-cgt-msp430_4.4.7/include -IMSP43
    0F5xx_6xx -Dccs -eo.obj --obj_directory=MSP430F5xx_6xx/ccs/MSP430F5xx_6xx MSP430
    F5xx_6xx/adc10_a.c;
    c:/ccs6.1.1/ccsv6/tools/compiler/ti-cgt-msp430_4.4.7/bin/cl430 -vmspx --abi=eabi
     --code_model=large --data_model=restricted -O2 -g -D__MSP430F6747A__ --diag_war
    ning=255 --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU23 --
    silicon_errata=CPU40 --printf_support=minimal -Ic:/ccs6.1.1/ccsv6/ccs_base/msp43
    0/include -Ic:/ccs6.1.1/ccsv6/tools/compiler/ti-cgt-msp430_4.4.7/include -IMSP43
    0F5xx_6xx -Dccs -eo.obj --obj_directory=MSP430F5xx_6xx/ccs/MSP430F5xx_6xx MSP430
    F5xx_6xx/adc12_a.c;


    Can you please send me the verbose output you see?

    Thanks,
    Scott

  • Thanks.  Except for the error, the compilation arguments look just as I would expect.

    One more thing... in your CCS installation, what version of the “MSP430 Emulators” component do you have installed?  I ask because some of the device definition files get updated via this component, and maybe that is why we are seeing different results.  Click Help->About Code Composer Studio, and then Installation Details.   

    Thanks,
    Scott

  • The MSP430 emulator is 6.3.2.0. I opened that item and the LWInstaller
    is 6.1.2.00015 and the compiler is 4.4.7 (we already knew that).
  • OK, thanks.

    I updated my emulation package and there aren’t any differences that explain this.

    I’ve sent emails internally to get some more ideas.  I will reply back when I have some answers or suggestions.  And sorry, I have to be offline tomorrow, but will be back online Monday.

    Regards,
    Scott