Simple IDE Linux Question
linuxbikerider
Posts: 7
I have SimpleIDE installed and working under Windows. I'm having trouble with Linux. First thing I had to do was to export LD_LIBRARY_PATH to the directory where Simple_IDE was installed to. Next thing I had to do was to run the IDE as root.
Under Linux the board is set up as /dev/ttyUSB0, which I chose based upon the output from the terminal dmesg command
Now when I compile a simple program ("Welcome.c") it obviously interacts with the board, as there are lights flashing on the propeller board and the compiler message indicates that bytes are sent to the board. It fails with the message saying, "load failed. timeout error". I went under the menu tools/properties/general and increased the loader delay. First I tried 2. Same error. Next I tried 10. Still get the error.
Does anybody have some hints on how the problem might get fixed? Also, is this the right forum to post the question, or is there a bug tracker that I should be using?
Thanks
Under Linux the board is set up as /dev/ttyUSB0, which I chose based upon the output from the terminal dmesg command
Now when I compile a simple program ("Welcome.c") it obviously interacts with the board, as there are lights flashing on the propeller board and the compiler message indicates that bytes are sent to the board. It fails with the message saying, "load failed. timeout error". I went under the menu tools/properties/general and increased the loader delay. First I tried 2. Same error. Next I tried 10. Still get the error.
Does anybody have some hints on how the problem might get fixed? Also, is this the right forum to post the question, or is there a bug tracker that I should be using?
Thanks
Comments
Have you tried using the propeller-load command by itself (from the terminal)?
This doesn't seem like the solution, but have you added your user to the "dialout" group? If you haven't that you might not be able to access the USB.
Sorry you're having trouble.
Just FYI, Parallax removed the little script that makes SimpleIDE easier to use on Linux because of security concerns. They have promised an acceptable Parallax solution in the very near future.
Meanwhile, I see you've gotten past those issues and seem to be having a loader timeout problem.
Please answer these two questions:
1) Can you please describe your Propeller hardware?
2) What kind of Linux box and OS are you using?
Thanks,
--Steve
1. It's a Parallax Propeller quickstart board, connected to the computer with a USB cable.
2. I'm running on a Toshiba L505D laptop with the latest version of Xubuntu -- downloaded it on Sat 9/14
I'll try the propeller-load command and adding user to the 'dialout' group, although in my case since I'm running as root I'll add root to the dialout group.
Thanks for your suggestions.
Please set the load delay back to 0.
When you get the timeout with SimpleIDE, can you please Right-Click in the Build Status,
click Select All, then copy and paste to a post here?
When you get the timeout with SimpleIDE, does it happen when using all program methods?
I.E. F8 Run with Terminal, F10 Load RAM & Run, and F11 Load EEPROM & Run (shown below).
Have you tried using the propeller-load command by itself (from the terminal)? I did. Error message: error writing port, load failed
This doesn't seem like the solution, but have you added your user to the "dialout" group? If you haven't that you might not be able to access the USB.
I issued this command, both for me as user and for root. Both times I get the message adduser: The group 'dialout' already exists. However, at least once when I did this, I no longer get the 'load failed' error, but the system just hangs and doesn't do anything.
When you get the timeout with SimpleIDE, can you please Right-Click in the Build Status,
click Select All, then copy and paste to a post here? See the text below:
Project Directory:/home/jay/Documents/SimpleIDE/My Projects/
propeller-elf-gcc -v GCC 4.6.1(propellergcc_v1_0_0_2090)
propeller-elf-gcc -I . -L . -I/home/jay/simpleide/Learn/Simple Libraries/Utility/libsimpletools -L/home/jay/simpleide/Learn/SimpleLibraries/Utility/libsimpletools/cmm/ -I/home/jay/simpleide/Learn/Simple Libraries/Text Devices/libsimpletext-L /home/jay/simpleide/Learn/Simple Libraries/TextDevices/libsimpletext/cmm/ -I /home/jay/simpleide/Learn/SimpleLibraries/Protocol/libsimplei2c -L /home/jay/simpleide/Learn/SimpleLibraries/Protocol/libsimplei2c/cmm/ -o cmm/Welcome.elf -Os -mcmm-m32bit-doubles -fno-exceptions -std=c99 Welcome.c -lm -lsimpletools-lsimpletext -lsimplei2c -lm -lsimpletools -lsimpletext -lm-lsimpletools -lm
propeller-load -s cmm/Welcome.elf
propeller-elf-objdump -hcmm/Welcome.elf
Done. Build Succeeded!
propeller-load -Dreset=dtr -I/home/jay/SimpleIDE-0-9-40/parallax/propeller-load/ -b ACTIVITYBOARDcmm/Welcome.elf -r -p /dev/ttyUSB0Propeller Version 1 on /dev/ttyUSB0
Loading cmm/Welcome.elf to hub memory
6588 bytes sent
Verifying RAM ...
Timeout Error!
error: load failed
error: load failed
When you get the timeout with SimpleIDE, does it happen when using all program methods? Yes
There is a test you can do first though.
The SimpleIDE package comes with a program called bstc.
It is /opt/parallax/bin/bstc ... if you don't mind a little command-line work ....
Spaces in the blink.spin file are very important.
If this loads and blinks all 8 of the blue Quickstart LEDs, then we can try something more complicated.
If it does not work, definitely exchange the Quickstart board.
sudo ./bstc.linux -d /dev/ttyUSB0 -p0 blink.spin
I got the following messages back:
Compiled 5 lines of code in 0.001 seconds
We found a Propeller Version 1
Ram Verify Timeout
Propeller Load took 5.712 seconds.
no blinking lights observed on the quickstart board
So the problem could be hardware. I have another propeller quickstart board that I will try this out with. I am puzzled because both of my quickstart boards work fine under Microsoft Windows. Why should they fail under Linux? My second board is deployed right now so it will take a few days to verify it against this code.
I've never seen Windows work and Linux not work (except for under a VM for a certain board).
Is it possible your USB port power is weak or noisy?
propeller-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory
I'm guessing that Simple IDE is looking for the cc1 executable located under SimpleIDE-0-9-40/parallax/libexec/gcc/propeller-elf/4.6.1. There is a cc1 file in this location, don't know why it isn't being found. Got any ideas? Thanks
I have not tested the package that Parallax re-posted. I assumed a few things including "that some instructions would be added for the solution that was tested"; I don't see anything though.
The Linux package has been removed for the time being until we have a working and documented solution that is acceptable to Parallax (and me).
Meanwhile ....
Not sure why that isn't working. We have done all of our testing with the parallax folder in /opt/parallax ...
You should try moving the parallax folder assuming /opt exists
$ sudo mv SimpleIDE-0-9-40/parallax /opt
I recommend shutting down simpleide, then removing ~/.config/ParallaxInc
SimpleIDE first startup depends on files being in /opt/parallax in Linux/Mac
Remove or rename ~/Documents/SimpleIDE if it exists.
Then restart SimpleIDE, but first ...
You must set LD_LIBRARY_PATH to include the SimpleIDE-0-9-40/bin folder before running SimpleIDE.
I noticed there is a template.sh file in SimpleIDE-0-9-40/bin ... you can use that (rename, etc...) to start SimpleIDE.
— David Carrier
Parallax Inc.
because the permissions were wrong. There was nothing else in that dir aside from the parallax subdirectory, so I presume it was created by the SimpleIDE installation.
The incorrect permissions caused the initial "Select folders..." dialog to have several wrong paths that I had to correct.