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.

Cache API for non-BIOS application

Other Parts Discussed in Thread: OMAP-L137, SYSBIOS

Hello,

I'm designing an app on the C6747/OMAP-L137 without using BIOS. I would like to configure the cache. Using CSLr is a painful and time-consuming... and I would have to write my own cache management/configuration functions!

I read in an example that I could use the BCACHE API. This is good news because I inherited some .c files with calls to the BCACHE functions. But I haven't been successful in setting up my project to include and point to the correct headers and libraries.

I'm using CCS 4.2.3, BIOS 6.31 and PSPIOM 1.30.1 are installed.

So far, I did the following:

- #include <ti/bios/include/bcache.h>

- added librairies: ti.bios.a64P, ti.bios.a674, ti.sysbios.family.a64p.a64P, ti.sysbios.family.a64p.a674

- added the pre-define NAME: xdc_target_types__=ti/targets/std.h

I'm getting some unresolved symbols:

Severity and Description    Path    Resource    Location    Creation Time    Id
unresolved symbol _ti_sysbios_family_c64p_Cache_EMIFA_BASE__C, first referenced in ../../../ti/lib/ti.sysbios.family.c64p.a64P<Cache.o64P>        app    line 0    1307551340773    6776
unresolved symbol _ti_sysbios_family_c64p_Cache_EMIFA_CFG__C, first referenced in ../../../ti/lib/ti.sysbios.family.c64p.a64P<Cache.o64P>        app    line 0    1307551340774    6777
unresolved symbol _ti_sysbios_family_c64p_Cache_EMIFA_LENGTH__C, first referenced in ../../../ti/lib/ti.sysbios.family.c64p.a64P<Cache.o64P>        app    line 0    1307551340774    6778
unresolved symbol _ti_sysbios_family_c64p_Cache_EMIFB_BASE__C, first referenced in ../../../ti/lib/ti.sysbios.family.c64p.a64P<Cache.o64P>        app    line 0    1307551340774    6779
unresolved symbol _ti_sysbios_family_c64p_Cache_EMIFB_CFG__C, first referenced in ../../../ti/lib/ti.sysbios.family.c64p.a64P<Cache.o64P>        app    line 0    1307551340774    6780
unresolved symbol _ti_sysbios_family_c64p_Cache_EMIFB_LENGTH__C, first referenced in ../../../ti/lib/ti.sysbios.family.c64p.a64P<Cache.o64P>        app    line 0    1307551340774    6781
unresolved symbol _ti_sysbios_family_c64p_Cache_EMIFC_BASE__C, first referenced in ../../../ti/lib/ti.sysbios.family.c64p.a64P<Cache.o64P>        app    line 0    1307551340774    6782
unresolved symbol _ti_sysbios_family_c64p_Cache_EMIFC_CFG__C, first referenced in ../../../ti/lib/ti.sysbios.family.c64p.a64P<Cache.o64P>        app    line 0    1307551340774    6783
unresolved symbol _ti_sysbios_family_c64p_Cache_EMIFC_LENGTH__C, first referenced in ../../../ti/lib/ti.sysbios.family.c64p.a64P<Cache.o64P>        app    line 0    1307551340774    6784
unresolved symbol _ti_sysbios_family_c64p_Cache_Module__state__V, first referenced in ../../../ti/lib/ti.sysbios.family.c64p.a64P<Cache.o64P>        app    line 0    1307551340774    6785

What's missing in my project configuration?

Thanks

SC

  • Hello,

    Is there any other information that I can send that could help?

    Best regards,

    SC

  • Hi,

    Sorry, it seems your thread slipped from our radar screen. 

    Although this thread would be better answered by the experts in the BIOS forum, I did some research and found the <Bios_Legacy_App_Note.pdf> - typically installed in <CCS_INSTALL_DIR>\bios_6_3x_xx_xx\docs. It says there the BCACHE Legacy APIs can be used with BIOS6, however you must include some modules in a BIOS configuration file. (check this thread for some details).

    Since you are not using BIOS, I recall in the past seeing some examples on how to do this using BIOS5.x libraries and headers, therefore I imagine you may have more luck using BIOS5.41.x instead.

    Since I am not aware of such document for BIOS6, I will move this thread there so you will get more up-to-date information.

    Best regards,

    Rafael

  • Hi Rafael,

    Since the BCACHE API comes from BIOS 5.41, you gave me the idea of using the BIOS 5 library instead of BIOS 6 library. This is not a problem because my project is not using BIOS. After some reading and trial and error, I managed to link the project.

    Since I'm using the C6747 core, I included the bios6747.a674 library (from BIOS 5) and added the following lines:

    #include <ti/bios/include/std.h>
    #include <ti/bios/include/bcache.h>

    that include two BIOS 5 header files.

    Best regards,

    SC

  • Hi,

    Thank you for reporting back your findings.

    Regards,

    Rafael