1. Euphoria on the ARM processor?
- Posted by jeremy (admin) Jun 14, 2009
- 1662 views
- Last edited Jun 15, 2009
I received this email and I am forwarding to the forum for additional help. I have zero knowledge of the ARM processor.
Hi there!
I am writing you a letter because I just saw that you successfully ported Euphoria to different POSIX variants. I know that it is remarkable but hard job, and I'm thankful that you managed it. IMHO, this is exactly the thing Euphoria needs to "survive" between explosions of modern, portable languages.
Open sourced, portable development system, easy to learn, fast and rock solid - this is idea that stands behind Euphoria, but also behind Linux. Now, there is one (or) more system(s) born from this project idea: Open source but hardware based. I'm talking about Pandora, but there are also Beagleboard, Wizz, GP32. What is in common is that they all got similar hardware driven by ARM processor, with Linux as a main OS. Those are independent gaming consoles, or just a open boards leaving you choice to build system on your own (e.g. laptops). I'm not familiar with all of them, so I'll write what I think it stands: Not all of them are Open source (I think), nor Linux based (not sure). However, they are highly hardware compatible (I think so), and they are driven by highly motivated community which creates (or makes ports of) different tools, games and applications (this is one I'm pretty sure of).
I'm not informed enough, so I'll concentrate at newest and most promising "breeze" at family, Pandora. It should be prototype of new standard: independent open source hardware, transportable universal hybrid between pocket console and full laptop: in fact, "role" (purpose) of this beauty depends of user wish. IMHO, hardware concept is great, but it could fail if it is not supported by adequate software. This is the point where Euphoria fits-in. Fast & Easy, this is exactly what Pandora needs: Euphoria, as a great, portable developing system. It could (and should) also promote Euphoria as a (more then) alive & capable development system.
I am asking you to provide us with informations about porting possibilities of Euphoria to ARM processor Linux based platform: Is it possible to port Linux x86 based interpreter (compiler) to ARM based, and how difficult could be it. What are possible problems, and what could be possible (dis)advantages of porting. I think that you are the person which has a right capabilities for project like this, and this could be a great thing for Euphoria & Pandora both. There are great hackers around at Pandora community: they already ported many X86 driven libraries and tools to Pandora. However, when Euphoria is in question, I think that you are unavoidable. Unfortunately, I'm not a programmer, and right now I'm just learning Euphoria. However, I've got many years of theoretic knowledge (I'm tracking Euphoria of its beginning). I'm glad to help and I'm ready to spare lot of free time to help (IMHO so important) project like this. Benefits for whole community are so valuable so that will be honor to me to be involved.
First shipment of Pandora should arrive at July. I will be proud owner of probably first one in my country (Croatia). Well, my son will be, to be fair :)
I hope that I didn't scare you with huge letter like this. I just wanted to show you that I really care about it. Also, I hope that you manage to understand my sentence construction: I'm not a native English speaker and I'm aware of that my pidgin English probably sounds weird. Anyway, I have to thanks you again for your effort at Euphoria, and I hope that you'll send me some answer, whatever it will be.
Almost forgot some links: This is topic I started about Euphoria, at one of official forums of Pandora. One more post, related to open portable dev-system, this is mostly sound related. Here is unofficial but regularly updated blog about (Open)Pandora. And here is BeagleBoard, interesting project.
Kind regards, Darko Bednjanec
2. Re: Euphoria on the ARM processor?
- Posted by jeremy (admin) Jun 14, 2009
- 1806 views
- Last edited Jun 15, 2009
Oh, the links did not come through to the forum post on Pandora in regards to Euphoria and other links in the original email:
Jeremy
3. Re: Euphoria on the ARM processor?
- Posted by useless Jun 14, 2009
- 1626 views
- Last edited Jun 15, 2009
This would be too cool. I was looking at a crippled Eu on an avr32 of some flavor, and decided there wasn't enough horsepower or memory there. I didn't want to reinvent a faster C64, only to discover it had all the features of the original C64. So i was looking at ARM7, since it was the latest to not have usb support (i don't need usb).
However, i was also looking at any of the mini-itx boards running some conventional OS and a full Eu install. My priority is ability to use PATA drives, power usage, and cost.
I'd be willing to swap some full size ATX mobo with P4 or AMD cpus to get some mini-itx that would run XP (or a *nix install already set up with Eu4 and running).
The problem with the Pandora, is it's $300 as a notebook, and $200 as a 600mhz netbox, when there's faster mini-itx for the same money.
useless
4. Re: Euphoria on the ARM processor?
- Posted by darkborn Jun 14, 2009
- 1718 views
- Last edited Jun 15, 2009
The problem with the Pandora, is it's $300 as a notebook, and $200 as a 600mhz netbox, when there's faster mini-itx for the same money.
The problem with any mini-itx is that is not possible to get full 9 working hours from battery as Pandora has (without tricks & downclocking).
So much about netbox portability. Price is (still) high, and compatibility could be issue, but I bet on Pandora.
5. Re: Euphoria on the ARM processor?
- Posted by euphoric (admin) Jun 15, 2009
- 1661 views
...Pandora in regards to Euphoria...
Very cool stuff! I might use that hardware for a project I'm considering. Very cool stuff! (Oh, I said that already.)
I hope somebody is able to follow up on this. The only result of a search for "ARM" in the Archive is mic's Fortran compiler entry. mic!?
6. Re: Euphoria on the ARM processor?
- Posted by darkborn Jun 16, 2009
- 1731 views
Ok, I found some links and interesting quotes, mostly from Official Pandora forum (http://forum.openhandhelds.org/).
"Pandora's official OS will be Angstrom Linux with the PND / PXML extensions." . . . (Angstrom GoWiki)
"Basically all you have to do is use the ARM compiler instead of the x86 compiler, and make sure it links with the right ARM libraries."
"Use this cross-compiler for ARM:" . . . Sourcery G++ (lite edition) . . . GCC 4.3.3
"basic procedure"
Compare Editions (The Lite Edition contains only command-line tools. The Lite Edition is available at no cost as a free download.)
"The Pandora is basically like a portable BeagleBoard, and Angstrom already has a decent software library on the BeagleBoard."
"Porting any Linux distro to the Pandora after Angstrom is working on it shouldn't be that hard. If you or someone else wants to get another Linux distro running on the Pandora I'm sure you or whoever is porting it could go to Angstrom/Pandora team for help."
OTHER LINKS:
Porting Software to ARM Linux (@ www.handhelds.org)
The ARM Linux FAQ
porting from x86 to omap3 (arm) (@ Beagle Board group)
ARM (official)
7. Re: Euphoria on the ARM processor?
- Posted by darkborn Jun 16, 2009
- 1695 views
Mic was using DevkitARM (for ARM) for his multiplatform ForthEC - Forth compiler written in Euphoria. DevkitARM (devkitPro-arm) URL: http://www.devkit.tk/ . And here is "About devkitPro".
His e-mail is (was?) stabmaster_AThotmail.com. Site is no longer: http://intarweb.hopto.org/forthec.
I found his new site: http://jiggawatt.org/badc0de/index.html and new mail: micol972ATgmail.com.
I'll contact him right now.
8. Re: Euphoria on the ARM processor?
- Posted by darkborn Jun 16, 2009
- 1597 views
Hi, If the device is running Linux then I don't see any real problems with porting the interpreter or translator for it, except "does it have enough RAM?".
There are a few lines of x86 assembly code in the runtime library that deal with switching tasks/threads. But it's basically just some simple stack manipulations so they should be easy to translate to ARM assembly.
I already made a special version of the runtime library that would compile for devices with no OS at all, and used it to compile a Euphoria program for the Gameboy Advance (also ARM-based). The thread is here: http://openeuphoria.org/EUforum/index.cgi?module=forum&action=flat&id=101238
/Michael
9. Re: Euphoria on the ARM processor?
- Posted by darkborn Jun 16, 2009
- 1662 views
- Last edited Jun 17, 2009
I just paste & post email from Mic by accident. OK, here is it again, little bit more sofisticated.
Hi,
If the device is running Linux then I don't see any real problems with porting the interpreter or translator for it, except "does it have enough RAM?".
There are a few lines of x86 assembly code in the runtime library that deal with switching tasks/threads. But it's basically just some simple stack manipulations so they should be easy to translate to ARM assembly.
I already made a special version of the runtime library that would compile for devices with no OS at all, and used it to compile a Euphoria program for the Gameboy Advance (also ARM-based). The thread is here: http://openeuphoria.org/EUforum/index.cgi?module=forum&action=flat&id=101238
/Michael
Yep, Pandora is running Linux. As I know it is Ångström Linux for now. (http://www.angstrom-distribution.org/ ; Wiki here) Pandora has 256 MB RAM which should be enough. Because of Linux nature (swap) it is easy expandable through 2 SDHC slots. According to this diagram (Pandora portability flowchart), if software runs on Pentium II with 128MB RAM, it will potentially run on the Pandora.
10. Re: Euphoria on the ARM processor?
- Posted by darkborn Jun 18, 2009
- 1656 views
ARM is not just Pandora: ARM family is BeagleBoard (ARM Cortex-A8 OMAP3530), GP32 Samsung S3C2400X01 (ARM920T core), GP2X (ARM920T/940T), WIZ (ARM9), Nintendo DS (ARM946E-S +ARM7TDMI), PALM(s), GBA... Port to one, port to all (well, almost)...
11. Re: Euphoria on the ARM processor?
- Posted by darkborn Jun 18, 2009
- 1628 views
Here are interesting links (distrOS, ARM EMUs etc): http://forum.openhandhelds.org/viewtopic.php?p=15191#p15191
This is mostly crossposting, but there are also unique links like for those free PDF books:
ARM® Developer Suite Debug Target Guide online | PDF version
ARM Assembly Language Programming (from the basics) online & PDF version
12. Re: Euphoria on the ARM processor?
- Posted by darkborn Jun 27, 2009
- 1619 views
- Last edited Jun 28, 2009
OK, since Mic brings Euphoria on Android, (thanks again!) and because of Android multi-platform nature, we could roughly say that goal is achieved.
Mic shows us how: http://jiggawatt.org/badc0de/android/eu/ (And here is about native C/C@Android: http://jiggawatt.org/badc0de/android/index.html)
And now is here Android NDK, which "allows developers to implement parts of their applications using native-code languages such as C and C", "includes a set of cross-toolchains (compilers, linkers, etc..) that can generate native ARM binaries on Linux, OS X, and Windows (with Cygwin) platforms" (through Dalvik VM).
Now, it is "just" to make Android Runtime (Dalvik VM) to work on (my favorite) Pandora, as it works at BeagleBoard. (http://beagleboard.org/project/android/)
It is done with EMBINUXâ„¢ Cross Compiler (ECC), "Toolchain For Android". (http://labs.embinux.org/)
Here is "Android on OMAP" (http://elinux.org/Android_on_OMAP) for interested. Still, It'll be nice to have more "native" Euphoria@ARM interpreter.
13. Re: Euphoria on the ARM processor?
- Posted by mic_ Jun 28, 2009
- 1660 views
Now, it is "just" to make Android Runtime (Dalvik VM) to work on (my favorite) Pandora ... Still, It'll be nice to have more "native" Euphoria@ARM interpreter.
The interpreter I posted about isn't for Dalvik though - it's for ARM/Linux. So you could presumably use the same code and makefiles for other ARM-based systems running Linux. The reason I chose Android as the test platform was that the Android SDK provides tools for easy testing on a PC (plus that I work in the mobile phone industry, so Android is slightly more relevant to me).
14. Re: Euphoria on the ARM processor?
- Posted by darkborn Jul 03, 2009
- 1520 views
- Last edited Jul 04, 2009
Now, it is "just" to make Android Runtime (Dalvik VM) to work on (my favorite) Pandora ... Still, It'll be nice to have more "native" Euphoria@ARM interpreter.
The interpreter I posted about isn't for Dalvik though - it's for ARM/Linux. So you could presumably use the same code and makefiles for other ARM-based systems running Linux. The reason I chose Android as the test platform was that the Android SDK provides tools for easy testing on a PC (plus that I work in the mobile phone industry, so Android is slightly more relevant to me).
I have to put it on official "Port Requests"/"Projects Under Development" at Pandora Wiki. (I'm saying that everyday )