Jump to content
ikravets

A console tool to build code with different development platforms

Recommended Posts

I'm currently working on cross platform build tool named PlatformIO. It has pre-built MSP430 GCC toolchain & mspdebug for Mac, Linux 32/64 & Windows OS.

 

1. How often do you use external standalone toolchain to build your code? In which case?

2. What is your favourite IDE+Toolchain?

3. What would you like to have in paltformio tool?

 

Thanks a lot for answers! 

 

P.S: The main idea of this tool is to compile code with different platforms. See Wiring Framework (Arduino + Energia) Blink Example.

 

console-result.png

Share this post


Link to post
Share on other sites

@@ikravets. Welcome to the forum!

 

 

I'm currently working on cross platform build tool named PlatformIO. It has pre-built MSP430 GCC toolchain & mspdebug for Mac, Linux 32/64 & Windows OS.
 
1. How often do you use external standalone toolchain to build your code? In which case?
2. What is your favourite IDE+Toolchain?
3. What would you like to have in paltformio tool?
 
Thanks a lot for answers! 
 
P.S: The main idea of this tool to compile code with different platforms. See Wiring Framework (Arduino + Energia) Blink Example.
 

 

1. How often do you use external standalone toolchain to build your code? In which case?
- I use a mix of CCS and gnu-gcc chains. 50/50
2. What is your favourite IDE+Toolchain?
- Custom eclipse with GCC. Now CCS supports gcc integration. I'm spoiled by IDEs.

Share this post


Link to post
Share on other sites

I mostly use gnu-gcc (Code sourcery) for Stellaris/Tiva and Atmel SAM.

Particularly when working on project that already has a build system (such as eLua).

 

So far I don't have a favorite IDE, I dislike most of the ones I have used recently about equally.

 

IDEs are nice when they work, but such a bother to get them set up, or I run into limitations.

 

CCS is okay when it works, but far too hard to find and tweak settings, or to get a project into or out of it.

Eclipse - again needs work on making setups just work.

(Easy things should be easy.)

 

Use Energia and Arduino some (mostly for testing libraries for those platforms, or working on code that built for them).

But they lack features (dubious whether really qualify as IDE).  Command line compiling for Energia, Arduino would be nice.

Share this post


Link to post
Share on other sites

1. How often do you use external standalone toolchain to build your code? In which case?

2. What is your favourite IDE+Toolchain?

3. What would you like to have in paltformio tool?

 

 

I've presently developed something similar for Xcode on Mac OS X, embedXcode.

 

The template supports the Arduino, chipKIT, Digispark, DFRobot, LauncgPad, LightBlue Bean, Microduino, Maple, Teensy and a Wiring platforms/boards.

 

Answering your questions:

 

1. Mainly GCC and all the tools-chains included in the Arduino-like IDEs for easy installation.

2. Xcode on Mac OS X and Visual Studio on Windows

3. All the modern features as code-sense, index, help, version control, debug, ...

Share this post


Link to post
Share on other sites

 

@@ikravets. Welcome to the forum!

 

 

1. How often do you use external standalone toolchain to build your code? In which case?
- I use a mix of CCS and gnu-gcc chains. 50/50
2. What is your favourite IDE+Toolchain?
- Custom eclipse with GCC. Now CCS supports gcc integration. I'm spoiled by IDEs.

 

@@bluehash, thanks for answers.

 

Of course, I understand that this idea isn't useful for professionals or people that work with a single project that was based on specific device. Because these people can configure and setup all instruments without problems.

As for me, I'm not big guru in embedded field because it's only my hobby. Sound funny, but I'm web-dev in the past and in the soul :)

 

As for PlatfromIO, this isn't commercial project or some type of ads. It was a small idea which was born from the SmartAnthill Project. PlatformIO will be useful for SACC (SmartAnthill Cloud Compiler). Where the same firmware code will be compiled to different platforms. But it is only my dream for now :)

 

On the whole, I can create separated topic about SmartAnthill and we can discuss it. Because I've been reading this forum for a long time  and I appreciate this community. 

 

