PROCESSOR-SDK-AM65X: Demos for jailhouse hypervisor?

Intellectual 2090 points

Replies: 28

Views: 457

Part Number: PROCESSOR-SDK-AM65X

Hello team, 

Customer is using AM65x on their design and wondering if there any additional demos for the jailhouse hypervisor to try for TI RTOS? If not, is there an available guide/recommendations as to how to set up a jailhouse inmate?

Thanks

28 Replies

  • Sepeedah,

    Currently for AM65 there is a Jailhouse example included to the Linux SDK for a Linux inmate. See section 3.1.14 of http://software-dl.ti.com/processor-sdk-linux/esd/docs/06_02_00_81/linux/Foundational_Components/Virtualization/Jailhouse.html. For an RTOS inmate we don't have a direct example on the AM65, though we do on the AM57. The same process can be followed, creating an RTOS binary to load into the inmate cell.

    best regards,

    Dave

  • In reply to Dave Bell:

    Thanks Dave. Can you point me to AM57 RTOS example?

  • In reply to Sepeedah Zadeh:

    Sepeedah,

    The AM572x Jailhouse Demo is documented just after the AM65 at the earlier link.

    The AM57 SDK download page is at http://www.ti.com/tool/PROCESSOR-SDK-AM57X 

    Best regards,

    Dave

  • In reply to Dave Bell:

    Hi Dave,

    I went ahead and modified the am57 jailhouse ethercat slave demo makefile for am65. I also modified the makefile in the bios, and all the other variables for the toolchain to work properly. But the makefile got stuck, whole directory in pdk am57 is missing in pdk am67. Is there a reason why am65 doesnt have the ICSS_EMAC folder?

    5857.Makefile.txt

  • In reply to Steven Chiu:

    Steven,

    The ICSS on the AM65xx is upgraded from the AM57. The EMAC driver is common between the CPSW2G and ICSSG, and both are under the EMAC folder now. See http://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_01_00_08/rtos/index_device_drv.html?highlight=csi#emac

    Currently, dual-EMAC (two endpoint MACs) are supported on the ICSSG firmware. But you should be able to leverage any of the RTOS examples in the PDK for the inmate application instead of EtherCAT.

    Best regards,

    Dave

  • In reply to Dave Bell:

    Hi Dave,

    I got past the phy issue, am65 uses a different phy driver.

    we are trying to get ethercat running with jailhouse on AM65.

    the next problem i'm running into looks like is the config file.

    in the am57 config file, there's a section that defines the inmate.

    /* ================= Inmate ====================================== */
    var Cache = xdc.useModule("ti.sysbios.family.arm.a15.Cache");
    Cache.errata798870 = false;
    
    var Hwi = xdc.useModule('ti.sysbios.family.arm.gic.Hwi');
    Hwi.initGicd = false;
    
    var TimerSupport = xdc.module('ti.sysbios.family.shared.vayu.TimerSupport');
    TimerSupport.availMask = 0x0080;

    i'm assuming i need to modify the cache to be ti.sysbios.family.arm.a53.Cache but that doesnt seem to exist.

    i think what i'm missing is an updated am65xx_app.cfg file that has ethercat inmate configured.

  • In reply to Steven Chiu:

    Hi Dave,

    here are the updated changes I've made to the am65 cfg file, and it looks like it works.

    /* ================= Inmate ====================================== */
    var Cache = xdc.useModule("ti.sysbios.family.arm.v8a.Cache");
    
    var Hwi = xdc.useModule('ti.sysbios.family.arm.gicv3.Hwi');
    Hwi.initGicd = false;
    
    var TimerSupport = xdc.module('ti.sysbios.family.shared.vayu.TimerSupport');
    TimerSupport.availMask = 0x0080;

    The next thing i'm stuck on is, it looks like the linker.cmd and .map files aren't being generated correctly.

    The contents of the file compared to the one generated from am57 look nothing alike. Am65 looks like its missing a lot more data.

    I don't know what the these file are based off of so I'm not sure what I'm suppose to change.

  • In reply to Steven Chiu:

    Steven,

    Thanks for the update and I'll check on guidance for the AM65 migration and come back.

    best regards,

    Dave

  • In reply to Dave Bell:

    Steven,

    I think it would make sense to start with a simpler example for the inmate and replicate a bare-metal app.

    If you review the material under "Bare-Metal Example" at http://software-dl.ti.com/processor-sdk-linux/esd/docs/06_02_00_81/linux/Foundational_Components/Virtualization/Jailhouse.htm you can see the files needed to compile and link the example. You can look to use one of the bare metal A53 apps similarly, under <install_dir>\processor_sdk_rtos_am65xx_6_01_00_08\demos\rtos_template_app\am65xx\evmAM65xx\A53\template_app\baremetal

    Best regards,

    Dave

  • In reply to Dave Bell:

    Hi Dave,

    I'm working with Steven on porting EtherCAT over to the AM65x. We have had the bare metal applications running for some time now. Were you able to find out if there will be an EtherCAT demo for the AM65x available for the future and when we can expect that. If not, is there going to be an example for allocating a PRU to an inmate.

    Andrea