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.
My 28069M LaunchPad, delivered a few days ago, fires up and talks to the ttyUSB0 device just fine. However, I'm having much less luck getting the demo app compiled and loaded to make the board do... well, exactly what it does now. But with code I have compiled, of course. <grin>
After importing the controlSUITE3 project Example_2806xLaunchPad I am unable to compile the project due to (at least) nonexistent path errors for the FPUfastRTS and IQmath libraries.
More specifically, when I load the Example_2806xLaunchPad project from:
/opt/ti/controlSUITE/development_kits/LAUNCHXL-F28069M/
I see an error message: "Unrecognized product of type 'com.ti.rtsc.XDAIS'", which other postings in this forum seem to indicate is safe to ignore. Ignoring things is fairly simple, but there's more.
After the Import completes, Problem Explorer shows the following Warnings:
Build variable 'XDAIS_CG_ROOT' cannot be resolved.
Example_2806xLaunchPad properties Problems
Invalid project path: Include path not found
(/libs/math/FPUfastRTS/FPUFASTRTS_VERSION/include).
Example_2806xLaunchPad pathentry Path Entry Problem
Invalid project path: Include path not found
(/libs/math/IQmath/IQMATH_VERSION/include).
Example_2806xLaunchPad pathentry Path Entry Problem
Invalid project path: Include path not found
(/packages/ti/xdais).
Example_2806xLaunchPad pathentry Path Entry Problem
This project was created using a version of compiler that
is not currently installed: 6.1.0 [C2000]. Another version
of the compiler will be used during build: 6.4.3. Please go
to <a href="liveaction:OpenAppCenter">CCS App Center</a> to
install the compiler of the required version, or migrate
the project to one of the available compiler versions by
adjusting project properties.
Example_2806xLaunchPad properties Problems
Okay. I assume that the first can also be ignored, and the last ought to be fixed by setting
Project->Properties->General->/Main\->Compiler_version to TIv6.4.3
but it isn't -- the warning remains. (No "Quick Fix", either.)
If I build the project, I get all sorts of errors, understandable because:
1) Those "variables"(?) FPUFASTRTS_VERSION and IQMATH_VERSION never get replaced, and
2) The libraries are 'way down under /opt/ti. Searching for _anything_ in /libs/ is sort of useless, since that directory doesn't exist on my system.
So... if I ignore the Warnings and do a Clean build, I get 4 errors, two of which tell me that these are the missing libraries:
cannot find file "rts2800_fpu32_fast_supplement.lib"
Example_2806xLaunchPad C/C++ Problem
cannot find file "IQmath_fpu32.lib"
Example_2806xLaunchPad C/C++ Problem
Okay. Is there, somewhere in all this, enough information for someone to suggest a way to Import this project in a way that will make these problems go away?
Compiler: CCS Version: 6.1.0.00104 with controlSUITE3
OS: Ubuntu Linux 14.04
Product: LAUNCHXL-F28069M
Oh... Are there any plans afoot to allow installing controlSUITE3 directly from the CCSv6 Help menu via Install_New_Software?
Frank McKenney
An update to my previous message.
Among other things, there appears to be some sort of conflict between the variables which get set up for the Example_2806xLaunchPad project as it is imported.
CCSv6:
File->Import...
Code_Composer_Studio->CCS_Projects
[Next>]
Select root directory:
/opt/ti/controlSUITE/development_kits/LAUNCHXL-F28069M/
[x] Example_2806xLaunchPad
Error dialog box:
Unrecognized product of type 'com.ti.rtsc.XDAIS' is required by
project 'Example_2806xLaunchPad' - please install at least one
product of this type before building this project.
Once the import process has completed I get the same 5 Warnings I did on previous attempts.
Here are the newly-imported project's properties:
Project->Properties
[Resource->Linked_Resources]:
ORIGINAL_PROJECT_ROOT (1)
/opt/ti/controlSUITE/development_kits/LAUNCHXL-F28069M/LaunchPadDemo
INSTALLROOT_IQMATH_VERSION (2)
${ORIGINAL_PROJECT_ROOT}/../../../libs/math/IQmath/v160
INSTALLROOT_FASTRTS_VERSION (3)
${ORIGINAL_PROJECT_ROOT}/../../../libs/math/FPUfastRTS/V100
[Build]->/Variables\
ORIGINAL_PROJECT_ROOT (4)
/opt/ti/controlSUITE/development_kits/LAUNCHXL-F28069M/LaunchPadDemo
INSTALLROOT_IQMATH_VERSION (5)
${ORIGINAL_PROJECT_ROOT}/../../../../../../libs/math/IQmath/IQMATH_VERSION
INSTALLROOT_FASTRTS_VERSION (6)
${ORIGINAL_PROJECT_ROOT}/../../../../../../libs/math/FPUfastRTS/FPUFASTRTS_VERSION
Directories (1) and (4) are identical, exist, and are the original project directory. (Mildly reassuring)
Directory (2) appears correct also, as does (3). Both have ./lib/ subdirectories, (2) containing IQmath_fpu32.lib and IQmath.lib and (3) containing rts2800_fpu32_fast_supplement.lib.
So far, so good. But (5) and (6) are mangled: not only are there no directories on my system containing the strings IQMATH_VERSION or FPUFASTRTS_VERSION, the three additional "up directory" adjustments ('/../') force path traversal back up to the root ('/') directory. And, of course, there is no '/libs/' directory.
Workaround: I copied the "Linked_Resources" values for the offending variables over to the [Build]->/Variables\ entries. The two Warnings related to these items have disappeared, which I rake as A Good Sign.
"But wait! There's more..." (U.S. TV commercial for RONCO)
I now have several Warnings, plus one train-stopping Error -- two actually, but one of them is the generic "An Error Was Encountered So We Stopped" error. Here's the important one, a message-less error:
/Example_2806xLaunchPad/F28069.cmd Line 141
(resolved location: /opt/ti/controlSUITE/device_support/f2806x/v140/F2806x_common/cmd/F28069.cmd )
So... going to the file, here's the error context:
139 /* Allocate uninitalized data sections: */
140 .stack : > RAMM0, PAGE = 1
(x) 141 .ebss : > RAML2, PAGE = 1
142 .esysmem : > RAML2, PAGE = 1
>>> Added an hour later...
The output from the link portion of the build provides a little more information:
Building target: Example_2806xLaunchPad.out
Invoking: C2000 Linker
"/opt/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.3/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 -g --define="_DEBUG" --define=_FLASH --define="LARGE_MODEL" --quiet --verbose_diagnostics --diag_warning=225 --issue_remarks --output_all_syms --cdebug_asm_data -z -m"Example_2806xLaunchPad.map" --stack_size=0x200 --warn_sections -i"/opt/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.3/lib" -i"/opt/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.3/include" -i"/opt/ti/controlSUITE/device_support/f2806x/v140/F2806x_common/lib" -i"/opt/ti/controlSUITE/libs/math/IQmath/v160/lib" -i"/opt/ti/controlSUITE/libs/math/FPUfastRTS/V100/lib" --reread_libs --priority --verbose_diagnostics --issue_remarks --xml_link_info="Example_2806xSci_Echoback_linkInfo.xml" --entry_point=code_start --rom_model -o "Example_2806xLaunchPad.out" -l"rts2800_fpu32_fast_supplement.lib" -l"rts2800_fpu32.lib" "./Example_F2806xLaunchPadDemo.obj" "./F2806x_Adc.obj" "./F2806x_CodeStartBranch.obj" "./F2806x_CpuTimers.obj" "./F2806x_DefaultIsr.obj" "./F2806x_GlobalVariableDefs.obj" "./F2806x_PieCtrl.obj" "./F2806x_PieVect.obj" "./F2806x_Sci.obj" "./F2806x_SysCtrl.obj" "./F2806x_TempSensorConv.obj" "./F2806x_usDelay.obj" "./sci_io.obj" "/opt/ti/controlSUITE/device_support/f2806x/v140/F2806x_common/cmd/F28069.cmd" "/opt/ti/controlSUITE/device_support/f2806x/v140/F2806x_headers/cmd/F2806x_Headers_nonBIOS.cmd" -l"IQmath_fpu32.lib"
warning: creating output section ".cio" without a SECTIONS specification
warning: creating ".esysmem" section with default size of 0x400; use the -heap
option to change the default size
"/opt/ti/controlSUITE/device_support/f2806x/v140/F2806x_common/cmd/F28069.cmd", line 141: error:
program will not fit into available memory. run placement with
alignment/blocking fails for section ".ebss" size 0x221 page 1. Available
memory ranges:
RAML2 size: 0x400 unused: 0x0 max hole: 0x0
.ebss : > RAML2, PAGE = 1
warning: entry-point symbol other than "_c_int00" specified: "code_start"
error: errors encountered during linking; "Example_2806xLaunchPad.out" not
built
>> Compilation failure
gmake: *** [Example_2806xLaunchPad.out] Error 1
gmake: Target `all' not remade because of errors.
**** Build Finished ****
I can see how assigning 'most anything to a 0-sized "hole" could be a problem, but as the 28069 reportedly has 128k of FLASH and 50k of SRAM, there should be enough and to spare... if only I could convince the linker of that. <grin>
At this point I'm stuck. Any hints or observations would be appreciated.
There are also, I suspect, more problems beyond these, but it would be nice to have a clue as to what is causing all these problems to occur in the first place, and, perhaps more usefully, how to work around them the next time I need to import a project.
Thanks.
Frank McKenney
Frank,
We appreciate the feedback on suggestion of controlSUITE installation via CCS and will take it into consideration for future enhancements!
Yes, there seems to be some linking issues that never got resolved and I'll file a bug to get these resolved in the next revision of this project.
For fixing the two library linking issues:
1. Go to Project Properties -> Build -> Variables tab
2. Select INSTALLROOT_FASTRTS_VERSION and click edit. Then update the value to: ${PROJECT_ROOT}/../../../libs/math/FPUfastRTS/V100
3. Select INSTALLROOT_IQMATH_VERSION and click edit. Then update the value to: ${PROJECT_ROOT}/../../../libs/math/IQmath/v160
For the linker file:
1. Open F28069.cmd
2. Replace line 141 with: .ebss : >> RAML2 | RAML3, PAGE = 1
(To learn more about editing the linker command files and memory splitting: Click Here)
The remaining warnings should be able to be ignored.
Let me know if this resolves your issue!
Best Regards,
Chris
Hi, Chris.
Thanks for responding.
Christopher Chiarella said:We appreciate the feedback on suggestion of controlSUITE installation via CCS and will take it into consideration for future enhancements!
You're welcome. And thank you for the patches.
Christopher Chiarella said:Let me know if this resolves your issue!
I put your fixes in and was able to successfully compile and link the project. However, moving on to the Debug phase I hit another problem: getting the board to talk to CCS.
First I configured the debugger according to the silkscreen printing on the PCB:
Project->Properties [General] /Main\ Connection is
"Texas Instruments XDS100v2 USB Debug Probe"
( Please extend my thanks to whoever put that text there -- it saved me a lot of headscratching. <grin> )
Starting Debug produced this dialog:
C28xx: Error connecting to the target: (Error -1135 @ 0x0) The debug probe
reported an error. Confirm debug probe configuration and connections, reset
the debug probe, and retry the operation. (Emulation package 5.1.641.0)
In trying to get past this, I discovered this useful way of finding whether the board was recognized by the OS:
/opt/ti/ccsv6/ccs_base/common/uscif/xds100serial
Scanning for XDS100 emulators...
VID/PID Type Serial # Description
0403/a6d0 XDS100v1/v2 TIY4SM6V Texas Instruments Inc.XDS100 Ver 2.
So that wasn't my problem. After several more blind alleys I finally re-read the LAUNCHXL-F28069M User's Guide (sprui11.pdf) and discovered something I'd ha previously missed:
Section 5.3 Boot Mode Selection
... Keep in mind that the debugger does not connect if the device is not in the emulation boot mode (TRST switch in the up position)
Guess which way SW1-3 (TRSTn) is set as shipped? Give the man a cigar! It's OFF.
That's a long-winded way of saying that I have, with your assistance, successfully compiled, linked, and loaded. The result even blinks. <grin>
So, to summarize... the process for successfully importing seems to require these steps:
Gee. When you put it that way, it sounds so simple. <grin>
Thanks again.
Frank