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.

BIOSPSP 3.00.01.00 examples, event combiner

Other Parts Discussed in Thread: SYSBIOS

Hello,

I've looking at the examples in the BIOSPSP for using drivers, and wondering what the event combiner is doing.  I don't see any references to it in the application code, but when I removed it from my config, CCS threw a bunch of EDMA3 errors during linking.  Does the EDMA3 driver have it's own ISR that expects combined events?  What exactly is going on there?

<Linking>

undefined first referenced
symbol in file
--------- ----------------
ti_sysbios_family_c64p_EventCombiner_disableEvent__E C:/ti/edma3_lld_02_11_04_01\packages\ti\sdo\edma3\drv\sample\lib\c6748-evm\674\debug\edma3_lld_drv_sample.ae674<sample_c6748_int_reg.oe674>
ti_sysbios_family_c64p_EventCombiner_dispatchPlug__E C:/ti/edma3_lld_02_11_04_01\packages\ti\sdo\edma3\drv\sample\lib\c6748-evm\674\debug\edma3_lld_drv_sample.ae674<sample_c6748_int_reg.oe674>

ti_sysbios_family_c64p_EventCombiner_enableEvent__E C:/ti/edma3_lld_02_11_04_01\packages\ti\sdo\edma3\drv\sample\lib\c6748-evm\674\debug\edma3_lld_drv_sample.ae674<sample_c6748_int_reg.oe674>
>> Compilation failure

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "uart_test.out" not built
gmake: *** [uart_test.out] Error 1
gmake: Target `all' not remade because of errors.

**** Build Finished ****

  • Chris,

    There is not much expertise specific to the BIOS PSP in the BIOS forum, so I have moved this thread over to the device forum in hopes that it will get a faster response there.

  • Chris,

    You should not remove EventCombiner configuration from your cfg file.
    For instance, in audio example, EventCombiner is being used to register EDMA3 error and EDMA3 transfer completion ISRs in EDMA3 LLD pacakge. It is also being used to register McASP error interrupt in McASP driver.

    Please take a look at the source code of EDMA3 LLD and GIO mini driver set.

    Regards,
    Kawada 

     

  • Chris,

    The C6748 BIOSPSP 03.00.01.00 dependencies are mentioned below for build and test,

    1. CCS 5.1.0.09000 or higher
    2. C6748 EVM
    3. SYS/BIOS 6.33.01.25
    4. Code Generation Tools 7.3.1
    5. EDMA3 product version 02.11.02.04
    6. XDC 3.23.00.32

    EDMA3 Dependency:
    Please ensure that current PSP release is compliant with version of EDMA3 driver being used.

  • Hi,

    So the BIOSPSP 03.00.01.00 will not work with any other version of sysbios, xdc,cdt,edma3?

    Is there an updated example similar to the mmcsd example in BIOSPSP 03.00.01.00?

    Argh, I spent a bunch of time on the biospsp 03.00.01.00 example and then discover this dependencies.
  • What problem are you getting ?
    Can you please elaborate on your problem ?
  • I was trying to get the mmcsd example in the BIOSPSP 03.00.01.00 (to follow the thread of improve throughput).

    I am not using the version specified by the following:

    The C6748 BIOSPSP 03.00.01.00 dependencies are mentioned below for build and test,

    CCS 5.1.0.09000 or higher
    C6748 EVM
    SYS/BIOS 6.33.01.25
    Code Generation Tools 7.3.1
    EDMA3 product version 02.11.02.04
    XDC 3.23.00.32


    I am getting "mmcsdStorageInit fails", stepping through the code it is showing PSP_blkMediaDrvInit failed error code -136 (block media Init fail).

    Is this due to not having the exact versions above?
  • Dear Mike,

    I am getting "mmcsdStorageInit fails", stepping through the code it is showing PSP_blkMediaDrvInit failed error code -136 (block media Init fail).

    Nope. Its not due to version dependency, you may consider the version dependency if you face any problem while building the project.

    Have you changed the code to improve the throughput ?
    Then review and check the code that you changed before not working...
  • I have made  ZERO change to the example code.


    I've build the drivers in BIOSPSP 3.00.01.00 and then build the mmcsd example in CCS 6.   I've made no changes.  I was just trying to get the example to work.

    Any other suggestion would be helpful.


    Thank you.

  • I'm able to build and run the MMCSD example.

    Have you inserted the FAT formatted SD/MMC card into board ?

    Here the logs when I run.

    [C674X_0]

    MMCSD_SAMPLE : Starting Sample Application Using BLOCK MEDIA

    MMCSD_SAMPLE:Card is inserted

    MMCSD_SAMPLE: Media is registered with FATfs

    MMCSD_SAMPLE: Create Fat format on MMCSD

    MMCSD_SAMPLE: create partition successful

    MMCSD_SAMPLE: mmcsdStorageDeInit success

    MMCSD_SAMPLE: Sample Application Ends Using BLOCK MEDIA

    I'm attaching the example which I created.

    Please try and let me know.

    mmcSD_ex.zip

  • Titus,

    Thank you for your example. It works better and I got almost the same output except "FATFS fxn 'fopen' return NULL count=11.

    I diff the example files between yours and the BIOSPSP and they were different.

    Anyways, I will have to find out why fopn fails.

    It looks like I've got something to start with. If you have an idea why fopen fails please let me know.

    Thank you again.
  • This "fopen" fails due to compiler restrictions, you need to increase the no of file open in compiler include file.
    Please refer to this E2E post.
    e2e.ti.com/.../1695033
  • Ok, I've now integrated the USB MSC from StarterWare and the PSP MMCSD example from Titus.

    I register the MMCSD PSP block device first, get setup the USB drive. For USB, I am using FATFS but for MMCSD I am not using FATFS. The example was perfect because I just need to do a Blk_Write, RAW write.

    I am able to read data from the USB drive but the PSP Blk_Write is blocked and does not return. If I don't run the USB code, the Blk_Write call works fine.

    What is the conflict in the USB code that causes this? I'm very close to getting all this to work together.

    Titus/Randy, I really appreciate the help. Could you provide some clue to the conflict? I am so close and my deadline is here soon.
  • It looks like there is interrupt setup conflict but I am not sure how to resolve this.

    The MMCSD is calling mmcSdPscInit and the USB is calling ConfigureInitUSB->IntDSPINTCInit();. I think one override the other.

    Any ideas on what to do there?

    Thank you.
  • It seems you are integrating the DSP/BIOS based application with bare-metal USB code.
    Here, both registering the interrupt is different, so please try to debug the integrated the application and narrow down which is causing the problem.

    Also do some search "starterware + BIOS" keyword to get e2e posts.
    e2e.ti.com/.../1150318
    e2e.ti.com/.../518568