Propeller and Operating System
Jeff Martin
Posts: 760
Hi,
There are many questions floating around regarding the Propeller Tool software, compiler and operating systems.· This post is meant to tell you our plans regarding this.
The Propeller Tool is designed specifically for Windows 2K and later.· It relies heavily on a number of operating system-level APIs to achieve many of the demanding goals we had for the software.· The Propeller Compiler itself is written in 32-bit assembly language for speed in execution and development (as we are very familiar with Intel x86 assembly).
We realized early on that to·develop this software for multiple platforms from the start would be nice, but would have delayed the release of the Propeller product line significantly.· Since many of the features of the software were instrumental in aiding final touches of the hardware itself, we chose to focus on Windows-based software in order to get it done more quickly and release the product to our customers earlier.
Like with the BASIC Stamp, however, we do intend to develop and provide a Propeller Compiler library that third parties may use to compile Propeller applications on Macs and Linux operating systems.· The timeline for this has not been set at this point, but we will likely be working on this solution the latter half of this year.
Thank you.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin
· Sr. Software Engineer
· Parallax, Inc.
There are many questions floating around regarding the Propeller Tool software, compiler and operating systems.· This post is meant to tell you our plans regarding this.
The Propeller Tool is designed specifically for Windows 2K and later.· It relies heavily on a number of operating system-level APIs to achieve many of the demanding goals we had for the software.· The Propeller Compiler itself is written in 32-bit assembly language for speed in execution and development (as we are very familiar with Intel x86 assembly).
We realized early on that to·develop this software for multiple platforms from the start would be nice, but would have delayed the release of the Propeller product line significantly.· Since many of the features of the software were instrumental in aiding final touches of the hardware itself, we chose to focus on Windows-based software in order to get it done more quickly and release the product to our customers earlier.
Like with the BASIC Stamp, however, we do intend to develop and provide a Propeller Compiler library that third parties may use to compile Propeller applications on Macs and Linux operating systems.· The timeline for this has not been set at this point, but we will likely be working on this solution the latter half of this year.
Thank you.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin
· Sr. Software Engineer
· Parallax, Inc.
Comments
Especially not for Windows, which has very mature and usable compilers.
You folks must be even more old-timey than I am.
Well, more power to you.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
1+1=10
·· One little titbit of info here, I use a 64bit computer now and the IDE works fine on it,just so you know(grin),BUT missing from the USB drivers is the 64bit one,one has to have it when using the 32bit emulator on 64bit computers,I found it on the USB chip site,both versions..DLL and Com port.
my Pchip·arrived in the mail the other day!
Cheers· Dennis
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://people.delphiforums.com/cocokiwi/Image/picture.jpg
where can I find it?
EdKirk
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Mike
I have it now. I will now download Dave beginners examples.
Edkirk
EdK@wi.rr.com
Five years after my initial request, I still don't have good support for the BASIC Stamps on FreeBSD, only third-party reverse-engineered solutions. I finally got Mac support when you deigned to release a tokenizer, but even that doesn't appear to be OSS -- so porting it to e.g. my embedded ARM Linux system for field programming? Riiiiight.
I hope this Propeller Compiler library will be open-source, or that you'll at least document the system well enough for us to write a library without reverse-engineering. Hiding from your customers doesn't get you anything, it just causes us to look elsewhere (at micros with good gcc backends, for example).
(Yes, I'm sure I'll get some sort of semantically-null "amazing proprietary trade secrets would be revealed if we told you how to talk to the chip" nonsense in response. But I wanted to speak up.)
http://www.parallax.com/propeller/index.asp
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Just tossing my two bits worth into the bit bucket
KK
·
Oh? I can't seem to find the line protocol for programming, the format for the binaries, the SPIN pcode encoding, the SPIN memory layout, or even the machine instruction format.
Honestly, I'm not all that worried about SPIN; just enough to support assembly would suffice. (Though I gather a snippet of generated SPIN code is required to bootstrap assembly.)
If you can point me toward the docs you're referring to (rather than the main Propeller page), I'd appreciate it.
as a Linux snob I have to agree that having to use windows is a major turn down. In fact that is one of the reasons I switched to using Atmel AVRs, which work nicely with gcc and uisp, from Microchip PICs. It would be nice if the tools to use the propellers from linux were available. No fancy GUIs are needed, really -- and to me actually inconvenient. A command line app to assemble propeller code and another to load this code into the propeller itself would be all I needed.
Working on it.
I have been using FreeBSD exclusively on my home computers since version 4. (This is quite a while, considering I was just starting high school then.) I have recently been playing around with WINE, and have had great success. The most recent version of the BASIC Stamp software works perfectly with it, along with version 3.0 of the SX-Key software. Initially I tried the Propeller software, but with no success. I recently bought a new laptop, and I decided to dedicate a small, 4GB, (that’s small?!) partition to Windows XP. This is the first time I have had Windows XP installed on a machine that I own and, having given tech support to my family for years, I figured I might as well have a copy of it available. (Besides, I couldn’t get a laptop without it anyway.)
I made sure to use a FAT32 partition, so that I could read from, and write to, it from FreeBSD. (Microsoft’s NTFS patent prevents anyone else from legally writing to the filesystem.) I placed a symbolic link from ~/.wine/drive_c to my Windows partition, then I tried launching the Propeller tool, and it worked perfectly! (See attached image.)
The reason that it did not work initially was a problem with, or a lack of, the DLL that supports the Parallax font. When I get some time I’ll poke around with WINE and see if I can figure out which DLLs are needed so that someone can run the Propeller tool in Unix/Linux without needing Windows installed at all.
I do not have a serial port on my new laptop, (and my desktop is only half put together,) so I have not been able to try to program with any of the editors, but they can all compile/assemble in WINE.
I do not have a newer Macintosh, but I have heard that WINE is being ported to the Intel powered Macs. Even without an Intel Mac, an emulator like bochs would allow any of these programs to run on any computer.
I hope this helps,
David Carrier
v4 was about when I initially contacted Parallax and was summarily blown off. (I was a FreeBSD kernel dev in a past life. I have to admit that I've switched to Mac since then.)
Wine is not a solution for me, for a number of reasons.
1. It gets you really poorly integrated apps that feel like Windows, which is really confusing to those of us who have never really used the OS.
2. It works only on x86.
3. It still leaves me stuck in a proprietary IDE. (Some of us actually *like* being able to work in vi or Eclipse and build with make or ant.)
But, rock on -- glad that works for you.
Emulators like bochs or VirtualPC require a Windows license and more money.
(Compare: the AVR toolchain is open-source and has a C compiler. Which processor do you think my development is going faster on? The Propellers are neat, but I'm spending my time writing an assembler instead of a servo control library.)
I'm no expert in WINE (I've never had to do anything with it before) so if someone that knows it better knows how to make it work it would be nice (rebooting is a drag).
And Cliff, I recognize you from the gumstix/robostix maillist! Yeah, avr-gcc is *great*. I can code and upload my program to the robostix from vi, the one true editor. I would guess anyone used to Eclipse would also like to program from there, too.
It really looks like a fantastic piece of hardware/software and I can't wait to get mine, particularly so I can play with SPIN. It reminds me a lot of the NUON CPU in a way.
Post Edited (ravuya) : 7/7/2006 11:22:16 PM GMT
I took a look at a SPIN source file. Let's put it mildly: the arallax engineers experienced some inspiration by the works of Professor Niklaus Wirth.... [noparse]:o[/noparse])
Well done. It looks like a nice version of Oberon or Modula-2.
Spin code is stored as byte code in the 32KB of shared RAM. The interpreter is loaded into the Cog to read the byte code and act on it.
Assembler code is stored in general RAM when downloaded and transferred into the COG for direct operation when called.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Martin Hebel
Southern Illinois University Carbondale - Electronic Systems Technologies
Personal Links with plenty of BASIC Stamp info
StampPlot - Graphical Data Acquisition and Control
I was just thinking about a dockable character chart in the next IDE? Or am I missing how to do it now?
Thanks,
-Parsko
Performance? who cares if it takes 10 microseconds or 13 microseconds to complie a an aaplication? SINP is not really any so much more complicated than that the development headaches will outweigh what little preformance would be gained. For crying out loud, a 5 MB C or VB program only takes a few seconds to ompile. You lose more time waiting for the download to happenthan the compiler takes(or would if written in C or VB).
As a long time fan of Paralaxx, I'll love the propeller, but really, get with it boys. Develop the compiler in java and be done with it. Unless you're so paranoid that people are going to steal it and you think nobidy else thinks in assembly.
There are a lot of reasons that almost nobody uses assembly language for hat sort of thing anymore. PS. anybody who knows debug can figure it out and since there wouldn't be a lot of overhead, that whoud make it simler.
So tell me, just what is it about the Spin compiler that requires assembly languges, that couldn't be done in say, python, even?
Back in the day when we ALL wrote compilers, ASM was pretty much the only language to use. That was 30 years ago. Times have changed. This is the TWENTY-FIRST century. Get with it. Or maybe you need to admit that you need better programmers.
By the way, what are the questions and answers this thread alluded to?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Dave Evartt
People don't hate computers, they just hate lousy programmers.
http://wehali.com
I hate to be a dingus, but it has been a while since someone has bugged you for an update on the timeline for availability of the next IDE?
I know I know, "if one more dude asks me when this thing is available I'm gonna··......"
I also understand that you don't want to commit to any date (which·most industry folk would easily understand), but a WAG would do.
-Parsko
PS- I have·been waiting to see if someone else would ask
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
Or just make an Eclipse plugin. That'd really simplify things, and save them the trouble of writing their own IDEs. (I don't know why everyone doesn't do it this way nowadays.)
Though if the IDE is written in Delphi, as has been suggested, it may very well compile on other platforms using Kylix.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Stephen
I'm wondering why the Propeller tool requires that a virtual serial (USB) port have the Serial Enumerator turned on to be recognized. I much prefer to disable this "feature" so Windows won't mistake the port for a mouse if it begins spewing characters on reset. The BASIC Stamp editor doesn't seem to suffer this same restriction.
I know you're trying to play by Microsoft's rules in recognizing and using the available serial ports. But, frankly, it's just not working out very well. I'd much rather see the methods (including coercing a difficult-to-recognize port) used in the BASIC Stamp tool being deployed here as well.
Thanks,
Phil
interested potential user of the Propeller who's put off
by the lack of Linux tools (and/or open-source documentation
sufficient to write such tools myself).
I understand that you are wed to the Windows platform
(my condolences) in terms of the fancy graphical world
which is there used for developing Propeller code, but I'd
echo the comments of others here that all "we" really
need under Linux (or other POSIX platforms) is a textmode
assembler and download tool. Shouldn't be that hard:
in fact, I should think you might want to maintain control
and initiative by putting out an official suite of such tools,
before frustrated users reverse-engineer the same for
themselves, thus stealing your fire as it were.
Anyway, you referred to a Propeller Compiler library, which might
be in the works as of now, given that we are certainly well into
the "latter half" of this year. Any news or updates on this
project? I'll be choosing a chip by the "first half" of next year;
I'd sure like it to be a Propeller, but it can't be if there are no tools!
--Benjamin