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.

TMS320C6670: Building a project with NDK Yields error in Bios Path

Part Number: TMS320C6670
Other Parts Discussed in Thread: SYSBIOS


I am updating an existing project with a newer version of the NDK (

The  NDK specifies SYS/BIOS and XDC Tools as being required for the build.

So, I have added these three libraries to my project.

When I build the project I receive an error in finding the include path for the BIOS:

".../dev/Ethernet/CEtherIPC.cpp", line 11: fatal error #1965: cannot open source file "ti/bios/include/std.h"

The specific line is:

#include <ti/bios/include/std.h>

I see the include options variable for BIOS in the project settings dialog:

Viewing the variables shows me that there is no directory for the BIOS:

The other libraries have both a file and a directory specification in the variable list.

I expect the mission Directory variable is my problem.

If that is correct, where do I add the directory?

Thank You,


  • ".../dev/Ethernet/CEtherIPC.cpp", line 11: fatal error #1965: cannot open source file "ti/bios/include/std.h"

    I assume CEtherIPC.cpp is from your project? What was the older version of the NDK used before? I think the above mentioned std.h path is for legacy DSP/BIOS v5. Did you old project use DSP/BIOS?

  • Hi Ki,

    Thanks for your response. I was not actually missing a directory variable. There was no std.h file in that path.

    I found the std.h in the  /ti/targets/ directory. Not sure why it was moved from revision to revision. As long as I can get to it!

    I am migrating a project from NDK V2.22.3.20 to V2.25.00.09. So I am also updating my SYS/BIOS and my XDC Tools.

    Yes, CEtherIPC.cpp is from my project. So now I think the only real task is to migrate the incompatible data types.

  • Ah ok. That is a minor update. I assume the SYS/BIOS and XDCtools updates are also minor updates then. 

    Interesting. Yes I also see that the <SYS/BIOS INSTALL DIR>/packages/ti/bios folder has disappeared in more recent SYS/BIOS versions. For example, I see it in my SYS/BIOS install, but not in my SYS/BIOS install. Not sure why this happens (I'm not a BIOS expert by any means) but it explains the issue you ran into.

    I found the std.h in the  /ti/targets/ directory.

    Note that the std.h file in there is quite different. In my older version of SYS/BIOS, I see std.h in both ./packages/ti/bios/include and ./packages/ti/targets. They are different files so you may not be able to use them interchangeably. It may explain your incompatible data types error. I will see if I can find someone to help you further with that. My expertise with SYS/BIOS is limited. 

  • I would not exactly call them minor updates when they change a structure around and change data types causing us to go back and restructure our end user programs.

    Another funny thing they did was to remove the clk.h file from the standard /ti/bios/include path.

    I found a clock.h file in /ti/sysbios/knl/.

  • Hi Forrest,

      My understanding based on your prior post was that you were originally using NDK and I thought you got it rebuilt. I'm not sure why you would want to upgrade to a new version of NDK especially for these legacy products. Even if you get it to compile now, I will not be surprised that you face additional software issues down the road. 

      Sorry, we no longer provide direct support on e2e as we don't have the experience with this device. At first, we were hoping to help you if the problem is simple enough without redirecting you to our 3rd party support partners right away. It looks like we are not able to help you. Could you please reach out the 3rd party listed in the product page. Please see below.