• Welcome to Andy's Workshop Forums. Please login or sign up.
 
April 23, 2024, 06:05:39 am

News:

SMF - Just Installed!


Compile problems

Started by mariusl, September 07, 2015, 07:32:26 am

Previous topic - Next topic

mariusl

Hi Andy

I tried your library before but without success. I have just rebuild my system for Debian Wheezy and reinstalled the tool chains. I am trying your library again by following your instructions carefully (i hope). I can compile the master example but any other gives a number of errors. I am using a STM32F4 Discovery so I set the active config for 407_168_8.

I did notice that there is a F1 directory and the error seem to be involving F1 stuff.

Description Resource Path Location Type

'RCC_PLLMul_9' undeclared (first use in this function) System.c /my_test/system/f1md line 43 C/C++ Problem


Thanks for your help. I really want to use the library .

Andy Brown

Hi Marius,

The f407 discovery board is one of my main test targets, and it's also one of the automatic "Travis" builds that runs on Linux each time I push a commit to github so you definitely should have no issues. Please can you tell me the command line that you used to do the build? Basically to create a debug build on Linux from the directory that you cloned into you would do (from memory):


scons mode=debug mcu=f407 hse=8000000 float=hard install


If you are compiling from Eclipse then the key point is to make sure that you have selected the correct build configuration, first for the library and then for each example you want to compile. Build configurations can be accessed by right-clicking the project file in the project explorer.
It's worse than that, it's physics Jim!

mariusl

Hi Andy
Thanks for replying promptly.
I used this line.
scons mode=debug mcu=f407 hse=8000000 -j12 install INSTALLDIR=~/home/badev/dev/STM32/libraries/stm32plus

I see mine does not have the float directive. Is it critical?
And I made sure that I use the correct build config

I will recompile with your scons line and try.

mariusl

Andy
I recompiled with float=hard option and started from scratch with only the master and the blink project. I imported but left the code in the examples directory. This worked this way but it did not work when I copied the project to the workspace. Are there any conditions that change if you copy the sample project to the workspace?

mariusl

Andy
I spoke too soon. Not all is what I expected. I had to compile the library in the projects without the hard float to get the other projects to compile.

So I got the blink to work now as well.
Now I will try to copy the project to my workspace.

mariusl

Hi Andy
Seems like all is working. I think what was not clear to me was that I had to build STM32plus with float=hard and then in the projects I have to compile the library without the hard float.

I have been waiting for ages to try the TFT stuff. I am going to design some aviation instruments using daylight visible TFT screens so I have a lot of work to do at the library level in order to get what I need. I will no doubt bug you a lot more.

Thanks a lot for some awesome work done here.

Andy Brown

Quote from: mariusl on September 07, 2015, 01:51:41 pm
I think what was not clear to me was that I had to build STM32plus with float=hard and then in the projects I have to compile the library without the hard float.


That's strange. The library and the examples should match in terms of the floating point settings. You didn't say if you were using Eclipse or if you were building from the command line - which one are you using? I'm sort of guessing Eclipse but if you can confirm then it would help.
It's worse than that, it's physics Jim!

mariusl


Andy Brown

I know what's going on now. The build configuration for each example has resource 'excludes' set up so that the 'system' directory for irrelevant MCUs are excluded from the build. The excludes were not set up when I did the merge for the pull request for the f1md support so Eclipse is trying to compile the system directory for the f1md build configuration even when you've selected the f4.

You can either use git to sync to the commit before I merged that pull request or wait until the weekend when I'll create all the resource exclusions and push a new commit to github.
It's worse than that, it's physics Jim!

mariusl

Thanks Andy I can wait until you have done the update. I am still finding my way around the library so I am trying examples and scanning code like crazy.

Andy Brown

I just pushed a commit that fixes these issues. Please let me know of any further problems.
It's worse than that, it's physics Jim!

mariusl

Thanks Andy, I will do a pull and check it out.