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.

Board freezes when Loading DSP that uses sysbios GIO and DEV modules

Other Parts Discussed in Thread: SYSBIOS
Hi, i am working with a BIOS Driver on dm8168evm DSP.
From my ezsdk's ezsdk-5_05_02_00 /bios_6_33_05_46, i have tried to use ti.sysbios modules such  as GIO and DEV for driver device instance creation (Gio_create, DEV_create for example). When Codec Engine loads DSP, IPC startcallback returns 0,  after that when the command prompt outputs 'Starting DSP ...' the board freezes and needs restart.
Have there been issues with this .IO modules for this BIOS6 version? I have tried both static (.cfg) and dynamic usage of the module. DSP build goes without errors or warnings, this is GIO implementation,
var GIO =  xdc.useModule('ti.sysbios.io.GIO');
var initFxn = "test_spi_init";
var deviceParams = "spiParams";
var deviceId = 1;
GIO.addDeviceMeta("/spi1", iomFxns, initFxn, deviceId, deviceParams);
Other one without GIO only DEV,
var DEV = xdc.useModule('ti.sysbios.io.DEV');
DEV.tableSize = 2;
var dev0Params = new DEV.Params();
dev0Params.instance.name = "drivertest";
dev0Params.initFxn = "&test_spi_init";
dev0Params.deviceParams = "&spiParams";
Program.global.drivertest = DEV.create("/spi1", "&Spi_IOMFXNS", dev0Params);
In both cases the IPC cannot load the DSP successfully and the board freezes. I have 16384 Heap size and 0x2000 of stack. 
I would apprecciate some help on this, thanks.
-Jose L.
  • Hi Jose L.,

    Have you seen Chapter 9 Input/Output of the SYS/BIOS User's Guide? (in the docs directory of your SYS/BIOS installation).  This chapter provides a lot of helpful information on DEV and GIO for SYS/BIOS.

    Also, the following related forum thread may be useful to you:

    http://e2e.ti.com/support/embedded/bios/f/355/t/153899.aspx

    Steve

  • Hi Steven, thanks for the reply.

    The thread you pasted talks mainly about a Legacy Module (Stream), I am not using this one right now. Also by the time I posted, i had already consulted the documentation and with the information provided doesnt has helped me progress on my problem.

    I have omitted GIO API and start using directly IOM_FXNS (for example: spi_mdBindDev), some questions have come due to the use of this ones ..

    If I use IOM_FXNS are there special recommendations i need to take into account?

    When I run spi_mdBindDev it returns IOM error code -1, I figured out that the error comes  when it returns from the fuction Psc_ModuleClkCtrl (Timeout error it seems) .

    What does function  Psc_ModuleClkCtrl do? I am confused about what Power Sleep functionality gives (sw or hw), if its about the driver instance, the DSP unit, or periphalph?

    I would help me a lot to understand this API's set, thank you very much.

    BR

    Jose L.

  • Hi Jose,

    Jose Lopez1 said:
    When I run spi_mdBindDev it returns IOM error code -1, I figured out that the error comes  when it returns from the fuction Psc_ModuleClkCtrl (Timeout error it seems) .

    What does function  Psc_ModuleClkCtrl do? I am confused about what Power Sleep functionality gives (sw or hw), if its about the driver instance, the DSP unit, or periphalph?

    Could you tell me which software component these APIs are coming from? I don't believe these are SYS/BIOS APIs.

    Steve

  • Hi Steve, 

    Sorry i didnt specified properly, im a using biospsp BIOS6 03.01.01.00, my DSP has the same OS. So I am migrating this driver package, the SPI driver depends on PSC driver library also (Psc_ModuleClkCtrl for example).

    I have made some advancements on the driver implementation, nevertheless I havent made this Psc function call to succeed (timeout error), so I would like to understand if this Psc clock control function is a must for the driver implementation or which other API's can be considered.

    Regards

    -Jose L.