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.

starterware use on sysbios application

Other Parts Discussed in Thread: SYSBIOS

In my sysbios project,when I use the function IntDSPINTCInit() which is supported by starterware,I found a problem,when I call Task_sleep(),it entered the death cycle!!!

How can I solve this problem?

Is there any library like starterware but based on SYSBIOS?

  • Hi,
    Which project are you porting from staterware to SYSBIOS ?
    Where did you use "Task_sleep" function ?

    e2e.ti.com/.../1148933
  • I port usb_dev_bulk.c from Starterware to SYS/BIOS.I use Task_sleep() function in my task as follow:

    Void taskFxn(UArg a0, UArg a1)
    {
        unsigned char data[20],count;

        printf("enter taskFxn()\n");

        dsp_usb_init();

        while(1){
            dsp_usb_read(data,&count);
            printf("count=%d,data:%s\n",count,data);
            printf("hello world1\n");
            Task_sleep(20);
            printf("hello world2\n");
        }
    }

    In this task,dsp_usb_read() is executed only once,“hello world1” can be output,"hello world2" can not be output.

    I found that it is IntDSPINTCInit() function cause this problem,so I use Hwi_create() function to replace it.as follow:

    void ConfigureDSPINTCIntUSB (void)
    {
    #if 0
        IntDSPINTCInit();
        IntRegister(4, USB0DeviceIntHandler);
        IntEventMap(4, SYS_INT_USB0);
        IntEnable(4);
        IntGlobalEnable();
    #else
        Hwi_Params hwiParams;
        Error_Block      eb;
        static UInt32 key = 0;

        key = Hwi_disable();
        Error_init(&eb);
        Hwi_Params_init(&hwiParams);
        hwiParams.eventId = SYS_INT_USB0;
        hwiParams.enableInt = TRUE;
        Hwi_create(4,(Hwi_FuncPtr)USB0DeviceIntHandler,(const Hwi_Params *)&hwiParams,&eb);
        Hwi_restore(key);
    #endif
    }

    But the driver can't work properly,the usb device can't be recognized by the usb host!!!

    How can I solve this problem?

    Looking forward to you reply,thanks.

  • hello, have you solved the problem, can you give some suggestion of this?

  • It looks like I've just hit this same problem.

    Has anyone figured out what to do here?

    Thanks.
  • Dear DSPwork,
    Are you facing similar problem like hang in "Task_Sleep()" function ?
    I would like you to create a new post for your problem instead following up the old post as it won't get much attention by other TI experts.
    You can also add the link into your new post for our reference.
    Thanks for your understanding.
  • I am able to get my interrupt working, but I am using the Beaglebone black - However, I am now experiencing a different problem, so take my example with a grain of salt.  SYS_INT_USB0 is interrupt 18 on the beaglebone black.  Also, I am nost using DMA.  Any delays in the starterware code also have to be changed or else they will cause hanging.

    Hwi_Params hwiParams;

    Hwi_Params_init(&hwiParams);

    hwiParams.arg = (UArg)0;

    hwiParams.enableInt = TRUE;

    hwiParams.eventId = SYS_INT_USB0;

    Hwi_Handle hHwi = Hwi_create(SYS_INT_USB0, (Hwi_FuncPtr)USB0DeviceIntHandler, &hwiParams, NULL);

  • Thanks Chad for your update.
    Yes, you are right.
    One more reference:
    e2e.ti.com/.../1763639