cancel
Showing results for 
Search instead for 
Did you mean: 

Latest STR710 Library with all know bugs fixed?

richards2
Associate II
Posted on November 24, 2005 at 06:40

Latest STR710 Library with all know bugs fixed?

4 REPLIES 4
richards2
Associate II
Posted on September 11, 2005 at 19:52

Hi,

Please can ST post the latest version of the library for the ST710 with all known bugs fixed. After looking through the forum it would appear that there are some outstanding / potential bug fixes???

I have downloaded the v3 from from

http://mcu.st.com/mcu/modules.php?name=mcu&file=familiesdocs&fam=86

Note that this site indicates reference to both a v2 and v3, but the linked zip file is the same v3 version in both cases.

I noticed that the files in the ST_Examples.zip for the EWARM 4.30A are more uptodate than the V3.0 on the above link! (eg rccu.c bug fix is in one and not the other!)

Please can we have feedback on the comments in the posting ''STR710Lib mapping in the apb.h file is not correct ?''

Please also take a look at the rtc.h file included in the v3 library and the ST_Examples.zip. There is a bug in the definition of the RTC_ITClear method. Corrected prototype needs to be copied from rtc.c file.

// BUG: void RTC_ITClear (RTC_FLAGS Xrtcit);

void RTC_ITClear (RTC_IT Xrtcit);

Given so many people use one of the many varients of the GNU tool chain, please can you include version of the startup files that are suitable for these tools.

Thank you,

Regards

Richard

richards2
Associate II
Posted on September 11, 2005 at 20:01

Hi,

Please can all the inline functions in the .h file be prefixed with a #define that lets one easily mark all of the functions as static.

eg: the function in rtc.h

inline u32 RTC_CounterValue (void)

{

return ( (u32)RTC->CNTH << 16 ) | RTC->CNTL;

}

maybe change this to be:

IS_STATIC inline u32 RTC_CounterValue (void)

{

return ( (u32)RTC->CNTH << 16 ) | RTC->CNTL;

}

and then either

''#define IS_STATIC static''

or

''#define IS_STATIC ''

in ''71x_map.h''

This will make it easy to avoid multiple function definition errors in GNU tool chain. (yes one can also tell the linker --allow-multiple-definition).

I am new to GNU Tools so would appreciate advice on which of the above methods is better: using static to set local only scope or telling linker to permit multiple definitions.

Regards

Ricahrd

richards2
Associate II
Posted on September 12, 2005 at 12:12

Hi,

Thanks for the pointer.

I shot myself in the foot by having two definitions trying to redifine inline. Ok so my brain was not working so well at 2 am this morning 🙂 Tried again and now looks ok.

Any feedback on the more serious question regarding the correct version of library?

I have made some progress on getting the USB Mouse demo to build with CrossWorks, at least for a RAM debug build.

The flash build did not work and now I am struggling to get control of the CPU!

Richard

richards2
Associate II
Posted on September 12, 2005 at 13:31

Another small bug in the library?

The file usb_core.h in line 624 reads:

if (pInfo->Ctrl_Info.Usb_wLength == -1) { /* Data is not ready, wait it */

pInfo->ControlState = PAUSE;

return;

}

This looks like it should be

if (pInfo->Ctrl_Info.Usb_wLength == 0xFFFF) { /* Data is not ready, wait it */

pInfo->ControlState = PAUSE;

return;

}

as -1 throws up error / warning in strict compilers as its not the same as 0xFFFF 🙂

Richard