Have you seen the PRU Support Package examples???I saw examples of linker
placement in shared RAM
This example below the C variable is in by default in local RAM
What is smallest pulse period you require for your application?
void main(void){ volatile uint32_t gpio;
/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
/* Toggle GPO pins */ /* Note: 0xFFFF_FFFF toggles all GPO pins */ gpio =
0xFFFFFFFF;
/* TODO: Create stop condition, else it will toggle indefinitely */ while (1)
{ __R30 ^= gpio; __delay_cycles(100000000); }
On Thursday, May 13, 2021, 03:34:29 PM CDT, Kasimir
<[email protected]> wrote:
Just a moment ago, I was standing on cliffs edge, now I made a big step
forward .....
I'm able to generate a 10ns trigger pulse on __R30 Bit 4 :-)).I placed the
and instruction to clear Bit 4. Now it's clear, both indirect loads ( lbbo &R )
areresponsible for the unexpected delay. I was expecting both are operating
from dram withlatency of 3 cycles. What is wrong? The data structure is
expected in local ram, to get best latency.In C it's declared that way:typedef
struct Event Event_t;
struct Event
{
unsigned int time; // number of loops
unsigned char pattern; // Bit 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
// ------+---+---+---+----+---+----+---+
// | | | |~z34|z34|~z12|z12|
// ------+---+---+---+----+---+----+---+
};int main( int argc, char *argv[])
{
int i;
int j;
unsigned char u;
Event_t event_knoten[100]; // later on, r15 is pointing to that
address.........ausgabe(pattern_liste.anzahl, &event_knoten[0].time,
&handshake[0]) ;
***************** change to debug delay in assembler *******************
naechster:
and r30, r30, 0xEF ; debug
lbbo &r30, r15, 4, 1 ; (r15) = pattern <= slow
lbbo &r17, r15, 0, 2 ; load number of loops <= slow
Any hint how to make the lbbo &r.. faster?I'm looking forward
Kasimir
--
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beagleboard/4a911162-7904-4709-b3c3-556e517ea887n%40googlegroups.com.
--
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beagleboard/864131374.173508.1620938924527%40mail.yahoo.com.