Topic : Ride7 Update - Library problems

Forum : ARM

Original Post
Post Information Post
September 6, 2010 - 10:58am
Guest

Hello, After searching for the pro solution of the rkit, I found an update of Ride7 and decided to install it. I uninstall my old version of ride7 and installed new Ride7 ( V7.30.10.059) and new Rkit for ARM STM32 ( 1.26.10.0130 ). I opened my old project with new Ride7 and with no surprises, my project don't succed when I try to build and make it. I checked the directories of my project and I'm using the library in ARM/Include file. When I build the project I have this kind of errors :
ERROR LOG 1 :

Building C:\Pompe\Ride\POMPEV10.0\src\initialisation.c
Running: ARM Compiler
"C:\Program Files\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-gcc.exe" -MD -D_STM32F103VBT6_ -D_STM3x_ -D_STM32x_ -mthumb -mcpu=cortex-m3 "C:\Pompe\Ride\POMPEV10.0\src\initialisation.c" -o "C:\Pompe\Ride\POMPEV10.0\initialisation.o" -I "." -I "C:\Pompe\Ride\POMPEV10.0\inc" -I "C:\Pompe\Ride\POMPEV10.0\inc\LCD" -I "C:\Program Files\Raisonance\Ride\Lib\ARM\include" -c -fsigned-char -D OLD_STM32LIB_USED -g -O1 -ffunction-sections -mlittle-endian
In file included from C:\Pompe\Ride\POMPEV10.0\inc/main.h:15,
from C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:13:
C:\Pompe\Ride\POMPEV10.0\inc\LCD/KS0108.h:27: warning: parameter names (without types) in function declaration
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:91: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'TIM1_TimeBaseStructure'
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:92: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'TIM1_OCInitStructure'
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:93: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'TIM1_BDTRInitStructure'
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c: In function 'RCC_Configuration':
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:244: error: 'RCC_AHBPeriph_DMA' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:244: error: (Each undeclared identifier is reported only once
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:244: error: for each function it appears in.)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c: At top level:

[....]

C:\Pompe\Ride\POMPEV10.0\src\initialisation.c: In function 'InitialisationTimer1_Buzzer':
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:978: error: 'TIM1_TimeBaseStructure' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:979: error: 'TIM1_CounterMode_Up' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:987: error: 'TIM1_OCInitStructure' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:987: error: 'TIM1_OCMode_PWM2' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:988: error: 'TIM1_OutputState_Enable' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:989: error: 'TIM1_OutputNState_Enable' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:991: error: 'TIM1_OCPolarity_Low' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:992: error: 'TIM1_OCNPolarity_Low' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:993: error: 'TIM1_OCIdleState_Set' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:994: error: 'TIM1_OCIdleState_Reset' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c: In function 'InitialisationTimer1_Debit1':
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1046: error: 'TIM1_TimeBaseStructure' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1047: error: 'TIM1_CounterMode_Up' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1055: error: 'TIM1_OCInitStructure' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1055: error: 'TIM1_OCMode_PWM2' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1056: error: 'TIM1_OutputState_Enable' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1057: error: 'TIM1_OutputNState_Enable' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1059: error: 'TIM1_OCPolarity_Low' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1060: error: 'TIM1_OCNPolarity_Low' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1061: error: 'TIM1_OCIdleState_Set' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1062: error: 'TIM1_OCIdleState_Reset' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c: In function 'InitialisationTimer1_Debit2':
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1116: error: 'TIM1_TimeBaseStructure' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1117: error: 'TIM1_CounterMode_Up' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1125: error: 'TIM1_OCInitStructure' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1125: error: 'TIM1_OCMode_PWM2' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1126: error: 'TIM1_OutputState_Enable' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1127: error: 'TIM1_OutputNState_Enable' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1129: error: 'TIM1_OCPolarity_Low' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1130: error: 'TIM1_OCNPolarity_Low' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1131: error: 'TIM1_OCIdleState_Set' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1132: error: 'TIM1_OCIdleState_Reset' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c: In function 'InitialisationTimer1_Debit3':
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1185: error: 'TIM1_TimeBaseStructure' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1186: error: 'TIM1_CounterMode_Up' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1194: error: 'TIM1_OCInitStructure' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1194: error: 'TIM1_OCMode_PWM2' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1195: error: 'TIM1_OutputState_Enable' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1196: error: 'TIM1_OutputNState_Enable' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1198: error: 'TIM1_OCPolarity_Low' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1199: error: 'TIM1_OCNPolarity_Low' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1200: error: 'TIM1_OCIdleState_Set' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1201: error: 'TIM1_OCIdleState_Reset' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1210: error: 'TIM1_BDTRInitStructure' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c: In function 'Initialisation_Timer2':
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1253: error: 'TIM_OCInitTypeDef' has no member named 'TIM_Channel'
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c: In function 'Initialisation_Timer3':
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1284: error: 'TIM_ICInitTypeDef' has no member named 'TIM_ICMode'
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1284: error: 'TIM_ICMode_PWMI' undeclared (first use in this function)
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c: At top level:
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:1361: warning: conflicting types for 'UpdateStartRTC'
C:\Pompe\Ride\POMPEV10.0\src\initialisation.c:886: warning: previous implicit declaration of 'UpdateStartRTC' was here

