This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5748: Jailhouse EterhCAT Example

Part Number: AM5748

Customer using AM574x IDK trying to run Jailhouse + EtherCAT demo as per  

Getting Fatal Excepton error using PSDK 6.03 release:

root@am57xx-evm:~# modprobe jailhouse

 

root@am57xx-evm:~#

 

root@am57xx-evm:~# jailhouse enable /usr/share/jailhouse/cells/am57xx-evm.cell

 

 

 

Initializing Jailhouse hypervisor v0.7 (644-g6044dcf5) on CPU 1

 

Code location: 0xf0000040

 

Page pool usage after early setup: mem 32/4074, remap 0/131072

 

Initializing processors:

 

CPU 1... OK

 

CPU 0... OK

 

Initializing unit: irqchip

 

Initializing unit: AM57XX

 

Initializing unit: PCI

 

Page pool usage after late setup: mem 48/4074, remap 6/131072

 

Activating hypervisor

 

[  134.725058] The Jailhouse is opening.

 

root@am57xx-evm:~#

 

root@am57xx-evm:~# jailhouse cell create /usr/share/jailhouse/cells/am572x-ethercat.cell

 

Created cell "AM572X-IDK-ETHERCAT"

 

Page pool usage after cell creation: mem 66/4074, remap 6/131072

 

[  146.597116] Created Jailhouse cell "AM572X-IDK-ETHERCAT"

 

root@am57xx-evm:~#

 

root@am57xx-evm:~# jailhouse cell load 1  /usr/share/jailhouse/inmates/ethercat_s

slave_demo.bin -a 0x90000000

 

Cell "AM572X-IDK-ETHERCAT" can be loaded

 

root@am57xx-evm:~#

 

root@am57xx-evm:~# jailhouse cell start 1

 

Started cell "AM572X-IDK-ETHERCAT"

 

root@am57xx-evm:~#

 

FATAL: instruction abort at 0x80013f00

 

FATAL: forbidden access (exception class 0x20)

 

pc=0x80013624 cpsr=0xa00001df hsr=0x80000007

 

r0=0x80013624 r1=0x00000001 r2=0x00000006 r3=0x00000004

 

r4=0x0000000f r5=0x0000001c r6=0x00000000 r7=0x80043390

 

r8=0x00000000 r9=0xffffffff r10=0x00000000 r11=0x00000002

 

r12=0x000001d3 r13=0x80043390 r14=0x90000124

 

Parking CPU 1 (Cell: "AM572X-IDK-ETHERCAT")

 

  • Hi,

    Looks to be an issue with memory map conflict between Jailhouse and EtherCAT binary. The binary is trying to access memory outside the map defined.

    Address looks to be in DDR, can you check memory map and try to increase it ?

    Regards

    Vineet

  • They are following the direction per the documentation:

    Use cell load command to load several required components:

    root@am57xx-evm:/usr/share/jailhouse/examples# jailhouse cell load 1 pruss.bin -a 0x90000000
    Cell "AM572X-IDK-PRUSS" can be loaded
    

    where

    • pruss.bin itself, loaded to the virtual address 0x90000000 - the address where this application is linked to; The cell configuration MUST set the .cpu_reset_address = 0x90000000 at cell configuration

    How to debug this and correct this?

    Regards,

    Lawrence

  • Hi Lawrence,

    As EtherCAT Stack is supported only on R5F and Jailhouse is not supported on latest SDK, my recommendation is to dedicate one R5F for EtherCAT stack and follow standard IPC mechanism to communicate with standard Linux.

    Please let me know if you are looking for any more information. 

    Thanks & Regards,

    Sunita.