View topic - QNX 7.0 Beaglebone Black PRU-ICSS memory access

QNX 7.0 Beaglebone Black PRU-ICSS memory access

For discussion of realtime and/or embedded programming.

QNX 7.0 Beaglebone Black PRU-ICSS memory access

Postby pepster » Mon Mar 19, 2018 8:51 am

Hi

I installed QNX 7.0 on my Beaglebone Black. Now I need to get access to PRU-ICSS memory. ARM Cortex-A8 Memory Map says that PRU-ICSS memory starts at 0x4a300000 and ends at 0x4a37FFFF (512KB). Mapping this memory causes no errors:

Code: Select all
    void* pruss_memory = mmap_device_memory(NULL, 0x80000, PROT_READ|PROT_WRITE, 0, 0x4a300000);
    if ( pruss_memory == MAP_FAILED )
    {
        perror( "mmap_device_memory failed" );
        exit( EXIT_FAILURE );
    }


However when I try to read or write to this memory I get this error:

Process 81942 (LedyTest) terminated SIGBUS code=2 fltno=40 ip=100c8f9a(/tmp/LedyTest@_btext+0x000001fe) mapaddr=00000f9a. ref=28000000

Does anyone know how to solve this problem?

Thanks in advance
pepster
New Member
 
Posts: 9
Joined: Sun Mar 18, 2018 10:43 am

Re: QNX 7.0 Beaglebone Black PRU-ICSS memory access

Postby nico04 » Mon Mar 19, 2018 9:15 am

Is the PRU-ICSS subsystem initialised in your BSP ?
nico04
Senior Member
 
Posts: 113
Joined: Wed Sep 29, 2010 9:59 am
Location: France

Re: QNX 7.0 Beaglebone Black PRU-ICSS memory access

Postby pepster » Mon Mar 19, 2018 9:51 am

I didn't know that PRU-ICSS has to be initialized. How should I check it ???
Thanks for reply
pepster
New Member
 
Posts: 9
Joined: Sun Mar 18, 2018 10:43 am

Re: QNX 7.0 Beaglebone Black PRU-ICSS memory access

Postby nico04 » Mon Mar 19, 2018 10:11 am

I have no knowledge of PRU-ICSS but this kind of IP need some initialisation : Enable, clock selection...
nico04
Senior Member
 
Posts: 113
Joined: Wed Sep 29, 2010 9:59 am
Location: France

Re: QNX 7.0 Beaglebone Black PRU-ICSS memory access

Postby denkelly » Thu Mar 22, 2018 2:22 pm

Check out this package (you must be approved by TI to get it).

http://software-dl.ti.com/sitara_linux/ ... x_FDS.html

This is essentially "bare-metal" C-code for initializing and sending programs to the PRU. Of course you must "map" all the memory addresses to use with QNX - the example C-code just directly writes to the physical addresses.
denkelly
Senior Member
 
Posts: 163
Joined: Sat Aug 02, 2008 3:27 pm

Re: QNX 7.0 Beaglebone Black PRU-ICSS memory access

Postby pepster » Fri Mar 23, 2018 9:49 am

Thanks for reply! I will definitely check this out.
pepster
New Member
 
Posts: 9
Joined: Sun Mar 18, 2018 10:43 am


Return to Realtime and Embedded

Who is online

Users browsing this forum: No registered users and 2 guests