P.S: Also, isn't good that "Tiva-C ARM Community" lives in the other place :) I don't want duplicate this subject.

Share this post


Link to post
Share on other sites

I mostly use gnu-gcc (Code sourcery) for Stellaris/Tiva and Atmel SAM.

Particularly when working on project that already has a build system (such as eLua).

 

So far I don't have a favorite IDE, I dislike most of the ones I have used recently about equally.

 

IDEs are nice when they work, but such a bother to get them set up, or I run into limitations.

 

CCS is okay when it works, but far too hard to find and tweak settings, or to get a project into or out of it.

Eclipse - again needs work on making setups just work.

(Easy things should be easy.)

 

Use Energia and Arduino some (mostly for testing libraries for those platforms, or working on code that built for them).

But they lack features (dubious whether really qualify as IDE).  Command line compiling for Energia, Arduino would be nice.

@@igor, it is similar for me. I also don't like huge monsters like Eclipse and etc., I prefer to work with VIM (with great compilation and syntax check). As a result, I have simple fake Makefile for the project (like this) and PlatformIO performs all the dirty job for me :)

 

Can you try PlatformIO? What is a type of your OS?

Share this post


Link to post
Share on other sites

I've presently developed something similar for Xcode on Mac OS X, embedXcode.

 

The template supports the Arduino, chipKIT, Digispark, DFRobot, LauncgPad, LightBlue Bean, Microduino, Maple, Teensy and a Wiring platforms/boards.

 

Answering your questions:

 

1. Mainly GCC and all the tools-chains included in the Arduino-like IDEs for easy installation.

2. Xcode on Mac OS X and Visual Studio on Windows

3. All the modern features as code-sense, index, help, version control, debug, ...

@@Rei Vilo, thanks for your job and project! I saw it earlier. It's a great example how to extend XCode   :rolleyes:

 

But... PlatformIO should be really _platform_ tool. It should work with different development platforms and with different operation systems. Also, it shouldn't depend on other soft and user shouldn't bother to install something(like, Arduino or Energia IDE, or gcc-arm-toolchain...). Only 4 magic commands in the terminal for starting:

# 1. install PlatformIO (see "Super-Quick" section in the README)
$ python get-platformio.py

# 2. install pre-built platforms for different OS
$ platformio install atmelavr timsp430 # and etc...

# 3. initialise empty project and put your code to "src" folder (also, setup your environments in "platformio.ini")
$ platformio init

# Process it 
$ platformio run

What is more, PlatformIO can be integrated to XCode or another IDE with minimal efforts.

 

P.S: What do you think about integration PlatformIO with embedXCode? Sounds stupidly, but we could merge our efforts to platform-independent build tool. Also we can allow many people to use all valuable multi-platform things on the different OS.

Share this post


Link to post
Share on other sites

There are many projects out there for modular editors, like Sublime Text, GitHub Atom, and the usual Vim et al.

 

How those modular editors can match with platfornio?

 

embedXcode relies on the prior installation of the IDEs

Share this post


Link to post
Share on other sites

There are many projects out there for modular editors, like Sublime Text, GitHub Atom, and the usual Vim et al.

 

How those modular editors can match with platfornio?

 

These editors will be used only for syntax highlighting, "live" code checking, step-by-step debugging, code completion. You have no need to setup builder, compiler... all this job PlatformIO will perform.  It has built-in source code builder which can automatically analyse dependency and reliably detect build changes. It doesn't indecent on any editors, IDE or even operations systems. Only on Python Interpreter.

 

Many of these editors support "make" type projects where you organise your hotkeys with predefined targets. In Sublime Text you can define direct build command like "platformio run". See http://sublimetext.info/docs/en/reference/build_systems.html

 

But the easiest way is to define "make" file which will work for Sublime Text, VIM, Eclipse IDe and etc. For example,

all: upload

build: 
	platformio run
upload: 
	platformio run -t upload
clean:
	platformio run -t clean

Here is more interesting example of integration Eclipse with Platformio: Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO. These steps are also valid for TI MSP430 / TIVA boards.

 

embedXcode relies on the prior installation of the IDEs

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...