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.
Hello,
Hoping someone may be able to provide some feedback on a problem I'm having. We recently migrated from CCS3.3 to 5.1 and we've spent an embarassing amount of time trying to get a project from 3.3 loaded into 5.1 using the "import legacy code" feature in v5. For whatever reason we were getting gmake errors and with some feedback from TI we got to the point where our IT dept wouldn't help us comply with the TI troubleshooting steps.
Anyhow, to work around this we decided to just go ahead and start a new project in v5, and manually add all the old source files and go from there. I've gone ahead and done that. Tried to build and found a lot of issues with header files not found - so they were manually loaded and those errors went away. Now I'm seeing errors that I've never encountered before on code that has never been changed - specifically in the cmd file for the 2810 chip we're using...
74 total errors such as: #10008-D cannot find file, #10263 BEGIN, CSM_PWL, DRAMH0, FLASHA memory range thru FLASHE, PRAMH0, RAMH0 etc. Just tons of what look like hardware errors. I have a controller board available to attach and attempt to program but I'd like to try and get an output without the board attached.
Has anyone been there/done that and might be able to help me figure out what these are?
At what step are the errors associated with the "#10008-D cannot find file" associated with? Based on the labels reported, this seems like a linker error. The reason I say this is due to the CSM_PWL, DRAMH0 and FLASHA, etc. These are all generally defined in the linker command file which tells the linker what the memory configuration of the target device is and where to allocate sections of the program.
Also could you please copy and paste the full output in the CCS build console view to a text file and attach it here? That should give us a better idea of the exact errors and where they are coming from, and we can provide more specific recommendations based on that.
Sure -
Here is a copy of the CCS log file :
One thing I noted with our original CCS3 build was that the original programmers had set up use of a 2812 chip when in debug config. We use the 2810 on release config, and never the 2812. Perhaps there is a problem related to this...I do select to use the Release Config when building though...
Just for grins, I created another new CCS project within the same workspace using the hello world example.
It failed also for similar errors. Not sure how to proceed, but I bet whatevers failing the hello world isn't helping my real project.
Does TI have an actual support group outside the forums? I'd be happy to join a pay support service thru TI...
Don,
Thanks for attaching the build log. If you zone in on the linker command (everything after "Invoking: C2000 Linker") you can see the following at the end of the command:
"../DSP381x_common/cmd/F2810.cmd" "../DSP381x_common/cmd/F2812.cmd" "../DSP381x_common/cmd/F2812_EzDSP_RAM_lnk.cmd" "../DSP381x_common/cmd/F2812_XintfBoot.cmd" "../DSP281x_headers/output/debug/DSP281x_GlobalVariableDefs.obj" "../DSP281x_headers/cmd/DSP281x_Headers_BIOS.cmd" "../DSP281x_headers/cmd/DSP281x_Headers_nonBIOS.cmd"
This means that all the listed linker command files (.cmd) are being passed to the linker.
F2810.cmd, F2812.cmd and F2812_EzDSP_RAM_lnk.cmd have similar section allocations, so only one of them should be used at any given time.
F2812_EzDSP_RAM_lnk.cmd is generally used for loading and running code from RAM.
F2810.cmd/F2812.cmd is generally used for loading and running from Flash.
Since you mentioned that F2810.cmd is the one you want to use, I would make sure to remove the others from the project.
Similarly, you need only one of DSP281x_Headers_BIOS.cmd or DSP281x_Headers_nonBIOS.cmd as they have the same section allocations, you just need to use one depending on whether the project uses BIOS or not. It looks like your does not use BIOS, so you can keep DSP281x_Headers_nonBIOS.cmd and remove DSP281x_Headers_BIOS.cmd from the project.
Please rebuild after removing the three .cmd files. I suspect the error, "cannot find file "Notes"" from the file F2810.cmd may still remain. If it does, please attach your F2810.cmd file here for us to look at.
Thanks AartiG - I'll try removing them. Just to help my understanding though. Your saying that because the other cmd's are in my project the linker is getting all of them and not understanding? Wouldn't the linker command file selection below keep the linker limited only to the the one I've selected? Not sure why its flipping errors on cmd's outside of the specified one.
A linker command file can become part of the project in several ways:
- by specifying the file under Project Properties->General->Linker command file (as you have shown in the screenshot)
- by physically being located in the project folder or sub-folders - since all files in the project folder or sub-folders within it are automatically considered part of the project unless explicitly excluded from build
- by specifying under Project Properties->CCS Build->Linker->File Search Path, --library option
The other .cmd files could've been added in one of the other ways, so please check and remove them so they are removed from the build.