Jump to content
43oh

#10205-D: automatic RTS selection: "rtsv7M4_T_le_v4SPD16_eabi.lib" replaces "libc.a" & error #10234-D: unresolved symbols


Recommended Posts

Some other weird stuff.

 

I got during linking the following

undefined              first referenced   
 symbol                    in file       
---------              ----------------  
GPIOPinTypeGPIOOutput    ./main.obj        
GPIOPinWrite             ./main.obj        
SysCtlClockSet           ./main.obj        
SysCtlDelay              ./main.obj        
SysCtlPeripheralEnable   ./main.obj
  
error #10234-D: unresolved symbols remain

 

This is about the main.obj file. It looks like it doesn't find the Libraries. Am I right?

After setting a more verbose mode and keeping some asm information I get...

 
**** Build of configuration Debug for project Lab2b ****


"C:\\Program Files\\Ti_tools\\ccsv5\\utils\\bin\\gmake" -k all 
'Building file: ../main.c'
'Invoking: ARM Compiler'
"C:/Program Files/Ti_tools/ccsv5/tools/compiler/tms470_5.0.2/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me -g --include_path="C:/Program Files/Ti_tools/ccsv5/tools/compiler/tms470_5.0.2/include" --include_path="C:/Program Files/Ti_tools/StellarisWare/" --diag_warning=225 --display_error_number --diag_wrap=off -k --preproc_with_compile --preproc_dependency="main.pp"  "../main.c"
'Finished building: ../main.c'
' '
'Building file: ../startup_ccs.c'
'Invoking: ARM Compiler'
"C:/Program Files/Ti_tools/ccsv5/tools/compiler/tms470_5.0.2/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me -g --include_path="C:/Program Files/Ti_tools/ccsv5/tools/compiler/tms470_5.0.2/include" --include_path="C:/Program Files/Ti_tools/StellarisWare/" --diag_warning=225 --display_error_number --diag_wrap=off -k --preproc_with_compile --preproc_dependency="startup_ccs.pp"  "../startup_ccs.c"
'Finished building: ../startup_ccs.c'
' '
'Building target: Lab2b.out'
'Invoking: ARM Linker'
"C:/Program Files/Ti_tools/ccsv5/tools/compiler/tms470_5.0.2/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me -g --diag_warning=225 --display_error_number --diag_wrap=off -k -z --stack_size=256 -m"Lab2b.map" --heap_size=0 -i"C:/Program Files/Ti_tools/ccsv5/tools/compiler/tms470_5.0.2/lib" -i"C:/Program Files/Ti_tools/ccsv5/tools/compiler/tms470_5.0.2/include" -i"C:/Program Files/Ti_tools/StellarisWare/" --reread_libs --verbose_diagnostics --warn_sections --display_error_number --issue_remarks --diag_wrap=off --rom_model -o "Lab2b.out"  "./startup_ccs.obj" "./main.obj" -l"libc.a" "../lm4f120h5qr.cmd" 
<Linking>
remark #10205-D: automatic RTS selection:  linking in "rtsv7M4_T_le_v4SPD16_eabi.lib" in place of index library "libc.a"


 undefined              first referenced
  symbol                    in file     
 ---------              ----------------
 GPIOPinTypeGPIOOutput  ./main.obj      
 GPIOPinWrite           ./main.obj      
 SysCtlClockSet         ./main.obj      
 SysCtlDelay            ./main.obj      
 SysCtlPeripheralEnable ./main.obj      


error #10234-D: unresolved symbols remain


