SimpIeIDE for Debian (x86) and Raspbian (Raspberry Pi)
Heater.
Posts: 21,230
As far as I can tell there are no "official" package download of SimpleIDE for Linux that actually work. In fact I cannot see a way to install the 0.9.40 release on http://learn.parallax.com/propeller-c-set-simpleide/linux and others have been equally stumped. Many Linux users will be happy to compile things for themselves form sources in the repositories others are not so confident.
So, by popular demand and with a nod of "OK" from Parallax let's get to the point:
SimpleIDE for the Raspberrey Pi (Raspbian):
https://dl.dropboxusercontent.com/u/81267937/SimpleIDE-0-9-43.armv6l.raspberrypi-linux.tar.bz2
SimpleIDE for Debian x86 32 bit:
https://dl.dropboxusercontent.com/u/81267937/SimpleIDE-0-9-43.i686.rsm-51-linux.tar.bz2
SimpleIDE for Debian x86 64 bit:
https://dl.dropboxusercontent.com/u/81267937/SimpleIDE-0-9-43.x86_64.zicog-linux.tar.bz2
These are compiled from the latest sources of propgcc and SimpleIDE on google code.
Supports compiling C for Propeller II.
Supports Spin development (not on Raspian)
Personally I'm most interested in seeing if anyone has any luck with the Raspbian build for the Raspberry Pi.
WARNING:
These are compiled by me from cutting edge sources. They are not supported by Parallax and should be regarded as EXPERIMENTAL.
I have only given them minimal testing to see if they run and compile stuff.
Again, Parallax cannot help you. I can try to answer any questions that come up though.
I will be testing these over the next few days, input from others is welcome.
P.S. I hope I'm not making myself too unpopular with Jazzed or Parallax by posting these but propgcc and SimpleIDE are too good to be languishing.
So, by popular demand and with a nod of "OK" from Parallax let's get to the point:
SimpleIDE for the Raspberrey Pi (Raspbian):
https://dl.dropboxusercontent.com/u/81267937/SimpleIDE-0-9-43.armv6l.raspberrypi-linux.tar.bz2
SimpleIDE for Debian x86 32 bit:
https://dl.dropboxusercontent.com/u/81267937/SimpleIDE-0-9-43.i686.rsm-51-linux.tar.bz2
SimpleIDE for Debian x86 64 bit:
https://dl.dropboxusercontent.com/u/81267937/SimpleIDE-0-9-43.x86_64.zicog-linux.tar.bz2
These are compiled from the latest sources of propgcc and SimpleIDE on google code.
Supports compiling C for Propeller II.
Supports Spin development (not on Raspian)
Personally I'm most interested in seeing if anyone has any luck with the Raspbian build for the Raspberry Pi.
WARNING:
These are compiled by me from cutting edge sources. They are not supported by Parallax and should be regarded as EXPERIMENTAL.
I have only given them minimal testing to see if they run and compile stuff.
Again, Parallax cannot help you. I can try to answer any questions that come up though.
I will be testing these over the next few days, input from others is welcome.
P.S. I hope I'm not making myself too unpopular with Jazzed or Parallax by posting these but propgcc and SimpleIDE are too good to be languishing.
Comments
So anyway, from one of us out here in the scary world of Linux, THANKS for thinking of us. I'll give it a try later this week.
Thing is on the Learn Parallax download pages there are now versions 0.9.43 for Windows and Mac. But only a 0.9.40 for Linux. As far as I and others can tell the Linux package is not installable and there are no instructions anyway. Why it talks about having to install FTDI drivers I have no idea, I have never had to.
No idea if those releases are supposed to work for both C and Spin.
It's all a bit of a mystery as to what is going on.
The package is off the SimpleIDE downloads list until we can present something acceptable.
This is a 'for what it is worth' posting.
I don't have the Raspberry Pi, but I have a more sophisticated cousin.. the Cubieboard.
What I found when I went to use the provided tool chains to compile in Linux were that all the proprietary SOC support only worked properly if I compiled on a 64 bit Intel machine in a 64 bit Ubuntu Linux setup.
I tried 32bit Linux, but without luck. In seems that the cross-compilers for my hardware ignored developing a complete 32bit Linux solution. (too busy?)
My situation is that I happen to have 64bit Quad machine, but I generally use it with a 32bit Linux due to more available software. SO I installed a copy of Ubuntu 12.04 64 on a USB Seagate hard drive just to be available to do 64 bit compiles. I boot from that for building a Linux system.
My guess is that the developers of the tool chain saw no reason to bother with the slower 32bit for building a Linux Kernel, so it was initially ignored. And since some of the tool chain binaries are proprietary, the user community has no opportunity to develop the 32 bit tool chain in Linux.
My Debian 64 bit installation will run 32 bit binaries. I would have thought Ubuntu could do the same as it is a derivative of Debian.
I can't be sure as I try to stay as far away from Ubuntu as possible. It has given so much trouble in years passed. They seem to like to take Debian and break it.
Which tool chain binaries are you referring to? I could try them out here. I thought the Cubie was an open platform. I found some downloads for flashing the board but they were offered in both 32 and 64 bit for Linux.
If it has means of getting Debian up on it I might think about getting one. It sounds great.
My approach for creating code for these ARM boards is to develop the code on my PC. When it's in running condition and tested I compile on the ARM board. Takes a lot longer but I don't have to do it very often.
I see the heading is mainly for x86 builds, not alway Raspberry Pi or the Cubbieboard. So my positng doesn't really apply to all. The proprietary items are related to processor that the Raspberry Pi and the Cubbieboard use. I needed to cross-compile a loader software app that had only a complete toolchain in 64 bit Linux.
I suspect that building in Debian and for an x86 is straight forward and doesn't involve having to use a 64 bit machine to compile.
Forgive the distraction.
Yes. Building propgcc and SimpleIDE for x86 Linux has always been very easy. Just unpack the packages and run the build script. So much so it would be easier if Parallax just put up the instructions to do that and didn't bother with a binary package.
Building for the Pi get's a bit tricky. Mostly because the propeller loader uses BST to build some PASM code that gets run on the Prop. There is no BST for ARM so you have to get those .binary and .dat files out of the PC build.
Build on ARM takes ages, over 20 hours, but setting up a cross compile environment is something that has always taken me an excessive amount of time and effort to figure out and half the time ends up never working.
20 hours to cross-compile to ARM! I really haven't gotten back into working with my Cubieboard once I got it to book Android and Linux, but that does seem to explain why I had to use a 64 bit version of Linux. I guess having the Quad computer helped as well.
Cross-compiling is one of the most challenging aspects of using Linux on ARM and other small SOC chips. But I actually found it pretty easy with the Cubieboard once I gave up trying to do it in a 32 bit version.
I must confess that I have ignored the possiblity of compiling Simple IDE to Linux and have been waiting for the binaries to get sorted out. I seem to have a lot to do in bst and with PASM at this point.
I am trying to do it all in Propellers with Forth... seems to be progressing nicely.
+++++
I did just try to download a SimpleIDE 8.x binary at the Google site, but no luck and cannot seem to acquire the source code either.... moving on.
I decided to go over to the Parallax GCC forum and Parallax has a compiled download of SimpleIDE. No source code, but this seems to be a working copy in 32bit.
I will see it I can install and use on Linux Mint 15.
That 20 odd hours was no cross-compile. That was the Rasperry Pi compiling propgcc for itself. Althogh the resuling propgcc is a cross compiler, runs on the Pi generates code for the Prop. Confusing isn't it?
Yes, I always find getting cross compilers to work a hit and miss affair. Mostly I only have success if someone provides it ready made:) I have to say that propgcc, a cross compiler, builds and works very easily.
Not sure what you are trying to down load there 0-8-x of SimpleIDE is very old now.
The 0-9-40 version for Linux is broken and won't install from http://learn.parallax.com/propellerc
That is why I have posted working linux builds of SimpleIDE for Linux (32 and 64 bit) in the opening post in this thread.
Those builds also work for Spin and PASM and use BSTC to do the building. So all your Forth work should work with them as well as in BST.
Cool hey?
Well, I tried to load the 9.4 this evening. I even located all the dependencies in Synaptic.
But it balks at locating one of the .so files in the same directory.
This might merely be a matter of changing user/group ownership for the unzipped files... and nothing more.
In sum, 9.4 may not be broken. It could just be that the installation page is not mentioning all the details that have to be tweaked. I will try a bit more.
But I hate wasting hours on tool chains and dependencies and group rights. These items should be more clearly called out if anyone expects a noob to install in Linux.
All the items that I did select and install as dependencies did seem to be appropriate, but none had the exact same name as what the Parallax site mentions. For instance, the ctags item had a very long prefix, several others had numbers suffixed to them. So I am unsure if there might be version conflicts.
Jazzed post above implies to me that the 0-9-40 from Parallax is not worth bothering with.
Why not just grap the builds form the links in the first post and have something that works?
In both case's I tried the whack-a-mole demo- it complied and uploaded to my quick start board with no problems, but the program would not run. I used the default settings on both arm boards. The next test will be using the whack-a-mole spin code since I know that code works, once I find it.
-dan
Did you try the simplest "hello" demo to check that anything works at all?
And thanks for posting SimpleIDE 0.9.43
-dan
I met with David and Jeff at Parallax Friday. We have formulated a good intermediate plan for x86 Debian Linux support, and we will be implementing it this week. There are other plans for final platform packaging. There was also some confusion over what my package scripts actually did - that seems to be resolved.
Once we have the intermediate packaging setup completed, I'll post another binary.
I'll keep you up-to-date.
Aside ... was there a Spin Quickstart Whack-a-mole program? I'd like to try it.
Have you thought about modifying the source to use a different PASM assembler, something that might be easier to port to the ARM? I have yet to look at SimpleIDE so I am not sure how well that would work. Though possibly with the addition of OpenSpin.
And a project like that could give you an excuse to see how much faster you can get a large project to compile on the Raspberry Pi.
Or if you are programming in Spin/PASM it there is Open Source Spin (OpenSpin) compiler by Roy Eltham.
Neither of these need porting as such as they just compile for the Pi and work without modification.
Does OpenSpin work with SimpleIDE? Can't remember. If not I'm sure it will soon as BST is being phased out.
Just now I'm building propgcc again but a bit differently:
1) Doing it on my SD card rather than over an NFS share.
2) Over clocked the Pi to 950MHZ "High Speed".
The 1GHz "Turbo" setting booted but everything crashed after a few seconds of running the propgcc build.
Next time you may try setting it to strict 1GHz, that is not using the speed modes, by modifying your config.txt with: These settings are a bit safer than the Turbo mode, as the higher SDRAM speeds often cause trouble. Though I will warn that setting force_turbo and over_voltage does void the warrenty of the Raspberry Pi. Otherwise that should work. Also note that I am keeping the core clock at the default 250MHz, you can bump that up a bit, though I do not think that it will have a significant difference on the compile time. There are a few other possible tweeks, though not knowing the enviromental conditions where your RPi is running I do not how safe they are. For example disable_pvt would make a small speed up.
That's going to be great. Looking forward to it here.
@David,
That looks like a good set of overclocking options. I might give it a go. Not sure it's worth worry about a 5% gain in execute speed though. I'm very sure most of the time used in prop-gcc build is spent on SD card access.
Previously I used an NFS share because I did not trust the SD to not flake out as they have done so often on me. My new Transcend Class 10 8GB cards seem to hold up well though and I believe it's quicker to read/write to them than it is to a share over the network.
We'll see. It's still running...
Firstly the bottleneck of the SD Card, use a faster USB Thumb drive or USB Hard Drive for your source, build, target, and temp drive. This will make a huge difference for that part.
then in the Config.txt:
The core_freq bump helps, I presume due to the L2 Cache.
The reduction in gpu_mem actually helped. I have no clue why.
I think that the rest of the settings are self explanatory.
And you should be able to cut the time by about 30 percent from the first times you mentioned, maybe more since the original is from a network share. That is to say that it should only take you about 14 to 15 hours.
I just want to see more on the RPi for the Propeller, so attempting to help reduce the compile times.
The Pi crashed after six hours of building. Rebooted OK. No clue what happened.
I have to call it quits for the day.
What SDRAM does your Raspberry Pi have? If it is the Hynix chip that may be the issue, there are reports about trouble overclocking that SDRAM, though only some of the early boards have it. If your board uses the Hynix RAM you may want to keep sdram_freq=400.
I think I'm going to try out your suggestion of working in a USB drive. I have had so many issues with SD cards no matter what device I use them in.
Yeah, I have a 1TB USB drive that I use for all but the SD card boot-up. Doesn't make for a portable Raspberry Pi, but is a fine work-horse Linux box for my purposes. That one is the 512MB version. My 256MB version is hooked-up to my TV for entertainment stuff...
I think I found everything I needed to set my USB-based config on the Raspberry Pi forums.
Best of luck!
dgately