I am able to install DS-5 on an OS (for example Windows 10) that is not officially supported. What is the behavior of DS-5 on such an OS? Will it work partially, for example?
DS-5 is a suite of tools, including Eclipse IDE, compilers (ARM compiler 5, ARM compiler 6, gcc), DS-5 debugger, Streamline performance analysis tool.
Though an OS may not be listed as supported, individual tools may be supported. A good example is Mac OS, where Streamline and Eclipse IDE are supported while other tools are not.
The best way to find out if a tool would work is to check the DS-5 System requirements page
Related
I am thinking of installing Eclipse for developing STM32 programs (I have a question about this that I will post later). In the instructions it says I have to install:
the IDE for C/C++
GNU ARM Eclipse Plug-ins
GNU GCC ARM tool-chain
among other tools..
However, I am also thinking of installing e2studio for developing Renesas programs. You can see about this Here. There you can see that this is "based on Eclipse CDT" (what is the difference between this CDT and the IDE?) and that it also uses Plug-ins like GNU Tool & Support Here.
My question is, is this possible? Do I have to install them separately? (I guess so). Will the GNU tools will also be installed twice??
(I am using a windows10 machine)
Thanks in advance
CDT is dedicated to C/C++ programming. Actually I personally prefere to have separate eclipse installations for different families of uC. Why? Because it is much easier to manage updates and to keep my work in the correct order.
For STM32 I advice (I think, you are a novice user of Eclipse & ARM toolchains) to install OpenSTM32 (yo have a straightforward installer). It imports projects from CUBEFX & MX which gives you an easy way to import examples & initialisation code from Cube. I personally do not use HAL libraries but as I know I am a minority.
However, I am also thinking of installing e2studio for developing
Renesas programs. You can see about this Here. There you can see that
this is "based on Eclipse CDT" (what is the difference between this
CDT and the IDE?)
Eclipse CDT is an open-source general-purpose C and C++ IDE.
e2studio is one of several software packages that extend CDT with (most likely proprietary) plugins geared towards a more specific market (in this case, Renesas programs).
My question is, is this possible?
Yes.
Do I have to install them separately? (I guess so).
Yes.
Will the GNU tools will also be installed twice?? (I am using a windows10 machine)
You can certainly share a single installation of a toolchain between two installations of CDT, if both of them need the same toolchain (in terms of version and architecture). I don't know enough about STM32 and Renesas to tell you if they use the same toolchain.
My RCP app running in CentOS 6.7 uses the SWT Browser. It works properly when launching the app from within eclipse, but when I run it as a standalone app, the Browser cannot be instantiated, and a SWT Exception with message "No more handles" is thrown. I prefer to use the browser with style SWT.WEBKIT, but it doesn't work with style SWT.NONE either.
I have the latest versions of packages webkitgtk, webkitgtk-devel, and gtk2 installed. I tried using style SWT.NONE and set env variable MOZILLA_FIVE_HOME to point to the firefox installation directory, the xulrunner executable, and even the google-chrome installation. I also added $MOZILLA_FIVE_HOME to LD_LIBRARY_PATH. If I have anything set for MOZILLA_FIVE_HOME the app segfaults when the Browser is instantiated. If I don't set MOZILLA_FIVE_HOME I get the SWT exception.
The SWT documentation says that if I have webkitgtk installed, eclipse will detect it automatically. But it also says that with eclipse 4.2 and later it works with gtk3 by default. I don't see any gtk3 packages.
I'm using Eclipse SDK 4.4.2 in my target, but my app is an Eclipse 3 app. So perhaps this is an error in the compatibility layer. I can try using an Eclipse 3.x SDK, but I'd rather not do that. The SWT plugin being installed is version 3.102.xxx.
As I said, the app works when launched inside eclipse, so am I perhaps missing a plugin in my built product? I see the swt.gtk plugins installed, but I don't know what else to look for. Also the standalone app works properly in Ubuntu.
The following entries in eclipse.ini enable the Browser control to work in CentOS 6.7 with style SWT.NONE
-vmargs
-Dorg.eclipse.swt.browser.DefaultType=mozilla
-Dorg.eclipse.swt.browser.XULRunnerPath=/path/to/xulrunner/
This also requires that a supported version of xulrunner be installed (1.9.2 worked for me), as precisely specified in the SWT FAQ. NB: The following caveat is stated in the FAQ regarding the possible use of firefox as a xulrunner instance:
Also note that a Firefox release whose contained Gecko version
correlates with the Mozilla versions above can also be used with
Eclipse 3.1 and newer (Linux only), provided that it has been compiled
with linkable Gecko libraries. It is important to note that Firefox
downloads from mozilla.org do not satisfy this criteria, but Firefox
installations that are included in major Linux distributions often do
in the absence of a XULRunner installation. Attempting to use a
Firefox install without linkable Gecko libraries will throw an error
with message "No more handles [NS_InitEmbedding...error -2147221164]".
The firefox installed on my CentOS 6.7 system doesn't seem to have the linked gecko libraries, but I may have manually installed a differerent version at some point.
There appears to be no way to use Eclipse 4.4 or newer with webkit on CentOS 6.7, since gtk3 is required per the FAQ, and the only reference I found to installing gtk3 on CentOS 6.x said that it would be very difficult.
The FAQ is confusing to me on a couple points. It seems to contradict itself, saying that a compliant xulrunner can be used with eclipse 4.4 and then saying that it cannot, because eclipse 4.4 "uses GTK 3 by default" and xulrunner has not been ported to gtk3. My SWT installation appears to be built for gtk3, but it did not prevent me from using xulrunner. Furthermore, saying that gtk3 is used by default seems to imply that it's possible to use some other version of gtk, but hours of searching turned up no information on that.
If anyone knows how to make eclipse 4.4 work with gtk2, I would greatly appreciate it. I'm not happy at all about being forced to use gecko for eclipse 4.4 apps running in CentOS 6.x.
EDIT: It occurs to me that a big unanswered question is why the Browser doesn't throw the exception with style SWT.WEBKIT and no XulRunnerPath property set when I launch the app from within eclipse. I'd really like to understand that.
I am trying to do some embedded programming for an online course. The IDE I had to use does not have a Linux version, so I am planning to use the ARM DS-5. It says it can be used with eclipse but I cannot figure out how to get them to work. I have Ubuntu 14.04. I read somewhere that the ARM-DS-5 wouldn't work with anything newer than indigo but that was from 2012 and am not sure how accurate that is now. Any help would be great.
Depending on the use-case, you can pick one the three DS-5 variants.
Community Edition
Free to use.
Allows Linux library/app debug using GNU tools.
Comes in two flavors - Eclipse Plugin and Full Fledged IDE.
Professional Edition
30 days free evaluation.
Allows bare-metal (no OS) and Linux kernel and app debug.
Comes with ARM compiler, debugger along with GNU tools.
Comes with FVP, ARM's virtual hardware, allowing development without real hardware.
Ultimate edition
Everything in the Professional edition plus support for ARMv8, the ARM's architecture with 64-bit support.
You can visit here to see more detailed difference between various editions.
Note there is only one DS-5 IDE installer, which is available for download here. The variant is decided based on type of license chosen. So if you download DS-5 Ultimate for 30-day eval, it can converted to Community edition by changing the license at the end of eval period.
Can you use the CMSIS, HAL, TM libraries for STM32F407 discovery board with eclipse, without STM32Cube? According to this link http://www.carminenoviello.com/en/2015/06/04/stm32-applications-eclipse-gcc-stcube/ you can do it with eclipse & STM32Cube. But I wonder if you can do just same thing without the STM32Cube. Since I'm using OS X, it is impossible to install the STM32Cube, but in order to use the GPIO library I need to use CMSIS, HAL, TM libraries.
You might be able to used the older "Standard Peripheral Driver" model - which was a just a distributed set of driver files specific to the chip. These libraries are no longer supported and are replaced by STM32Cube which generates equivalent code - but with better support for hardware abstraction however they are still very useable.
Search "STM32F4xx_StdPeriph_Driver" to locate the libraries (which include the standard peripheral drivers and CMSIS).
You can download the libraries as a separate zip file
http://www.st.com/web/en/catalog/tools/PF259243
just unpack it and import whatever you need from it into your project. You can take an example project which is closest to your needs, and start developing your application from that. That's what I did in Linux.
There is the STM32CubeMX, which is the installable program you're referring to, and there are STM32CubeF4, STM32CubeL0, etc, which are the firmware package for the different controller families.
CubeMX now officially supports Mac and Linux. However here is an old post how to run it manually http://www.carminenoviello.com/2015/09/09/running-stm32cubemx-macos-finally/.
Regarding the HAL and SPL I'll add that there are really nice libraries in libopencm3 which are developed by community and are not so "buggy" as HAL or SPL.
I found an interesting instruction. You can install the STM32CubeMX on OS X. http://www.stm32duino.com/viewtopic.php?t=267
There is an Eclipse based IDE by OpenSTM32 community called SW4STM32. Available at OpenSTM32 community's site. System Workbench for STM32 installer has been released on the following platforms:
Microsoft Windows Vista and newer (32 bits or 64 bits)
Linux (32 bits or 64 bits)
Mac OSX 10.10 Yosemite and newer + Xcode 7
Java SE JRE 7 or newer
When creating a project you can choose which library you want want to use, SPL, HAL or baremetal.
STM32CubeMX is a initialization code generator. It definitely eases development, but you can write you code completely from the beginning.
STM32CubeMX uses HAL as its Library. You can download the HAL and Include the files that you need and write down the code from scratch. You just need to be aware of the APIs, which are documented in UM1725 Application Note.
But, now STM32CubeMX is also available for Linux and Mac.
There is two options - SunStudio or gcc toolchain. What is the common practice to adhere when developing a driver -- make sure it builds with both compilers for 32-bit and 64-bit modes, or pick one compiler and stick to it?
Thanks.
There is no point building a 32 bit driver when you target Solaris 11.2 as this kernel is only released as 64 bit.
Both Solaris Studio and gcc can be used. The former is likely more popular for everything kernel related and you'll probably find more documentation about using it than gcc.
Until you can find someone who has used recent versions of the entire suite of tools available under both GCC with all its add-ons and Oracle's Studio toolset, you're not going to get a good answer. I'll say that I've yet to see an open-source tool that is as good as Oracle's Studio collect/analyzer tools at performance analysis of multithreaded large-scale applications, especially on Solaris. Most people who blindly post "GCC is better!" don't know the Oracle tools even exist.
Regarding device drivers, jlliagre's comment is quite relevant - it's quite possible to run into situations where a "native" compiler will work where a "foreign" one won't.
(Posting as an answer for emphasis)