On Fri, May 30, 2014 at 5:07 PM,  <[email protected]> wrote:
> 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?

Right now, based on my internal queries, the ABI doesn't have a hard
specification. The readme does contain the calling convention and type
size/alignment. I'm looking to see if additional aspects of the ABI
can be solidified. If you have some specific decisions you'd like to
standardize upon, please share those so we can drive as much
interoperability as is reasonable and quickly become aware of points
of incompatibility.

>
> Thanks,
> Dimitar
>
>
> On Wednesday, May 21, 2014 9:27:17 PM UTC+3, [email protected] wrote:
>>
>>
>> On Wednesday, May 21, 2014 2:50:52 PM UTC+3, Jason Kridner wrote:
>>>
>>>
>>>
>>> On Sunday, April 20, 2014, <[email protected]> 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 [email protected].
>>>> 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 [email protected].
> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to