Sinisa Marovic (AC/EDD) writes:
>    since it is possible to do long jumps running ARM code, I was wondering
> if this is possible:
> 
>     Using prc tools it is possible to compile segments larger than 64 kb (I
> tried it, you can even build prc). The only problem is that such prc will not
> run on your palm. But what if we put such compiled executable into an .pdb or
> onto a memory card, load it with some 'loader' code into a heap, and then run
> it from there? Would this be possible, or is ti complete nonsence?

You can do just that with Peal:
http://www.sealiesoftware.com/peal/

Peal is an ELF postlinker and loader for Palm ARM code. It provides 
support for global variables and code segments bigger than 64 KB. 

Using large code looks something like this:
1. Link with `--split-by-file=64000`, which chops your program up into 
   sufficiently small object files.
2. Run the Peal postlinker, which translates those object files into 
   Palm OS resources, and adds reconstruction information for use at 
   runtime. 
3. At runtime, call PealLoadFromResources() to load the ARM code 
   and connect the separate code resources to each other and to 
   any global data.
4. Use PealLookupSymbol() and PealCall() to call your ARM code.

See "LARGE CODE" in the Peal readme for more details.

Peal doesn't require a memory card, and doesn't copy any of the 
code to the dynamic heap, which saves memory. 


-- 
Greg Parker     [EMAIL PROTECTED]
pssh: SSH 2 for Palm OS 5     http://www.sealiesoftware.com/pssh/
Peal: Palm ELF ARM Loader     http://www.sealiesoftware.com/peal/


-- 
For information on using the Palm Developer Forums, or to unsubscribe, please 
see http://www.palmos.com/dev/support/forums/

Reply via email to