MATLAB Answers

Unable to generate code for STM32

63 views (last 30 days)
abhijeetb89
abhijeetb89 on 6 Jun 2015
Edited: smrtkai on 4 Dec 2015
Hello,
I am trying to generate code for STM32F4 Discovery. I have installed Windows SDK 7.1 and .NET framework 4.0. Using "mex -setup" and "xpcsetCC setup", toolchain "Microsoft Visual C++ 2010" is also configurator but still the code generator gives error -
"An installed compiler was not detected. Certain simulation modes, as well as host-based coder builds require that a compiler be installed. Please install one of the supported compilers for this release as listed at: http://www.mathworks.com/support/compilers/R2015a/win64.html"
One more thing I have observed is that there is no option in "Code Generation" to select toolchain.Please see the image below.
Could you please suggest a solution?
Thanks,
Abhijeet

  8 Comments

Show 5 older comments
Rhys
Rhys on 30 Jun 2015
I seem to have the exact symptoms as you with my STM32f4 discovery.
The Waijung simulink blockset and the MATLAB supported "Embedded Support Package for STMicroelectronics STM32F4-Discovery Board" work fine but the STM32-MAT/TARGET or "Target support package - STM32 Adapter" does not.
I have Win8.1, R2015a, SDK 7.1, .NET 4 are both installed (see below), ST Link and STM32CubeMX. I also do not have the toolchain as per this video. The user in the video is using R2013b which might be the issue.
I tried the link you provided above but I don't get the "Upgrade Model" button, maybe because I created the model in R2015a?
My simple model is as below:
I can also generate code with STM32CubeMX:
Have you managed to get this blockset working?
Cheers
>> mex -v -setup C
Verbose mode is on.
... Looking for compiler 'Intel C++ Composer XE 2011 with Microsoft SDK 7.1 (C)' ...
... Looking for environment variable 'ICPP_COMPILER12' ...No.
Did not find installed compiler 'Intel C++ Composer XE 2011 with Microsoft SDK 7.1 (C)'.
... Looking for compiler 'Intel C++ Composer XE 2011 with Microsoft Visual Studio 2008 (C)' ...
... Looking for environment variable 'ICPP_COMPILER12' ...No.
Did not find installed compiler 'Intel C++ Composer XE 2011 with Microsoft Visual Studio 2008 (C)'.
... Looking for compiler 'Intel C++ Composer XE 2011 with Microsoft Visual Studio 2010 (C)' ...
... Looking for environment variable 'ICPP_COMPILER12' ...No.
Did not find installed compiler 'Intel C++ Composer XE 2011 with Microsoft Visual Studio 2010 (C)'.
... Looking for compiler 'Intel C++ Composer XE 2013 with Microsoft SDK 7.1' ...
... Looking for environment variable 'ICPP_COMPILER14' ...No.
... Looking for environment variable 'ICPP_COMPILER13' ...No.
Did not find installed compiler 'Intel C++ Composer XE 2013 with Microsoft SDK 7.1'.
... Looking for compiler 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2010 (C)' ...
... Looking for environment variable 'ICPP_COMPILER14' ...No.
... Looking for environment variable 'ICPP_COMPILER13' ...No.
Did not find installed compiler 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2010 (C)'.
... Looking for compiler 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2012 (C)' ...
... Looking for environment variable 'ICPP_COMPILER14' ...No.
... Looking for environment variable 'ICPP_COMPILER13' ...No.
Did not find installed compiler 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2012 (C)'.
... Looking for compiler 'Microsoft Visual C++ 2008 (C)' ...
... Looking for environment variable 'VS90COMNTOOLS' ...No.
Did not find installed compiler 'Microsoft Visual C++ 2008 (C)'.
... Looking for compiler 'Microsoft Visual C++ 2010 (C)' ...
... Looking for environment variable 'VS100COMNTOOLS' ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cl.exe' ...Yes.
... Looking for folder 'C:\Program Files (x86)\Microsoft Visual Studio 10.0' ...Yes.
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A' InstallationFolder ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A' InstallationFolder ...No.
Did not find installed compiler 'Microsoft Visual C++ 2010 (C)'.
... Looking for compiler 'Microsoft Visual C++ 2012 (C)' ...
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 11.0 ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 11.0 ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 11.0 ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 11.0 ...No.
Did not find installed compiler 'Microsoft Visual C++ 2012 (C)'.
... Looking for compiler 'Microsoft Visual C++ 2013 Professional (C)' ...
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 12.0 ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 12.0 ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 12.0 ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 12.0 ...No.
Did not find installed compiler 'Microsoft Visual C++ 2013 Professional (C)'.
... Looking for compiler 'Microsoft Windows SDK 7.1 (C)' ...
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1' InstallationFolder ...Yes ('C:\Program Files\Microsoft SDKs\Windows\v7.1\').
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VC7' 10.0 ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cl.exe' ...Yes.
... Looking for folder 'C:\Program Files (x86)\Microsoft Visual Studio 10.0' ...Yes.
Found installed compiler 'Microsoft Windows SDK 7.1 (C)'.
... Looking for compiler 'Microsoft Windows SDK 7.1 (C)' ...
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1' InstallationFolder ...Yes ('C:\Program Files\Microsoft SDKs\Windows\v7.1\').
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VC7' 10.0 ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cl.exe' ...Yes.
... Looking for folder 'C:\Program Files (x86)\Microsoft Visual Studio 10.0' ...Yes.
Found installed compiler 'Microsoft Windows SDK 7.1 (C)'.
MEX configured to use 'Microsoft Windows SDK 7.1 (C)' for C language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
son nguyen
son nguyen on 12 Jul 2015
i got the same problem like you, i installed matlab 2014 and 2015a, stm32 cube V4.8, compiler visual studio C++ 2010 -2015 but it still didn't work. Did you solve that probem. Please help me.
abhijeetb89
abhijeetb89 on 29 Jul 2015
Hi Rhys,
could you please paste a snapshot of "Configuration Parameters --> Code Generation". I would like to see the settings.
Thanks.
Abhijeet

