I couldn't find a description of TI's PRU C ABI. Can somebody help by publicly posting it?
If TI PRU C ABI turns out to be secret, then what do you think GCC PRU ABI should look like? Thanks, Dimitar On Wednesday, May 21, 2014 9:27:17 PM UTC+3, din...@gmail.com wrote: > > > On Wednesday, May 21, 2014 2:50:52 PM UTC+3, Jason Kridner wrote: >> >> >> >> On Sunday, April 20, 2014, <din...@gmail.com> 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.