ARM
jnml
Posts: 14
I would like to build progcc from sources on an ARM Linux(1). It seems(2) that the only missing piece would be the `bstc` prerequisite binary. Anyone aware of a solution to this? Note that AFAIK, bstc is not open sourced, so I think I cannot build it by myself. The overall goal is to attempt hot building (configuration parameters based) a Propeller program as we anticipate that all of the possible supported modules (for several different HW sensors) are not going to fit into Propeller's memory together - and normally only a combination of few of them are really needed. Propeller reports to an Linux ARM master with the configuration file(s), hence the idea of building the firmware there and sending it to the Propeller at power-up.
Thanks in advance for any help ;-)
-j
(1)
(2) The build process is running w/o trouble up to now (for several minutes - in QEMU actually).
Thanks in advance for any help ;-)
-j
(1)
$ uname -a Linux debian-armel 2.6.32-5-versatile #1 Wed Jan 12 23:05:11 UTC 2011 armv5tejl GNU/Linux
(2) The build process is running w/o trouble up to now (for several minutes - in QEMU actually).
Comments
Thanks a lot! After reading some of the relevant threads, pointed to by you, it even looks like the build may "just" succeed, as I tar-copied the existing PC repository including all of the *.dat files made by the PC build. I'll try to report the outcome later - the build is still running.
-j
The trick is, as you have seen, to build it first on a PC then copy those dat and bin files over to your ARM.
However there was a file or two that seemed to get deleted after the build, I could never find them any way. Can't remember which ones now.
I had to hack with loader makefile to get it to copy those to a safe place as it built them.
I also have a version of the loader that will use the uart on the Pi GPIO pins if you need that.
Thank you very much for the info and also for your kind offer to help me - will be used gratefully, if I'll get stuck or similar.
EDIT: I should have noted this before: Our target system is Phytec's Phycard-L.
-j
PS: The build process is still running smoothly, but I'm already leaving the office in minutes. Let's see what I'm gonna find here in the morning ;-)
The alternative would be to remove the pre-processor dependencies.
Not sure if the is a working Mono for my Raspian RPi but I'm sure I had it working a while back on another ARM board running Linaro.
I'll only now start to investigate the results (what was and what was not build). Just wanted to share the status. Also someone might be able to spot some trouble in the build output. BTW, the build was invoked using `./rebuild.sh`.
More info: We are using a git clone of the hg repository (in intranet Gitlab). The source of the git clone was:
I have made same minor patches, at least one of them is a bug fix, which should perhaps be incorporated back to the master repository (at googlecode). What is the best procedure/practice to send patches for bug fixes and/or proposed changes*?
-j
*: For example, we had to support parity for some serial devices, so there is a patched FDS supporting optionally that using an additional parameter like `fopen("FDS:115200,4,5", "r+");` (backward compatible) or `fopen("FDS:115200,6,7,O", "r+")` (use odd parity). Also sending 'break' was added to the driver.
Actually looks good!
It has failed buiding the loader. And as we exepected is complaning about the lack of bastc "/opt/parallax/bin/bstc.linux
1: Syntax error:"
Now I seem to remeber that the loader is about the last thing built so you may well find working compiler binaries and tools in /opt/parallax/bin.
I think what I did next was create and empy file called bstc.linux in /opt/parallax/bin/ and give it execute permissions.
Then change to the loader directory in the gcc sources and run the run the build steps for it manually.
Or the long way around is to do the entire build again.
Anyway the loader will then fail when it finds the empty script we created for bstc has no created the dat and bin files. You can the copy those files to the place the loader build expects them to be and continue.
After following all of your hints and a little bit of hacking, I'm now here:
Yeah!
Many thanks again to all of you which helped me. Next step is to copy all of the necessary bits from QEMU to the real thing and make it work there. I'm quite optimistic about it.
-j
I'm sure it will move over from QEMU, I have done that a few times.
Does your ARM board have some HDMI output or similar? If so you could get SimpleIDE running there as well.
This is a nice positive note for my 5000th post !
Now you can start using this: $ jbuild.sh 2
That says use multi-make with 2 jobs.
Maybe your arm doesn't have 2 cores, but the extra scheduling forces linux to work harder and finish faster.
The rebuild.sh is good for debugging builds (or first builds) since it specifies just 1 job as normal.
@Heater does homespun offer a -c like option?
That option allows extracting pasm dat sections to a separate file in spin and bstc.linux programs.
Unfortunately the open-source spin does not handle #defines yet.
-c - generates a .dat file containing the top object's DAT data.
I have never tried it and don't have the means to at the moment.