Sign in to comment.

Answers (6)

Pascal REYNAUD
Pascal REYNAUD on 8 Jun 2015
Hello,
toolchain is selected from STM32CubeMx tool that must be installed to use STM32-MAT/Target solution.
STM32CubeMx installation path is selected from "STM32 Options" that appears when you select STM32.tlc.
It is used to configure MCU (Pinout and peripherals) and used toolchain.
Then, it is called from Simulink to generate project.
Best regards
Pascal

  4 Comments

Show 1 older comment
Rhys
Rhys on 30 Jun 2015
Hi Pascal,
I'm facing the same issues described here.
How exactly do you select a toolchain with STM32CubeMx? Could you provide an example? My STM32CubeMx installation path, .ioc file is correctly selected from "STM32 Options" that appears when you select STM32.tlc in Code Generation. I am wondering if the "Toolchain Folder Location needs to point somewhere special (compared to where I've set it below)?
In my stm32 Simulink model, the STM32CubeMX file appears as follows:
smrtkai
smrtkai on 6 Jul 2015
I am facing the same error. My setup:
  • MATLAB R2015a (8.5.0.197613)
  • STM32CubeMX 4.8.0
  • Keil uVision 5.15
It seems to me, that MATLAB/Simulink cannot open STM32CubeMX when compiling, although the configuration within Simulink is set correctly.
Is there some kind of debug mode to check which paths simulink checks to open STM32CubeMX?
Etheric-Dreams
Etheric-Dreams on 25 Jul 2015
Same problem here, any further update?

Sign in to comment.


jonatan blom
jonatan blom on 28 Jul 2015
I’m also getting this error, I can compile my model with 2013b but when I try with 2015a I get the same error as you "An installed compiler was not detected". I have no problem compiling a c file with mex command in the matlab prompt...

  0 Comments

Sign in to comment.


yi zhang
yi zhang on 29 Jul 2015
"args.mexOpts = rtwprivate('getMexCompilerInfo','manufacturer','LCC');"-->"args.mexOpts = rtwprivate('getMexCompilerInfo','LCC');" in setup_for_lcc.m. It works in this scenario but the side-effects are unknown yet.

  0 Comments

Sign in to comment.


abhijeetb89
abhijeetb89 on 29 Jul 2015
Edited: abhijeetb89 on 29 Jul 2015
Hello Pascal,
Could you do me a favor? If you can generate code at your end, could you please paste a snapshot of "Configuration Parameters ----> Code Generation". I would like to see the settings.
Thanks.
Abhijeet

  0 Comments

Sign in to comment.


Valmir Sadiku
Valmir Sadiku on 8 Oct 2015
I have basically the same issues by generating the code for the STM32 : An installed compiler was not detected...
If I check for installed compilers via mex -setup:
MEX configured to use 'Microsoft Windows SDK 7.1 (C)' for C language compilation.
Everything looks fine, building code for Arduino works just fine. What could be the reason for this issue? I have a OS Win7 64-Bit with Matlab 2015b.
I'm thankful for any help or assistance.
Regards,
goldenEyes

  0 Comments

Sign in to comment.


smrtkai
smrtkai on 4 Dec 2015
Edited: smrtkai on 4 Dec 2015
I had similiar issues. Maybe these links can help:
I wrote a step by step guide for myself on "How to setup STM32-MAT/TARGET with MATLAB R2015a". https://my.st.com/b476312a
Discussion on st.com:
The STM32-MAT/TARGET was developed for MATLAB R2014a. I was not able to get it working with MATLAB R2015b (generates erroneous). On my system it only works with MATLAB R2015a. I still have trouble to get Processor-In-the-Loop working.

  0 Comments

Sign in to comment.


Translated by