>> Compilation failure
error #10010: errors encountered during linking; "Lab2b.out" not built
gmake: *** [Lab2b.out] Error 1
gmake: Target `all' not remade because of errors.


**** Build Finished ****

Is there a path for the linker that I have to set? So far as I can see everything is pointing to the right dir in the Project->properties->Arm->Linker->SearchPath.

I did even put the stellarisware includes in the linkers search path, however I almost sure it doesn't needed that path.

 

What about the lib replacement remark? How come? IS this normal and is libc.a a kind of proxy lib?

Has te error to do with the arguments order in the linker command? 

 

I feel a little silly. I got many things working, like for the MSP430 and PIC's under OSX by compiling and building tools by myself, developing in div languages for some time, and a 'ready steady go install' I can't get it to work! ;(

 

BTW. Is there a way that all the  dialogs remember the last used rezised size? When compiling I like to see more of the progress text. Everytime I have to rezise the dialogs.

 

Thanks again.

Link to post
Share on other sites

Yes, I have also no question marks. They did disappear when I save the additional include path. Also if I click on a undefined symbol and right click I can find the reference. So it knows where to look and find, I guess.

 

 

--include_path="C:/Program Files/Ti_tools/StellarisWare/"

 

it is the workbook lab2 code.

Link to post
Share on other sites

Of course, its a copy of the workbook sample lab2

 

 

 



 

#include "inc/hw_types.h"
#include "inc/hw_memmap.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"


int main(void)
{
int LED = 2;


SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);


SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);


while(1)
{
// Turn on the LED
GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, LED);


// Delay for a bit
SysCtlDelay(2000000);


// Cycle through Red, Green and Blue LEDs
if (LED == 8) {LED = 2;} else {LED = LED*2;}
}
}

 

What about this line?

 

remark #10205-D: automatic RTS selection:  linking in "rtsv7M4_T_le_v4SPD16_eabi.lib" in place of index library "libc.a"

 

why is the replacement? Any suggestion?

 

Thanks again

Link to post
Share on other sites

Of course, its a copy of the workbook sample lab2

 

 

 

 


 

#include "inc/hw_types.h"
#include "inc/hw_memmap.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"


int main(void)
{
int LED = 2;


SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);


SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);


while(1)
{
// Turn on the LED
GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, LED);


// Delay for a bit
SysCtlDelay(2000000);


// Cycle through Red, Green and Blue LEDs
if (LED == 8) {LED = 2;} else {LED = LED*2;}
}
}

 

What about this line?

 

Did you add your driverlib to your linker?

Also are you using CCS? it is in Build Settings->Arm Linker->File Search Path->Add path to lib.. It will be something like driverlib

Link to post
Share on other sites

Hi,

 

I did add that path before, but I found out that when I presses ok it didn't save the path, even after a CCS restart. After a restart from VMWare it saved the path.

So it looks like it is okay. Thank you for the hint that make me look again at that setting.

 

One more question, I did insert the path used in the workbook for lab2 in the debug setting. What about the release settings, do I have to use the same path or is there a release version of the lib?


 

Link to post
Share on other sites

Hi,

 

I did add that path before, but I found out that when I presses ok it didn't save the path, even after a CCS restart. After a restart from VMWare it saved the path.

So it looks like it is okay. Thank you for the hint that make me look again at that setting.

 

One more question, I did insert the path used in the workbook for lab2 in the debug setting. What about the release settings, do I have to use the same path or is there a release version of the lib?

 

 

Looks like only the debug libraries are present. You can go ahead and build the driverlib project as a library in release mode and then add it to your main project.

Link to post
Share on other sites

Thank you, I did read a little about the ROM_xxxx, MAP_xxxx. Anyway, I still would like to have the driverlib release build. Specialy during development, can allways later change the calls to ROM_functions.

Any way, is there a way, (a tut), to build this under window's. Knows a little about make and the makefiles under windows.

Did found the BSD licened LM4 makefiles.

 

Don't have linux but do have osx, but would like to have it all on one ( win ) platform.

 

There is a lot to read, but would like to be fruitfull asap.

 

Thank you.

 

Btw should I stay in this topic or copy my question into a new topic? Not sure how strict it is in this forum.

Link to post
Share on other sites

Thank you, I did read a little about the ROM_xxxx, MAP_xxxx. Anyway, I still would like to have the driverlib release build. Specialy during development, can allways later change the calls to ROM_functions. Any way, is there a way, (a tut), to build this under window's. Knows a little about make and the makefiles under windows. Did found the BSD licened LM4 makefiles. Don't have linux but do have osx, but would like to have it all on one ( win ) platform. There is a lot to read, but would like to be fruitfull asap. Thank you. Btw should I stay in this topic or copy my question into a new topic? Not sure how strict it is in this forum.

Pretty liberal.. but if it is regarding compiling new libs.. post in a new topic. I'll help you from there.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...