p2gcc For MicroPython?
David Betz
Posts: 14,516
in Propeller 2
What is the current status of p2gcc and were can I find the latest version? There has been talk of porting MicroPython to P2 and since it is written in C it seems like p2gcc might be a good solution. How much of the standard C library has been implemented so far? Or can I just compile the library used by PropGCC?
Comments
I've been chasing down the dev tools and compilers as well for Prop2.
We need to ultimately document these in a single place.
I got it to compile using PropGCC for P1 and the xmmc memory model but it doesn't run and I haven't had time to try to track down why.
We all know the old canard "There were 12 standards, so we created a new one to integrate them all - now we have 13 standards..." but a community-based wiki that isn't dependent on gatekeepers to add / remove / update would I think help us move faster.
I have my own (internal) wikis that I use for keeping my docs / bookmarks - maybe I should just copy mine up and make them public. Worst case, someone finds them and uses them. Best case, people find them and add to them.
p2gcc supports the -c option, so it is capable of generating an object file. Multiple C files can be specified on one line, or each file could be compile one line at a time. The object can then be linked together using p2gcc, or p2link could be used directly.
The earlier version of p2asm, which was called qasm, could assemble both P1 and P2. However, I removed the P1 feature at some point. It would be fairly easy to add P1 capability back in.
__red__, it would be useful to create a thread that lists all of the P1 and P2 tools that are available.
The fundamental problem with threads is that you don't get to see the latest version unless someone specifically edits / tags / updates / it etc...
People will post .zip file of the latest version 30 pages down a thread which, with all the love in the world doesn't scale.
For the longest time the documentation / code sticky for the P2 wasn't the latest version (I spent a few days developing against something that was weeks old) because the newer version had dropped off the front page.
I know we have some... ahem, 'resistance' in some quarters to using git / github and instead posting zipfiles to threads because it's how it's always been done.
This isn't meant as a criticism btw, the individuals concerned are making massive contributions to the community so if volunteers can attempt to keep a wiki / community github up-to-date with these updates/posts as they come on then that seems like a like a wiki/github could be a good contribution to make.
Like I said - I already have a fair amount of this done for my own internal use. I just have to decouple it from my personal stuff and I'll publish it.
"If you build it, they will come".
(or, worst case - my docs are online in the cloud instead of being on my internal wiki)
Either way - it costs me a few hours and I still win.
Actually, not quite.
The Parallax forum software allows no-time-locks editing, so the common approach is to update the FIRST post in the thread over time, easy to follow then.
This example you likely have already seen
http://forums.parallax.com/discussion/162298/prop2-fpga-files-updated-2-june-2018-final-version-32i/p1
Some run a thread here, and a Github link, and that seems to work quite well - you have actually just suggested 'adding another standard'
an example of this
http://forums.parallax.com/discussion/164187/fastspin-compiler-for-p2/p1
So unless one person + a moderator wants to commit to keeping a list of tools updated, it will inevitably fall out of date.
It's very hard to figure out the status of everything from forum threads alone, for both P2 and non-Parallax P1 stuff.
https://github.com/rosco-pc/propeller-wiki
Aren't threads for the TALK of it, to get help with it or to announce it.
Gits are where you should keep/maintain/share it?
Often, I wish people would link and copy the thread related, into the git.
For opensource anyone can GIT it into their own, only needing to give credit to source?
Gits move it across the world, languages, and platforms, just from the spider of dependencies.
Threads are very local.
What he said...
If you have a project planned, use the first 4 posts in the thread to do content as its developed so you don't need to shove it all in the first thread.
Mediawiki:
https://evil.red/wiki/Main_Page
Working on the tools listing here: https://evil.red/wiki/P2Tooling (Heck - even having the list of tools in one page is useful)(!)
I'll move it to its own domain in a few days...
Planning on running an active job to export all the articles and automatically upload them to github so if I accidentally get hit by a bass someone else can pick up the pieces.
What I don't want to see a repeat of is the loss of data like we saw with a previous wiki.
With that said, after I have the P2 stuff at least referenced I may look to see if I can recover the data from the old P1 wiki from the wayback machine and see if it's importable. (That may be extra credit).
Feel free to add / re-arrange / whatever there.
Account creation is wide open, hell - editing the articles doesn't even need registration right now just like wikipedia (but if you don't register the editing user will show as your IP address, again - just like wikipedia).