Build failed

When I try to make the project ( using the little blue arrow ) I have an other error log :

ERROR LOG 2:

Building C:\Pompe\Ride\POMPEV10.0\Pompe.rapp
Running: LD Linker
"C:\Program Files\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-gcc.exe" -mcpu=cortex-m3 -mthumb -Wl,-T -Xlinker "C:\Pompe\Ride\POMPEV10.0\Pompe.elf.ld" -u _start -Wl,-static -Wl,--gc-sections -nostartfiles -Wl,-Map -Xlinker "C:\Pompe\Ride\POMPEV10.0\Pompe.map"
C:\Pompe\Ride\POMPEV10.0\main.o: In function `BuzzerTouche':
C:\Pompe\Ride\POMPEV10.0\src/main.c:1164: undefined reference to `TIM1_Cmd'
C:\Pompe\Ride\POMPEV10.0\initialisation.o: In function `Initialisation_Timer2':
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1257: undefined reference to `TIM_OCInit'
C:\Pompe\Ride\POMPEV10.0\initialisation.o: In function `InitialisationTimer1_Debit3':
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1182: undefined reference to `TIM1_DeInit'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1191: undefined reference to `TIM1_TimeBaseInit'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1203: undefined reference to `TIM1_OC1Init'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1210: undefined reference to `TIM1_BDTRConfig'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1214: undefined reference to `TIM1_Cmd'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1217: undefined reference to `TIM1_CtrlPWMOutputs'
C:\Pompe\Ride\POMPEV10.0\initialisation.o: In function `InitialisationTimer1_Debit2':
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1113: undefined reference to `TIM1_DeInit'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1122: undefined reference to `TIM1_TimeBaseInit'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1134: undefined reference to `TIM1_OC1Init'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1137: undefined reference to `TIM1_Cmd'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1140: undefined reference to `TIM1_CtrlPWMOutputs'
C:\Pompe\Ride\POMPEV10.0\initialisation.o: In function `InitialisationTimer1_Debit1':
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1043: undefined reference to `TIM1_DeInit'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1052: undefined reference to `TIM1_TimeBaseInit'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1064: undefined reference to `TIM1_OC1Init'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1067: undefined reference to `TIM1_Cmd'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1070: undefined reference to `TIM1_CtrlPWMOutputs'
C:\Pompe\Ride\POMPEV10.0\initialisation.o: In function `InitialisationTimer1_Buzzer':
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:975: undefined reference to `TIM1_DeInit'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:984: undefined reference to `TIM1_TimeBaseInit'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:996: undefined reference to `TIM1_OC4Init'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:999: undefined reference to `TIM1_Cmd'
C:\Pompe\Ride\POMPEV10.0\src/initialisation.c:1002: undefined reference to `TIM1_CtrlPWMOutputs'
collect2: ld returned 1 exit status

Build failed

Errors are not the same, but they are still on the timer.

After checked the forum, I have see the same problem than me so I decided to delete the directorie ARM/Include of my project, and put the library on the Include file of my project, but errors are still the same !!

I know the library changed from the beginning of my project (beginning of the year 2008) and I never updated my library. So I decided to use an older library found on the exemples of my ST training board STM3210B-EVAL. I put it on the directorie" ARM / Include/" but still the same error log 2 ( build failed) and I have the same error log 2 when I make the project.

SO I don't understand. THe library version when I installed the new Ride7 is the V2.0.3. Library found on the exemples of my ST evaluation board was the V1.0.

I decided to uninstall the new ride7 and contine with my old Ride7 and my old library, but the problem is I can't find my CD of Ride7 !!.....GRRRRRRR ! :)

And of course I don't know which version of STM32 library I used ! So Ireally don't know what I have to do !!

I suppose that the errors I have on the rror log 2 are because of updates of the library so Ride7 can't find the TIM1_ ... I'm using in my project, but there is errors too when I have an old version.

I am discouraged !!!!!!! :(

Where can I find old versions of Ride7 ? Maybe I have to change something on properties of Ride7.........

Grrrr I regret now having made the update! :)

If someone can help me, it would be fantastic !

Thanks again .

Hervé

Replies
Post Information Post
+1
0
-1
September 6, 2010 - 11:30am
Raisonance Support Team

Hi,

To send you the older version of Ride, we would need to know which version that was...
Anyways, this is really not recommended because the old versions, both of Ride and the lib, contained some quite bad bugs. And of course we don't provide support for the old versions.

Adapting an application to the new lib is not always easy, but once it is done most people are happy to have done it.

The normal way to use the libraries is to take the latest version from the ST website, copy all the library sources (and headers) in your application's directory and include them in the project, adapt the new conf.h to match the selection that was made in your old conf.h, (using your old conf.h with the c files of the new lib will not work) and then uncheck the "use old libraries" option in the Ride options.
See how it is done in this example:
\Examples\ARM\REva\STM32F103_Toggle

From your command line I can tell that you haven't unchecked the option. For the other points I cannot say. But this could very well be the cause of your compile errors.

Seeing your log, my second guess is a problem in the conf.h. (did you keep our old version?)

You should also check if the names of some functions or defines of the lib that you are using have changed. That happened between version 1 and 2.something of the lib for a few names.

There might be some name adapting to make in the stm32..._it.c file too.

I hope it helps.

Best Regards,

Vincent

+1
0
-1
September 6, 2010 - 3:06pm
Guest

Thanks Vincent,

So I uncheck the " use old library ", and also the limitation of the linker, and copied all the .c and .h in my project and I don't have the same errors. Still errors with no surprises, but this is my log:


----------------Make Started: 'Pompe' in configuration 'Standard'--------------------------

Building C:\Pompe\Ride\POMPEV10.0\src\LCD\KS0108-STM32.c
Running: ARM Compiler
"C:\Program Files\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-gcc.exe" -MD -D_STM32F103VBT6_ -D_STM3x_ -D_STM32x_ -mthumb -mcpu=cortex-m3 "C:\Pompe\Ride\POMPEV10.0\src\LCD\KS0108-STM32.c" -o "C:\Pompe\Ride\POMPEV10.0\KS0108-STM32.o" -I "." -I "C:\Pompe\Ride\POMPEV10.0\inc" -I "C:\Pompe\Ride\POMPEV10.0\inc\LCD" -I "C:\Pompe\Ride\POMPEV10.0\inc\lib" -c -fsigned-char -g -O1 -ffunction-sections -mlittle-endian
In file included from C:\Pompe\Ride\POMPEV10.0\inc/main.h:15,
from C:\Pompe\Ride\POMPEV10.0\src\LCD\KS0108-STM32.c:11:
C:\Pompe\Ride\POMPEV10.0\inc\LCD/KS0108.h:27: warning: parameter names (without types) in function declaration

[Building of all my ***.c....]

Building C:\Pompe\Ride\POMPEV10.0\Pompe.rapp
Running: LD Linker
"C:\Program Files\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-gcc.exe" -mcpu=cortex-m3 -mthumb -Wl,-T -Xlinker "C:\Pompe\Ride\POMPEV10.0\Pompe.elf.ld" -u _start -Wl,-static -Wl,--gc-sections -nostartfiles -Wl,-Map -Xlinker "C:\Pompe\Ride\POMPEV10.0\Pompe.map"
C:\Pompe\Ride\POMPEV10.0\stm32f10x_flash.o: In function `FLASH_PrefetchBufferCmd':
C:\Pompe\Ride\POMPEV10.0\src/stm32f10x_flash.c:129: undefined reference to `assert_param'
C:\Pompe\Ride\POMPEV10.0\stm32f10x_flash.o: In function `FLASH_SetLatency':
C:\Pompe\Ride\POMPEV10.0\src/stm32f10x_flash.c:89: undefined reference to `assert_param'
C:\Pompe\Ride\POMPEV10.0\stm32f10x_adc.o: In function `ADC_RegularChannelConfig':
C:\Pompe\Ride\POMPEV10.0\src\lib/stm32f10x_adc.c:563: undefined reference to `assert_param'
C:\Pompe\Ride\POMPEV10.0\src\lib/stm32f10x_adc.c:564: undefined reference to `assert_param'
C:\Pompe\Ride\POMPEV10.0\src\lib/stm32f10x_adc.c:565: undefined reference to `assert_param'
C:\Pompe\Ride\POMPEV10.0\stm32f10x_adc.o:C:\Pompe\Ride\POMPEV10.0\src\lib/stm32f10x_adc.c:418: more undefined references to `assert_param' follow
collect2: ld returned 1 exit status

