Pumpkin, Inc.

Pumpkin User Forums

Building Problems for a new Project based on tu6

For issues specific to TI's MSP430 line of ultra-low-power microcontrollers, including compilers (e.g. Quadravox AQ430), IDEs (e.g. IAR Embedded Workbench) and development tools (e.g. TI MSP-FET430 Flash Emulation Tool).

Building Problems for a new Project based on tu6

Postby Syed Akbar » Fri May 27, 2005 6:52 am

I have tried to develop a new Project on IAR Embedded Workbench IDE for MSP430 V3 based on tu6 with the same options and exactly the same main.c, unfortunately, i couldnt able to Make it. I got errors as
Error[e46]: Undefined external "OSSignalMsg" referred in main ( D:SalvoOSSalvotut ut6DebugObjmain.r43 )
Error[e46]: Undefined external "OSWaitMsg" referred in main ( D:SalvoOSSalvotut ut6DebugObjmain.r43 )
Error[e46]: Undefined external "OSCreateMsg" referred in main ( D:SalvoOSSalvotut ut6DebugObjmain.r43 )

I would be grateful if someone can elucidate my problems.

Thankyou
--Syed Akbar

------------------
Akbar

Akbar
Syed Akbar
 
Posts: 13
Joined: Sun May 22, 2005 11:00 pm
Location: Bremen, Bremen, Germany

Re: Building Problems for a new Project based on tu6

Postby aek » Fri May 27, 2005 7:29 am

Hello.

The linker being unable to find the messaging services in the Salvo library usually means that you are linking to a library that doesn't support events.

My guess is that you have a d-configuration library (one that supports delays), but not an a- or t-config library. If correct, just select an appropriate library and change OSLIBRARY_CONFIG in your salvocfg.h to match it. See our RM-IAR430.PDF for info on the library naming.

If you can post the entire Build Results of a "Make All" I'll be able to confirm my hypothesis. Also, posting your salvocfg.h is very helpful.

Regards,

------------------

-------
aek
aek
 
Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm

Re: Building Problems for a new Project based on tu6

Postby Syed Akbar » Mon May 30, 2005 1:29 am

First of all, i would like to thank you for replying my Post.
I tried exactly as suggested by you, yet my problem couldnt be solved.
Hereby i am sending the salvoconfig.h
#if defined(MAKE_WITH_FREE_LIB)
/* */
/* Salvo Lite build */
/* */
#define OSUSE_LIBRARY TRUE
#define OSLIBRARY_TYPE OSF
#define OSLIBRARY_CONFIG OSA
#define OSEVENTS 1
#define OSEVENT_FLAGS 0
#define OSMESSAGE_QUEUES 0
#define OSTASKS 3


#elif defined(MAKE_WITH_STD_LIB)
/* */
/* Salvo LE & Pro library build */
/* */
#define OSUSE_LIBRARY TRUE
#define OSLIBRARY_TYPE OSL
#define OSLIBRARY_CONFIG OSA
#define OSEVENTS 1
#define OSEVENT_FLAGS 0
#define OSMESSAGE_QUEUES 0
#define OSTASKS 3


#elif defined(MAKE_WITH_SOURCE)
/* */
/* Salvo Pro source-code build */
/* */
#define OSBYTES_OF_DELAYS 1
#define OSENABLE_IDLING_HOOK TRUE
#define OSENABLE_BINARY_SEMAPHORES TRUE
#define OSEVENTS 1
#define OSTASKS 3


#else

#error No MAKE_WITH_??? symbol defined. See salvocfg.h.

#endif

#if !defined(SYSQ)

#error SYSQ must be defined for this MSP430C tutorial project ...

#endif
this file is exactly the same as the salvoconfig.h file of tutorial6(TU6)

And also i am sending the full Buliding message.

Warning[w7]: Module msg declared twice, once as program and once as library. Redeclared in file D:SalvoOSlibiar430-v3sfiar430-a.r43, ignoring library module
Error[e46]: Undefined external "OSSignalMsg" referred in main ( D:SalvoOSSalvotut ut6DebugObjmain.r43 )
Error[e46]: Undefined external "OSWaitMsg" referred in main ( D:SalvoOSSalvotut ut6DebugObjmain.r43 )
Error[e46]: Undefined external "OSCreateMsg" referred in main ( D:SalvoOSSalvotut ut6DebugObjmain.r43 )

