Other Parts Discussed in Thread: AM5728
Tool/software: TI C/C++ Compiler
I was wondering if it is possible to support the application interface into working with the PRU's from G++. I have integrated the PRU libraries into my G++ application, which remote compiles onto a Sitara AM5728, of which has quite a bit of application specific code already. My team realized we will be needing the real-time-ness of the M4 on the Sitara for interfacing with peripheral devices, but many of the function declarations do not natively compile within G++. For example:
Inside pru_cgf.h:
volatile __far pruCfg CT_CFG __attribute__((cregister("PRU_CFG", near), peripheral));
neither __far nor near are defined in the default G++ compiler.
My understanding would be __far could be #defined as long_call from arm:
https://gcc.gnu.org/onlinedocs/gcc/ARM-Function-Attributes.html#ARM-Function-Attributes
but I am not 100% confident on that. I am not asking for how I would develop the firmware for the M4 using G++ as I fully expect that to be restricted to using CCS or other similar tools, but I am still looking for how to interface G++ with these declarations to interface with the M4 from userspace.