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.

How to convert dspbios5.tcf to sysbios6.cfg

Other Parts Discussed in Thread: SYSBIOS

/* Enable ECM Handler */
bios.ECM.ENABLE = 1;

/* ECM configuration - manually Reflect these settings in soc.h */
bios.HWI.instance("HWI_INT7").interruptSelectNumber = 0;
bios.HWI.instance("HWI_INT8").interruptSelectNumber = 1;
bios.HWI.instance("HWI_INT9").interruptSelectNumber = 2;
bios.HWI.instance("HWI_INT10").interruptSelectNumber = 3;

/*
* ======== I2C Configuration ========
*/
bios.UDEV.create("I2C0");
bios.UDEV.instance("I2C0").fxnTableType = "IOM_Fxns";
//bios.UDEV.instance("I2C0").initFxn = prog.extern("I2C_INIT");
bios.UDEV.instance("I2C0").params = prog.extern("I2C_devParams");
bios.UDEV.instance("I2C0").fxnTable = prog.extern("I2CMD_FXNS");

/*
* ======== VPFE0 Configuration ========
*/
bios.UDEV.create("VPFE0");
bios.UDEV.instance("VPFE0").fxnTable = prog.extern("VPFEMD_FXNS");
bios.UDEV.instance("VPFE0").fxnTableType = "IOM_Fxns";
  • I changed like this but here comes some errors:
    Description Resource Path Location Type
    ti.sysbios.family.c64p.Hwi.Instance#0 : Reset (intNum = 0) can't be assigned to the dispatcher .xdchelp /dm6437_ndk_vpfe 246 C/C++ Problem
    /**/
    var hwi7Params = new Hwi.Params();
    hwi7Params.instance.name = "hwi7";
    hwi7Params.arg = 0;
    hwi7Params.enableInt = true;
    Program.global.hwi7 = Hwi.create(0, "&ti_sysbios_family_c64p_EventCombiner_dispatch", hwi7Params);
    var hwi8Params = new Hwi.Params();
    hwi8Params.instance.name = "hwi8";
    hwi8Params.arg = 1;
    hwi8Params.enableInt = true;
    Program.global.hwi8 = Hwi.create(1, "&ti_sysbios_family_c64p_EventCombiner_dispatch", hwi8Params);
    var hwi9Params = new Hwi.Params();
    hwi9Params.instance.name = "hwi9";
    hwi9Params.arg = 2;
    hwi9Params.enableInt = true;
    Program.global.hwi9 = Hwi.create(2, "&ti_sysbios_family_c64p_EventCombiner_dispatch", hwi9Params);
    var hwi10Params = new Hwi.Params();
    hwi10Params.instance.name = "hwi10";
    hwi10Params.arg = 3;
    hwi10Params.enableInt = true;
    Program.global.hwi10 = Hwi.create(3, "&ti_sysbios_family_c64p_EventCombiner_dispatch", hwi10Params);
    var dev0Params = new DEV.Params();
    dev0Params.instance.name = "dev0";
    dev0Params.deviceParams = "&I2C_devParams";
    Program.global.dev0 = DEV.create("i2c", "&I2CMD_FXNS", dev0Params);
    var dev1Params = new DEV.Params();
    dev1Params.instance.name = "dev1";
    Program.global.dev1 = DEV.create("preview", "&PREVMD_FXNS", dev1Params);
    var dev2Params = new DEV.Params();
    dev2Params.instance.name = "dev2";
    Program.global.dev2 = DEV.create("resize", "&RSZMD_FXNS", dev2Params);
    var dev3Params = new DEV.Params();
    dev3Params.instance.name = "dev3";
    Program.global.dev3 = DEV.create("vpfe", "&VPFEMD_FXNS", dev3Params);
  • Hi Yang,

    what device and which versions of BIOS and XDCtools are you using?

  • EVM6437

    bios_6_32_05_54

    xdctools_3_22_04_46

  • Hi Yang,

    Almost. Try this setup here.

    Yang Hai said:
    var hwi7Params = new Hwi.Params();
    hwi7Params.instance.name = "hwi7";
    hwi7Params.arg = 0;
    hwi7Params.enableInt = true;
    hwi7Params.eventId = 0;
    Program.global.hwi7 = Hwi.create(7, "&ti_sysbios_family_c64p_EventCombiner_dispatch", hwi7Params);

    var hwi8Params = new Hwi.Params();
    hwi8Params.instance.name = "hwi8";
    hwi8Params.arg = 1;
    hwi8Params.enableInt = true;
    hwi8Params.eventId = 1;
    Program.global.hwi8 = Hwi.create(8, "&ti_sysbios_family_c64p_EventCombiner_dispatch", hwi8Params);

    var hwi9Params = new Hwi.Params();
    hwi9Params.instance.name = "hwi9";
    hwi9Params.arg = 2;
    hwi9Params.enableInt = true;
    hwi9Params.eventId = 2;
    Program.global.hwi9 = Hwi.create(9, "&ti_sysbios_family_c64p_EventCombiner_dispatch", hwi9Params);

    var hwi10Params = new Hwi.Params();
    hwi10Params.instance.name = "hwi10";
    hwi10Params.arg = 3;
    hwi10Params.enableInt = true;
    hwi10Params.eventId = 3;
    Program.global.hwi10 = Hwi.create(10, "&ti_sysbios_family_c64p_EventCombiner_dispatch", hwi10Params);

    This should get rid of the error you're seeing.

  • /* Enable ECM Handler */
    bios.ECM.ENABLE = 1; ==> var Ecm = xdc.useModule ('ti.sysbios.family.c64p.EventCombiner');

    It needs to change like this?
  • Yang,

    If you need to use more than 12 user supplied interrupts on the C64+, then you need to refer to the SYS/BIOS 6 API documentation for the ti.sysbios.family.c64p.EventCombiner.

    The EventCombiner module is new to BIOS6 and it's not a "drop-in replacement" to bios.ECM.ENABLE = 1; It is a RTSC module which was created in BIOS6 which provides some additional features, such as creating Hwi objects (interrupts) for you.

    If you feel inspired to learn about the EventCombiner I would encourage you to try the latest version of BIOS 6 and CCS v5, which has a graphical interface (Grace) to use the C64+ specific event combiner. In order to understand on how it works, you'll need to refer to Chapter 9 in C66x User Guide and the BIOS 6 API documentation.

  • Tom,

    Thank you very much!