1 180 bytes of CODE memory
127 bytes of DATA memory (+ 10 absolute )
16 bytes of CONST memory (+ 2 absolute )

Errors: 3
Warnings: 1


Total number of errors: 3
Total number of warnings: 1

I was careful enough to set the options for the compiler and linker correct. Incase if there can be any error in the options set, can you please let me know the detailed options for building a project exactly the same as TU6 for IAR MSP430C/C++ compiler V3.10A/W32(Fortunately, i didnt get any Compiling errors)and IAR Universal Linker V4.58C/386

Thank You very much once again.
-Syed Akbar


------------------
Akbar

Akbar
Syed Akbar
 
Posts: 13
Joined: Sun May 22, 2005 11:00 pm
Location: Bremen, Bremen, Germany

Re: Building Problems for a new Project based on tu6

Postby aek » Mon May 30, 2005 8:21 am

Hi Syed.

Unfortunately, this does not giuve me enough information to solve your problem.

1) Is this a source-code build or a library build?

2) Salvo Lite? LE? Pro?

3) I want the entire build results, not just the error message at the end.

4) What symbols have you defined for this project?

You should create your _own_ salvocfg.h, with just the entires you need, and no conditionals. Then it will be much clearer as to what is going on ...

------------------

-------
aek
aek
 
Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm

Re: Building Problems for a new Project based on tu6

Postby Syed Akbar » Tue May 31, 2005 5:32 am

Thank you very much for your reply. I regret i didnt include the all the information, you have asked for.

These are the particulars you have asked for:

1) It is a Sourcecode build
2) Salvo Pro
3) The entire Build results:

Building configuration: tut6 - Debug
Linking
xlink.exe D:SalvoOSSalvotut ut6DebugObjinsem.r43
D:SalvoOSSalvotut ut6DebugObjdelay.r43
D:SalvoOSSalvotut ut6DebugObjevent.r43
D:SalvoOSSalvotut ut6DebugObjidle.r43
D:SalvoOSSalvotut ut6DebugObjinit.r43
D:SalvoOSSalvotut ut6DebugObjinittask.r43
D:SalvoOSSalvotut ut6DebugObjisr.r43
D:SalvoOSSalvotut ut6DebugObjmain.r43
D:SalvoOSSalvotut ut6DebugObjmem.r43
D:SalvoOSSalvotut ut6DebugObjmsg.r43
D:SalvoOSSalvotut ut6DebugObjportiar430.r43
D:SalvoOSSalvotut ut6DebugObjprio.r43
D:SalvoOSSalvotut ut6DebugObjqins.r43
D:SalvoOSSalvotut ut6DebugObjsched.r43
D:SalvoOSSalvotut ut6DebugObjsem.r43
D:SalvoOSSalvotut ut6DebugObj ask.r43
D:SalvoOSSalvotut ut6DebugObj imer.r43
D:SalvoOSlibiar430-v3sfiar430-a.r43 -o
D:SalvoOSSalvotut ut6DebugExe ut6.d43 -l D:SalvoOSSalvotut ut6DebugList ut6.map -xms -ID:Embedded Workbench 4.0430
LIB -f D:Embedded Workbench 4.0430configlnk430F149.xcl -f D:Embedded Workbench 4.0430configmultiplier.xcl -f D:Embedded Workbench 4.0430config
compactmath.xcl -D_STACK_SIZE=50 -rt D:Embedded Workbench 4.0430LIBCLIBcl430f.r43 -D_HEAP_SIZE=50 -s __program_start
IAR Universal Linker V4.58C/386
Copyright 1987-2004 IAR Systems. All rights reserved.
Warning[w7]: Module msg declared twice, once as program and once as library. Redeclared in file D:SalvoOSlibiar430-v3sfiar430-a.r43, ignoring library module
Error[e46]: Undefined external "OSSignalMsg" referred in main ( D:SalvoOSSalvotut ut6DebugObjmain.r43 )
Error[e46]: Undefined external "OSWaitMsg" referred in main ( D:SalvoOSSalvotut ut6DebugObjmain.r43 )
Error[e46]: Undefined external "OSCreateMsg" referred in main ( D:SalvoOSSalvotut ut6DebugObjmain.r43 )
1 180 bytes of CODE memory
127 bytes of DATA memory (+ 10 absolute )
16 bytes of CONST memory (+ 2 absolute )
Errors: 3
Warnings: 1
Total number of errors: 3
Total number of warnings: 1

