STM32circle and Ride7 IDE

bkastel1 wrote on Tuesday, December 16, 2008:

Hello to all,

i tried to build the STM32F10x demo for Ride7 IDE and got this error after building it (i copied just the relevant lines of output):

H:\Work\FreeRTOS\FreeRTOSV5.1.1\Demo\CORTEX_STM32F103_Primer_GCC\ST_Code\lcd.c: In function ‘LCD_BackLightConfig’: 
H:\Work\FreeRTOS\FreeRTOSV5.1.1\Demo\CORTEX_STM32F103_Primer_GCC\ST_Code\lcd.c:564: error: ‘TIM_OCInitTypeDef’ has no member named ‘TIM_Channel’ 
 
Build failed

Then i checked the mentioned struct and it really doesn’t have the TIM_Channel as a member. Did anybody already tried to build this demo?

Thank you for your time,

Borut

alessvetek wrote on Tuesday, December 16, 2008:

Hi Borut,

I haven’t actually built this demo, but I think the problem is due to different versions of ST firmware library used in Demo
and in your Ride7 installation. The demo is based on FW 1.x. , but I suppose you have installed FW 2.x in Ride7. The versions are incompatible, but you can quite easily resolve the issues. Look for "How to migrate from STM32F10xxx FWLib V1.0 to V2.0 ", AN2776 on STM32 web site.

Regards,
~ Aleš

bkastel1 wrote on Tuesday, December 16, 2008:

Thank you Ales. Will try that and let you know.

Regards,

Borut

mandeep79 wrote on Saturday, January 03, 2009:

Borut,
   I have ported FreeRTOS V5.1.1 to work with latest Ride7 and Let me know if you are still looking for this.
   I would like to submit this port to freertos.org, let me know if someone know the procedure.
Thanks & Regards,
Mandeep

bkastel1 wrote on Saturday, January 03, 2009:

Hello Mandeep,

yes i’m still loking for this port - my mail is borutdotkastelicatgmaildotcom. For submiting this port it is best to talk to Richard.

Thank you for all the work. I did try with this port but somehow i wasn’t able to make it work. I’m working on the Rowley port and hope this one will be soon ready.

Regards,

Borut

rtel wrote on Saturday, January 03, 2009:

Excellent - I would be grateful if you could send a copy to me at r (dot) barry [at] freertos.org, I can then figure out the best way to include it.  I presume I will need to upgrade my compiler first.

Regards.

mandeep79 wrote on Saturday, January 03, 2009:

Thanks… I have sent code in separate email to both you guys. Please let me know if there is any exhaustive test suite that i can run to fully verify all functionality of FreeRTOS.
Regards,
Mandeep

bkastel1 wrote on Sunday, January 04, 2009:

Thank you Mandeep for your email and your effort. I will try the demo tomorow and let you know of my results.

Regards,

Borut

vr_ec wrote on Wednesday, January 07, 2009:

Hi, I want to know what is solution for this problem

bkastel1 wrote on Wednesday, January 07, 2009:

Hello,

i tried the demo Mandeep put together and it is working. I haven’t checked what the difference are but you can ask Mandeep what he did to make it work.

Regards,

tmech wrote on Friday, January 16, 2009:

I am having the same issue as the OP in this thread - could someone chronicle the details of resolving this? I’m new to the STM32 and the library.

Thanks,
Todd

tmech wrote on Friday, January 16, 2009:

I have modified  the STM32 Ride Demo to properly compile using "How to migrate from STM32F10xxx FWLib V1.0 to V2.0 ", AN2776 on STM32 web site. The demo is now compiling, but I do not have a STM32 Primer to test functionality (I’m porting to custom hardware). These are the exact steps I followed, its quite simple, could someone please test for functionality on ther STM32 Primer.

Steps:
In File LCD.c
LINE 564 Replace:
TIM_OCInitStructure.TIM_Channel  = TIM_Channel_2;
with:
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;

Line 567 Replace:
TIM_OCInit( TIM4, &TIM_OCInitStructure );
with:
TIM_OC2Init( TIM4, &TIM_OCInitStructure );

In File mems.c
LINE 238 Replace
while( SPI_GetFlagStatus( SPI2, SPI_FLAG_TXE ) == RESET );
with:
while( SPI_I2S_GetFlagStatus( SPI2, SPI_I2S_FLAG_TXE ) == RESET );

LINE 241 Replace:
SPI_SendData( SPI2, byte );
with:
SPI_I2S_SendData( SPI2, byte );

LINE 244 Replace:
while( SPI_GetFlagStatus( SPI2, SPI_FLAG_RXNE ) == RESET );
with:
while( SPI_I2S_GetFlagStatus( SPI2, SPI_I2S_FLAG_RXNE ) == RESET );

LINE 247 Replace:
return SPI_ReceiveData( SPI2 );
with:
return SPI_I2S_ReceiveData( SPI2 );

in file buzzer.c
Line 208 Replace:
TIM_OCInitStructure.TIM_Channel  = TIM_Channel_3;
with:
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;

Line 211 Replace
TIM_OCInit( TIM3, &TIM_OCInitStructure );
with:
TIM_OC3Init( TIM3, &TIM_OCInitStructure );

Line 264 Replace
TIM_OCInitStructure.TIM_Channel  = TIM_Channel_3;
with:
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;

Line 267 Replace
TIM_OCInit( TIM3, &TIM_OCInitStructure );
with:
TIM_OC3Init( TIM3, &TIM_OCInitStructure );

My only concern is if there needs to be any changes made related to NVIC stuff, can someone look into this?
Please let me know if this actually works again on the STM32 Primer, then FREErtos can update their distributions on the next release, also can someone please notify them?

Todd

rtel wrote on Saturday, January 17, 2009:

Thanks to all contributors.

The STM32 Primer source code has now been updated and is working with the latest RIDE libraries.  The source code has been checked into SVN and will be included in the next release.

Regards.