Propeller Serial Loader?
davidsaunders
Posts: 1,559
I know that there used to be a thread about this though I can not find it for searching.I am looking for the details of the serial comms for loading the Propeller. There are two reasons for this, first I would like to be able to compile my Prop projects on RISC OS on my Raspbery Pi (no problem) and load it into the Prop. Second I would like to creat a couple Prop based peripherials for the Raspberry Pi and be able to reload them (using a software controled power disconect to the prop from the RPi) on with new firmware with out reprogramming the ROM.So if any one could point me in the correct direction it would be much apreciated. I knew that I should have printed out that information while it was still fresh on the forums.
Comments
Propeller-Loader
There are also threads that depend on using the Propellent dll. For example,
PropLoader-Propeller-Firmware-Loader
I hope this explanation is correct ... I'm doing it from memory. Correct me if I'm wrong.
http://forums.parallax.com/showthread.php/150441-SimpIeIDE-for-Debian-%28x86%29-and-Raspbian-%28Raspberry-Pi%29
If you fetch the source code of the Propeller GCC package in there you will find a Propeller loader written in C.
https://code.google.com/p/propgcc/
No idea if that code is useful in creating a RISC OS version.
I'm curious how are you building Propeller code under RISC OS?
It was some long while ago that the CRs stopped working for me in the Chrome browser. It's very annoying as I have to switch to Firefox to post here.
Currently by hand one byte at a time. I am working on throughing together a simple SPIN/PASM compiler in BBC BASIC (so as to save development time), though I only work on that on spare spare time, main spare time is spent playing with other RISC OS coding, and doing real Prop stuff (coded by hand).
You Sir, are a rock. I take my hat off. I haven't been into that much since writing 6809 assembler in hex back in the early eighties.
There is a Propeller loader written in Python the code is here:
https://github.com/wendlers/install-propeller-toolchain/blob/master/patches/spinloader
I also attached it to this post.
Can't find the original forum post for that but there is another thread discussing a Python loader here:
http://forums.parallax.com/showthread.php/99366-Python-Downloader-modified-for-MacOS
Thank you for your help, I managed to copy it out successfully (dificult with overlapping text). And it is helpful information.
I like Python and Spin but that white space block delimiting still drives me nuts.
Thank you for the links. After folowing them, and the links in those threads (and wasting most of the afternoon :-) ) I have been able to peice togather all of the information that I needed. No more emulating windows to load a Prop :-) .
I would apreciate that much. The more information the better, as I can not find the original thread and am down to examining a bunch of source.
This is on the Mac or Linux. You can build it using mingw under Windows as well but you'll have to include osint_mingw.c instead of osint_linux.c.
ploadlib.zip
Also so that you know on RISC OS the "." charactor is a directory seperator, so dots in forign file systems are converted to "/" (so that PloadLib.c becomes PloadLib/c [PloadLib.c would refer to the file "c" in the relitive subdirectory PloadLib]). Thank you.
Thank you much, this will help greatly.
Also, recently (a month or two ago) I asked about the wireless loading to hub ram. I noticed that there are multiple resets that occur in PropTool for downloading so that does not work with what I wanted.
Chip also produced some download code for a prop to download another prop.
What I was after is to be able to download code by putting the prop into a "special program" mode so that PropTool could download a binary without actually resetting the prop. I am interested to see what you come up with because it could be an alternative to what I am trying currently.
It will just be something simple that bit bangs the Raspberry Pi's GPIO pins to load the Propeller, and it is being written in BBC BASIC V (The real version [on RISC OS the OS it is made for]), this so that I have a good WIMP (GUI in RISC OS terms) user interface, as well as a way to send it data from another task.
I am still waiding through the sources, attempting to make sure that I get it 100% correct.
What's this about bit banging the Pi's GPIO pins to load the propeller? There is a perfectly good UART on the Pi's GPIO header.
That is what I have been using to download code to the Propeller with a modified version of the Propeller loader that comes with propgcc.
The only bit banging I do is to wiggle a GPIO pin to reset the Propeller. Normally we would just use DTR or CTS, one of which is also on the GPIO header but I wanted to use a pin nearby the UART Tx and Tx and I have no idea how to drive DTR anyway:)
The Propeller and the RPi are a perfect match, so long as you do either Baremetel, DexOS, or RISC OS on the RPi :-) .
David Betz,
I have never tried RISC OS, I should, but after you have seen how slowly X runs on the Pi you might like it for it's speed. I have no idea what modern apps it might have available, like browsers and such.
Also RISC OS runs much faster than Linux. Though I guess that this is to be expected as RISC OS is designed for the ARM specificly. Though I would guess that for those on this forum the biggest advantage is that there are many available Assemblers, and the best ARM C compiler that runs natively on the ARM, that being Norcroft C. As well as the fact that RISC OS is very well documented, and the RPi distrobution comes with all of the documents needed to understand the entire OS. And it is possible for a single person to understand the Entire OS in detail. Sorry for having to use code sections to create Line breaks, I do not know what was changed or when that seems to have broke the way these forums work with NetSurf.
However SimpleIDE runs there OK.