Page 1 of 1

making with pro source files

PostPosted: Fri Apr 23, 2004 5:35 am
by dcassidy
I needed a few oprions changed and went from using the sliar430-t library to compiling from source. I included all the .c and the s43 in the src directory.
I changed the salvocfg.h with bytes of ect.
I get the following types of errors:

Warning[w6]: Type conflict for external/entry "OSCreateTask", in module main against external/entry in module inittask; function types differ in parameter 2; class/struct/union types have different sizes

Warning[w6]: Type conflict for external/entry "OStcbArea", in module sound against external/entry in module mem; array types have different element types; class/struct/union types have different sizes

Warning[w6]: Type conflict for external/entry "OStcbArea", in module main against external/entry in module mem; array types have different element types; class/struct/union types have different sizes

Warning[w35]: There is more than one definition for the struct/union type with tag 'tcb'; class/struct/union types have different sizes

Error[e46]: Undefined external "OSecbArea" referred in Data ( C:salvo utDrMsysqDebugObjData.r43 )
Error[e46]: Undefined external "OSCreateMsg" referred in Data ( C:salvo utDrMsysqDebugObjData.r43 )
Error[e46]: Undefined external "OSWaitMsg" referred in Data ( C:salvo utDrMsysqDebugObjData.r43 )
Error[e46]: Undefined external "OSWaitEFlag" referred in Data ( C:salvo utDrMsysqDebugObjData.r43 )
Error[e46]: Undefined external "OSDelay" referred in display ( C:salvo utDrMsysqDebugObjdisplay.r43 )
Error[e46]: Undefined external "OSTimedOut" referred in functions ( C:salvo utDrMsysqDebugObjfunctions.r43 )
Error[e46]: Undefined external "OSTimer" referred in interrupts ( C:salvo utDrMsysqDebugObjinterrupts.r43 )
Error[e46]: Undefined external "OSReadEFlag" referred in sound ( C:salvo utDrMsysqDebugObjsound.r43 )

It worked great with the lib!!!!


Re: making with pro source files

PostPosted: Fri Apr 23, 2004 6:38 am
by aek
Hi.

Did you remove the library from the project? That's what the first couple of errors look like.

Are you ** sure ** that your salvocfg.h is doing what you want (i.e. if you used an example of ours, have you switched from MAKE_WITH_STD_LIB to MAKE_WITH_SOURCE (if applicable)?

The last undefined externals are a mismatch between which source modules you chose and which options you have enabled in your salvocfg.h -- you may want to review some of the tut uNpro projects' salvocfg.h's. For example -- OSTimedOut() is only available when you set

code:
#define OSENABLE_TIMEOUTS  TRUE


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

[This message has been edited by aek (edited April 23, 2004).]


Re: making with pro source files

PostPosted: Sat Apr 24, 2004 4:36 am
by dcassidy
The library is removed. I rviewed othe tu# but can't find what I did wrong. Is ther some thing in IAR I need to change? (ver 2.21B)

Love the product! Thanks for support

Here is salvocfg.h

// #define MAKE_WITH_SOURCE

#if defined(MAKE_WITH_FREE_LIB)
/* */
/* Salvo Lite build */
/* */
#define OSUSE_LIBRARY TRUE
#define OSLIBRARY_TYPE OSF
#define OSLIBRARY_CONFIG OSM
#define OSEVENTS 0 /* multitasking only */
#define OSEVENT_FLAGS 0
#define OSMESSAGE_QUEUES 0
#define OSTASKS 2


#elif defined(MAKE_WITH_STD_LIB)
/* */
/* Salvo LE & Pro library build */
/* */

#define OSUSE_LIBRARY TRUE
#define OSLIBRARY_TYPE OSL
#define OSLIBRARY_CONFIG OST
#define OSEVENTS 4 // #of OSECBP blocks
#define OSEVENT_FLAGS 3 // #of OSEFCBP blocks
#define OSMESSAGE_QUEUES 0
#define OSTASKS 11


#elif defined(MAKE_WITH_SOURCE)
/* */
/* Salvo Pro source-code build */
/* */

#define OSLIBRARY_TYPE OSL
#define OSEVENTS 4 // #of OSECBP blocks
#define OSENABLE_EVENT_FLAGS TRUE
#define OSENABLE_EVENT_READING TRUE
#define OSEVENT_FLAGS 3 // #of OSEFCBP blocks
#define OSBYTES_OF_EVENT_FLAGS 2
#define OSMESSAGE_QUEUES 0
#define OSTASKS 10
#define OSBYTES_OF_DELAYS 2
#define OSBYTES_OF_COUNTERS 2
#define OSENABLE_TIMEOUTS TRUE
#define OSENABLE_CYCLIC_TIMERS TRUE
#define OSENABLE_MESSAGES TRUE


#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


Re: making with pro source files

PostPosted: Sat Apr 24, 2004 7:48 am
by aek
Uncomment-out the
code:
#define MAKE_WITH_SOURCE

line(to define MAKE_WITH_SOURCE), and remove the
code:
#define OSLIBRARY_TYPE OSL

line -- it has no business in a source-code build.

When using one of our one-size-fits-all tutorial projects' salvocfg.h as a basis for a user salvocfg.h, I always recommend that you verify -- by inserting an #error directive into the salvocfg.h in the appropriate place -- that the particular portion of the salvocfg.h file that you think is active is really active. E.g. your project may be defining MAKE_WITH_STD_LIB by passing it to the preprocessor as a project option, unbeknownst to you ...

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


Re: making with pro source files

PostPosted: Thu Apr 29, 2004 9:10 am
by aek
I think there's a simple way for us to add a feature to the tutorial projects, etc. that would generate an error if more than one of those symbols is defined simultaneously ... that would help in some cases, maybe yours.

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


Re: making with pro source files

PostPosted: Thu Apr 29, 2004 10:04 am
by dcassidy
Did everything you sugested, still did not work but found the solution. One of the source files had a diferent build option (STD_LIB) instead of SRC even when I set this at the project level. Problem Solved thanks for help, why this hapends not sure yet