Build failed

I think now problems with ride7 and librairies are ok, but I think now it's between my program and the library version. (!!??!!??!! )

To do this log I used the old library used in the DEMO of my ST evaluation board STM3210B-EVAL.
This library version is the V1.1.

When I check the STM32...._type.h or conf.h used in my project before all updates, the version was V0.3 ( 21 mai 2007 ). So I think I'm using the wrong library. I would like to be sure of that, and try to found the old library I used ( It was the library of Ride7, before today, I never put the.c and .h of libraries in my project, I alwas used library from Ride7, expect conf.h and.type.h. ) If I'm sur of that, I will take time after to update my code with the last library.

So maybe I'm wrong, or not, I don't know, what do you think Vincent about that ? And where can I find the V0.3 library of ST ? Maybe it can help you, but I bought your RAISONANCE STM3210B evaluation card in the beginning of 2008, the reference is :

STM3210B-SK/RA/A02-0

Thanks again

+1
0
-1
September 6, 2010 - 4:14pm
Guest

Hi Vincent,

Problems are done !!!!!!
BUILD SUCCEEDED !! :) :) :)

So I put the inc and src of V1.0 of the library, and modified the conf.h, and it's ok now !!! :)

Thank you for your help, but now I will update my library version by version :)

Thanks again and I think I will be soon on this Forum :):)

Bye

Hervé