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.

Reply via email to