On Wednesday, May 21, 2014 2:50:52 PM UTC+3, Jason Kridner wrote: > > > > On Sunday, April 20, 2014, <din...@gmail.com <javascript:>> wrote: > >> I'd like to announce my hobby project for the past few months - a port of >> GNU GCC and Binutils to TI's PRU. Patches and a simple example can be >> downloaded from https://github.com/dinuxbg/gnupru . >> >> Please note that this is still a work in progress. But since now there is >> a working blinking led example, I decided others may be interested. >> > > Thank you, thank you! > > >> >> >> >> Disclaimers: >> 1. This effort has no relation to the rumored TI C PRU compiler. >> > > > Said rumored compiler is at > http://software-dl.ti.com/codegen/non-esd/downloads/beta.htm > > >> >> 2. This is a preliminary release, so expect bugs. If your program >> doesn't run, then please be prepared to disassemble and check what the >> compiler/assembler/linker did. >> 3. There is no C library. >> 4. ABI is not yet finalized. >> > > If you can make the ABI compatible, that would be really cool. > Can you share this compatible ABI? If I have the specification and it is easy to modify GCC, then I could do it. I'll have to change the ABI anyway - current one is not optimal for using the hardware multiplication instruction.
FYI, the current GCC PRU ABI was inspired by Nios2 and looks roughly like this: Regno Name 0-3 r0-r3 Register Arguments. Rest of arguments are saved on stack. 4-5 r4-r5 Return Location. Allows 64bit value return without involving the stack. 6-16 r6-r16 Caller Saved Registers 17-26 r17-r26 Callee Saved Registers 27 r27 ra Return Address 28 r28 sp Stack Pointer 29 r29 fp Frame Pointer. Usually omitted and used as a general-purpose register. 30 r30 Special I/O register. Not used by compiler. 31 r31 Special I/O register. Not used by compiler. > >> >> >> Regards, >> Dimitar >> >> > > > > > >> -- >> For more options, visit http://beagleboard.org/discuss >> --- >> You received this message because you are subscribed to the Google Groups >> "BeagleBoard" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to beagleboard+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.