As you can see that i have problems with Linking, i shall include the Linker Options i have set:

OUTPUT
Format
Debug information for C-Spy
With runtime control modules
With I/O emulation modules

Module local symbols--> Include all

LIST
Generate Linker listing
Segment map
Symbols-->Module map

CONFIG
Linker command file
Override default
$TOOLKIT_DIR$configlnk430F149.xcl
Search Paths
$TOOLKIT_DIR$LIB

4) Symbols defined for this project
SYSQ
MAKE_WITH_SOURCE
USE_INTERRUPTS

I shall include all the options i have set for C/C++ Compiler:

PREPROCESSOR

Include Paths:
$TOOLKIT_DIR$INC
$TOOLKIT_DIR$INCCLIB
$PROJ_DIR$
$PROJ_DIR$....TU1
$PROJ_DIR$......INC
SALVOOSINC

Defined Symbols:
SYSQ
MAKE_WITH_SOURCE
USE_INTERRUPTS

-------------------------------------------
And regarding Salvoconfig file, i have used the same salvoconfig file as that of tu6 because my main.c is same that of tu6. But more precisely my salvoconfig file may look like this:
#define OSBYTES_OF_DELAYS 1
#define OSENABLE_IDLING_HOOK TRUE
#define OSENABLE_BINARY_SEMAPHORES TRUE
#define OSEVENTS 1
#define OSTASKS 3

--------------------------------------------
And i shall even include the path of my project directory: D:SalvoOSsalvotut ut6

src, lib, tut, doc, inc are found in D:SalvoOS

--------------------------------------------
Hopefully this information is more helpful to you to solve my problems.
Thank You
-Syed Akbar


------------------
Akbar

[This message has been edited by aek (edited May 31, 2005).]

Akbar
Syed Akbar
 
Posts: 13
Joined: Sun May 22, 2005 11:00 pm
Location: Bremen, Bremen, Germany

Re: Building Problems for a new Project based on tu6

Postby aek » Tue May 31, 2005 6:31 am

Hello Akbar.

OK, now I can see the problem:

1) You should not create a project that has both Salvo source code modules (e.g. binsem.c) and a Salvo library (e.g. sfiar430-a.r43).

2) Since you are doing a source-code build, the available parts of Salvo are controlled by the salvocfg.h settings, and your settings do not enable messages.

So, to fix your problem:

1) Remove the Salvo library from your project (that's why the linker issued this warning:"Warning[w7]: Module msg declared twice, once as program and once as library. Redeclared in file D:SalvoOSlibiar430-v3sfiar430-a.r43, ignoring library module").

2) Add #define OSENABLE_MESSAGES TRUE to your salvocfg.h file. This will get rid of the undefined externals.

Note, however, that you would be better off just doing a library build (i.e. just your source code, Salvo's mem.c and the sliar430-a.r43 library) because that would provide you with all of Salvo's functionality without any linker problems, etc. See the salvocfg.h entires for the MAKE_WITH_STD_LIB option.

IAR does upgrade their compiler a lot, and there are incompatibilities between successive versions of the object format. If you are facing these troubles, then yes, a source-code build is advisable. But you should never mix a Salvo library with the body of the Salvo source code (except mem.c), because of the problems you encountered.

------------------

-------
aek
aek
 
Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm

Re: Building Problems for a new Project based on tu6

Postby Syed Akbar » Tue May 31, 2005 7:35 am

Thank you very much.
So far things are working fine.
-Syed Akbar

------------------
Akbar

Akbar
Syed Akbar
 
Posts: 13
Joined: Sun May 22, 2005 11:00 pm
Location: Bremen, Bremen, Germany


Return to TI's MSP430

Who is online

Users browsing this forum: No registered users and 1 guest

cron