0

Since the Yocto Linux distribution can run on both machines, I'm assuming it would have no trouble compiling and using any language, which ordinary developers with a Linux system would use. Am I right in making this assumption?

It says, on the Intel page, that compatible languages are:

C/C++, Python, Node.js, HTML5, JavaScript

Shouldn't these languages be compatible on a Linux system? Just install the compiler on Linux and you should be fine, no?

The only explanation that comes to mind is that these languages have libraries specifically written to interact with Arduino hardware.

If this is the case, which languages are strongest in terms of resources, libraries, compatibility, etc.?

Also, please, correct me if I said anything marginally wrong. Thanks for any help, hugely appreciated.

Gnqz
  • 3,292
  • 3
  • 25
  • 35
Greg Peckory
  • 7,700
  • 21
  • 67
  • 114
  • You may need to install some cross-compiler. Then anything which could be cross-built can be used. – Basile Starynkevitch Feb 16 '16 at 09:39
  • I see, and at the moment the 5 languages above are the only languages that don't require cross-compilation, right? And do cross-compilers exist for such hardware. Also Intel Atom CPU is available on many laptops, I'm sure most languages can compile to the appropriate machine code, no? – Greg Peckory Feb 16 '16 at 09:54
  • If the target system is the same as the host system, you don't need to cross-compile. – Basile Starynkevitch Feb 16 '16 at 09:55
  • Assuming I had linux installed on the target machine, and I was doing all my development on the target machine, then could I use **any** language without the need for cross-compilation? And if I was developing on a different host machine, does a cross-compiler exist for all languages? Thanks a lot for all the help! – Greg Peckory Feb 16 '16 at 10:04
  • Perhaps improve your question to mention which OS & architecture have you on your laptop and on your Arduino – Basile Starynkevitch Feb 16 '16 at 10:20
  • Well it was more of a general question... I'm mainly concerned with whether I can install Yocto linux on the Arduino, and develop using the Arduino as the host machine? Therefore I wouldn't have to worry about cross-compilation. In that case, can I use any language as long as I install the compiler in Yocto (just like in Ubuntu or any other linux distort)? Apologies ion my Q was phrased badly. – Greg Peckory Feb 16 '16 at 11:03
  • Basically, what's stopping me from using any arbitrary language for developing if I'm using the host machine (Arduino - Yocto) with no need for cross compilation – Greg Peckory Feb 16 '16 at 11:06
  • BTW, the intel page is for managers. And you (and me too) are a geek. So just try to cross-compile code for the target platform. Nobody will forbid you to do that (but it might not always be easy) – Basile Starynkevitch Feb 16 '16 at 11:18
  • Cool, that makes sense. So basically the languages mentioned by Intel are approved languages with specific libraries for interacting with the expansion boards, etc. But other languages can be used when cross-compiled. But those other languages can't be compiled by default on the Yocto linux distro? – Greg Peckory Feb 16 '16 at 11:34
  • Let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/103599/discussion-between-basile-starynkevitch-and-greg-peckory). – Basile Starynkevitch Feb 16 '16 at 11:35

1 Answers1

0

I believe you are referring to the documentation for IoT Developer Kit. The IoT devkit is solution comprised of various hardware and software options to create IoT projects using Intel's maker boards such as Intel Edison and Intel Galileo. It includes a set of I/O and Sensor libraries specifically libmraa and upm currently available for C/C++, Python and JavaScript.

Libmraa provides APIs to interface with the I/O on board. With board detection done at runtime, you can create portable code that works across multiple platforms.

UPM is more of a high-level repository of sensors that uses mraa. You can find code samples for various sensors currently supported which helps in speeding up the development time.

Recently Java is also added to the list of supported languages, you can find samples in the repository.

nraghuk
  • 156
  • 5