1 2 Previous Next 20 Replies Latest reply on Nov 6, 2014 3:57 AM by mhahn

    Geez I hate to ask: Linux+Eclipse+Xtools

    xthunderheartx

      I have Googled for many days and read countless circular threads and honestly I still don't get it. I have what appears on the surface to be a simple goal:


      "Create an Eclipse based development environment which can be used to code, compile and debug c/c++ programs which will run on an Intel Galileo Gen2 board."

       

      Requirements:

       

      1) IDE and tools to run under some variant of Linux (preferably Ubuntu 14.04 but any will do)

      2) Executable to run under current Big Image kernel

       

      Options:

       

      1) Remote deploy/debug would be nice.

       

      What I don't need is Python or Java or Ruby on Rails or Debian or any of that.  Just plain K&R/Stroustrup.  Or even just some crippled form of K&R alone.

      Now I know this has surely been done.  I mean the Xtools would appear to be there in the Arduino package.  If I could install the Eclipse Plugin, it would seem like configuring it would be a matter of pointing to the tools where they live under Arduino.  But I can't seem to find the Plugin.  Maybe it is built via the Less-Than-Decipherable Yocto voodoo Cake-bake whatever that I really don't want to do because I don't need a custom kernel?

       

      I've used Intel products since the 8086/186 days.  I mean like assembly language and an ICE the size of a Buick.  The first Linux kernel I installed had a major version number of "0". The process was less than straightforward.  Point being I'm fairly bright guy with some relevant experience.  What am I missing?  If someone would kindly just point me in the right direction and I'll get myself there and write a Howto about it.

       

      Thanks,

       

      Dallas

       

      P.S. It isn't sarcasm, just my pathetic excuse for wit   Don't ask about the HP/UX-based gcc-6811 cross-development system WITH software emulation, RCS SCM all integrated through EMACS.  Yeah.  It can be done.  I don't remember why exactly, but it can be done.

        • 1. Re: Geez I hate to ask: Linux+Eclipse+Xtools
          Intel_Alvarado

          Hi xthunderheartx,

           

          Have you already looked this document Source Level Debug using OpenOCD/GDB/Eclipse on Intel® Quark™ SoC X1000 Application Note ? I think it might have some useful information.  Let me know if this helped you.   

           

          Regards

          Intel_Alvarado

          • 2. Re: Geez I hate to ask: Linux+Eclipse+Xtools
            xthunderheartx

            Thanx Alvarado, that does shed some light on the problem of debugging though it doesn't really address getting a cross-development environment up and running.

             

            Maybe it is just so simple that I'm overlooking it ...

            • 3. Re: Geez I hate to ask: Linux+Eclipse+Xtools
              zoopster

              A couple of things. Ubuntu isn't well suited for the galileo primarily since there isn't a true i386 version of it...Ubuntu for x86 is mostly i686 compiled. That is why debian works better on it, but there is still a "bug" in the galileo cpu instruction set that hoarks libpthreads so if you do setup debian on it you'll want to either get the fixed libpthreads.so or rebuild it otherwise you'll pick up some strange errors when you go to run or compile apps that rely on libpthreads (like ssh).

               

              As for tools - have to looked into the Intel IoTdevKit? Intel Makers: What Will You Make?

               

              I think it is supposed to have what you are looking for, but it's only for Yocto (bleh). I didn't bother with trying yocto myself...went straight to a debian build and aside from the libpthreads hack, all is well.

               

              JP

              • 4. Re: Geez I hate to ask: Linux+Eclipse+Xtools
                xthunderheartx

                Thanks for the reply JP.  I think what you are saying is that Ubuntu isn't suited to run on the Galileo target itself.  That I certainly understand and I'm down with that.  I have no need for the upper layers of a Linux distribution.  I need a bare bones app environment where I have access to the peripherals and gpio etc.  I don't need Apache or Python or ROR or even BASH for that matter.  The basic Linux image that Intel ships in the flash will almost certainly meet our needs.

                 

                What I do need is a cross development environment that compiles, links and locates for that embedded image.  Those tools should work under Unbuntu or Debian or Windows or OSX or any other operating system that can execute GCC/binutils.  More specifically if you can install the Arduino IDE and code/compile/execute a sketch under Unbuntu (which certainly works), then there is no reason why you can't do the same in c/c++ in Eclipse on that same workstation.

                 

                But the Devil is in the Details.  The detailed process for creating that environment is not obvious (@least2me) and a fairly extensive investigation reveals confusing/conflicting/incomplete/dated information.  I will figure it out of course, but I would rather spend my time building the application instead of fixing tools.

                • 5. Re: Geez I hate to ask: Linux+Eclipse+Xtools
                  zoopster

                  Ok I think I'm in sync with your line of thinking. You want an environment that you can run under a Linux desktop, create the apps you want to create, and have them "sent" to the Galileo running Yocto to run (or whereever you are compiling them to run). The problem you have is that the build environment you want will only run under either the Arudino IDE or on the Galileo itself.

                   

                  The IoT Dev Kit, really doesn't do much of anything that you've asked for...

                   

                  And yes...Ubuntu is built mainly as i686 built binaries and do not run properly in a i386 environment (on the galileo itself). Debian on the other hand works well in that regard.

                  • 6. Re: Geez I hate to ask: Linux+Eclipse+Xtools
                    xthunderheartx

                    Exactly.  I want to develop c/c++ apps on a PC running some Linux distribution (preferably Ubuntu) using Eclipse/Git, compile it, download it to a Galileo board, debug it, deploy it, get paid. Next.

                     

                    Now I know that the Arduino IDE contains the compiler and other utilities needed. Arduino Sketches are just c/c++.  They get compiled with gcc like any other and then sent to the target (using zmodem of all things).  So conceivably I could configure Eclipse to point to that toolset and at least be able to build an executable that is runnable on the target.  Doesn't solve the remote deployment or debug issue but would be a step forward.

                     

                    Dallas

                    • 7. Re: Geez I hate to ask: Linux+Eclipse+Xtools
                      xthunderheartx

                      Ok trying to build the kernel/tools using the 5/14 version of the Build Guide.  Get this error:

                       

                      NOTE: Resolving any missing task queue dependencies

                      NOTE: Preparing runqueue

                      NOTE: Executing SetScene Tasks

                      NOTE: Executing RunQueue Tasks

                      ERROR: Function failed: sysroot_stage_all (see /home/dallas/Development/BSP/meta-clanton_v1.0.0/yocto_build/tmp/work/i686-linux/quilt-native/0.60-r0/temp/log.do_populate_sysroot.28086 for further information)

                      ERROR: Logfile of failure stored in: /home/dallas/Development/BSP/meta-clanton_v1.0.0/yocto_build/tmp/work/i686-linux/quilt-native/0.60-r0/temp/log.do_populate_sysroot.28086

                      Log data follows:

                      | DEBUG: Executing python function sstate_task_prefunc

                      | DEBUG: Python function sstate_task_prefunc finished

                      | DEBUG: Executing python function do_populate_sysroot

                      | DEBUG: Executing shell function sysroot_stage_all

                      | tar: --same-order option cannot be used with -c

                      | Try 'tar --help' or 'tar --usage' for more information.

                      | tar: This does not look like a tar archive

                      | tar: Exiting with failure status due to previous errors

                      | DEBUG: Python function do_populate_sysroot finished

                      | ERROR: Function failed: sysroot_stage_all (see /home/dallas/Development/BSP/meta-clanton_v1.0.0/yocto_build/tmp/work/i686-linux/quilt-native/0.60-r0/temp/log.do_populate_sysroot.28086 for further information)

                      ERROR: Task 10 (/home/dallas/Development/BSP/meta-clanton_v1.0.0/poky/meta/recipes-devtools/quilt/quilt-native_0.60.bb, do_populate_sysroot) failed with exit code '1'

                      NOTE: Tasks Summary: Attempted 23 tasks of which 0 didn't need to be rerun and 1 failed.

                      No currently running tasks (23 of 63)

                       

                       

                      Summary: 1 task failed:

                        /home/dallas/Development/BSP/meta-clanton_v1.0.0/poky/meta/recipes-devtools/quilt/quilt-native_0.60.bb, do_populate_sysroot

                      Summary: There were 2 WARNING messages shown.

                      Summary: There was 1 ERROR message shown, returning a non-zero exit code.

                       

                      Any advice?  Building on Ubuntu 14.04 which apparently hasn't been tested.

                       

                      Thx,

                       

                      Dallas

                      • 8. Re: Geez I hate to ask: Linux+Eclipse+Xtools
                        mhahn

                        you might be interested trying the "IoT Developer Kit".

                        It comes with:

                         

                        - ready to go eglibc SD card image (including uclibc libs to allow Arduino sketches from Intel Arduino IDE running flawlessly)

                        - Eclipse integration (Windows, Linux, MAC)

                        - libmraa, upm (abstracting away GPIO details on native code [C/C++, Python, Node.JS])

                        - ipk repository

                        - ...

                         

                        https://software.intel.com/iot

                        https://software.intel.com/en-us/iot/getting-started

                        • 9. Re: Geez I hate to ask: Linux+Eclipse+Xtools
                          Intel_Alvarado

                          Hi

                          We are following up on your post Geez I hate to ask: Linux+Eclipse+Xtools and we would like to know if you still need help or if you already have an answer or solution to your question. Remember if someone replied to you with a helpful response you can mark it as correct or helpful answered. We will be waiting your response. Have a great day.
                          Regards,

                          Sergio

                          • 10. Re: Geez I hate to ask: Linux+Eclipse+Xtools
                            xthunderheartx

                            Yeah.  I do.  I'd really like a simple answer from Intel.  I mean I'm a real live developer trying my best to create a real live development environment to use in a real live project that will result in many real live units being sold.  What am I missing?  Once upon a time an intel rep would have shown up at my door with a case of single malt and a car load of hookers. Now I'm lucky if I get a "RTFM" outta you guys.

                            • 11. Re: Geez I hate to ask: Linux+Eclipse+Xtools
                              mhahn

                              post.user_wrote.label:

                               

                              Yeah.  I do.  I'd really like a simple answer from Intel.  I mean I'm a real live developer trying my best to create a real live development environment to use in a real live project that will result in many real live units being sold.  What am I missing?  Once upon a time an intel rep would have shown up at my door with a case of single malt and a car load of hookers. Now I'm lucky if I get a "RTFM" outta you guys.

                              simple answer:

                              the Intel(R) IoT developer kit already offers all you are asking for:

                              https://software.intel.com/iot

                              https://software.intel.com/en-us/iot/getting-started

                              It will work for Intel(R) Galileo Gen1, Gen2 [with the IoT devkit image] and the Intel(R) Edison Arduino board.

                              • 12. Re: Geez I hate to ask: Linux+Eclipse+Xtools
                                zoopster

                                One would expect that to be the answer, but it's not. The question is asking for a bit more than what Intel is able to offer.

                                • 13. Re: Geez I hate to ask: Linux+Eclipse+Xtools
                                  mhahn

                                  Looking forward for constructive feature requests to the Intel(R) IoT developer kit SW and concrete descriptions on what is missing for your needs.

                                  • 14. Re: Geez I hate to ask: Linux+Eclipse+Xtools
                                    xthunderheartx

                                    Well allow me to retort.  First off mhahn, when you originally posted the links to the IoT Devkit ... IT DIDN"T WORK.  Yeah, the page loaded but the only version of the kit it would let me download was for Windows.  I haven't had a windows machine in my lab for 20 years.  Sorry but my wife won't let me do a bunch of techno-gangster mumbo-jumbo on her laptop which is the only machine within probably 10 miles of Prospect Hill, NC with any variant of Windows installed.  So that was pretty much out.  Since your links were about the 10th Rabbit Hole I had been down that week trying to get an environment working, I quickly moved on.

                                     

                                    Now back to yesterday.  My boss, longtime friend and mentor, following instructions from this site bricked his board.  Now I've convinced him that Galileo is an incredible platform (and it is) for his project.  That combined with my problems getting a set of tools that would work obviously doesn't engender a whole lot of confidence in the man, his 40 year love affair with all things Intel not withstanding.

                                     

                                    Now I don't mean to be nasty but dood we just want an answer.  Ok so you provided one.  Again.  This time I was able to download the IoTDevkit for Linux. Cool.  And it almost works even.  Of course nothing says "Oh by the way, the old 1.0.0 'Big Image' won't work with the toolkit, you actually need to get the image we built for it".  I figured that one out for myself.  Now I can build, transfer and even execute programs from Eclipse to/on my target.  Awesome.  Sadly though it's still broken:

                                     

                                    dallas@Amelia:~/iotdk-ide-linux$ ./devkit-x86/sysroots/x86_64-pokysdk-linux/usr/bin/i586-poky-linux/i586-poky-linux-gdb --version

                                    Traceback (most recent call last):

                                      File "/home/dallas/iotdk-ide-linux/devkit-x86/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/site.py", line 569, in <module>

                                        main()

                                      File "/home/dallas/iotdk-ide-linux/devkit-x86/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/site.py", line 551, in main

                                        known_paths = addusersitepackages(known_paths)

                                      File "/home/dallas/iotdk-ide-linux/devkit-x86/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/site.py", line 278, in addusersitepackages

                                        user_site = getusersitepackages()

                                      File "/home/dallas/iotdk-ide-linux/devkit-x86/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/site.py", line 253, in getusersitepackages

                                        user_base = getuserbase() # this will also set USER_BASE

                                      File "/home/dallas/iotdk-ide-linux/devkit-x86/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/site.py", line 243, in getuserbase

                                        USER_BASE = get_config_var('userbase')

                                      File "/home/dallas/iotdk-ide-linux/devkit-x86/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/sysconfig.py", line 524, in get_config_var

                                        return get_config_vars().get(name)

                                      File "/home/dallas/iotdk-ide-linux/devkit-x86/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/sysconfig.py", line 423, in get_config_vars

                                        _init_posix(_CONFIG_VARS)

                                      File "/home/dallas/iotdk-ide-linux/devkit-x86/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/sysconfig.py", line 302, in _init_posix

                                        raise IOError(msg)

                                    IOError: invalid Python installation: unable to open /home/dallas/iotdk-ide-linux/devkit-x86/sysroots/x86_64-pokysdk-linux/usr/include/python2.7/pyconfig.h (No such file or directory)

                                     

                                    That is because there IS NO /home/dallas/iotdk-ide-linux/devkit-x86/sysroots/x86_64-pokysdk-linux/usr/include!  Before you get all excited and say "Why were you executing gdb --version from the console?", it is because I couldn't copy the error output from eclipse to the clipboard and I didn't want to mess with a screenshot.  But this is the identical error traceback.

                                     

                                    So you want a constructive feature request?  Ok:

                                     

                                    1) Please provide an IDE that works.  Like all of it. Not just part of it.

                                    2) Please provide a comprehensive Howto for installing said IDE on Linux/Windows/OSx. I personally would settle for Linux

                                     

                                    Want me to tell you whats missing from the kit that causes it not to meet my needs?

                                     

                                    1) iotdk-ide-linux/devkit-x86/sysroots/x86_64-pokysdk-linux/usr/include/python2.7/pyconfig.h apparently.

                                     

                                    I just want something that works.  I don't want to futz with it all day (week/month/year) long.  I (we) have applications to write, we don't care about the tools.  Once upon a time Intel provided those things  It was part of the program.  It just worked.  If it didn't, somebody from Intel would help you figure out why.

                                     

                                    Honestly is that too much to ask?

                                    1 2 Previous Next