• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Embedded Software » BIOS » BIOS forum » how to run sys/bios example on C674x core of C6A8168?
Share
BIOS
  • Forum
  • Announcements
Options
  • Subscribe via RSS

Forums

how to run sys/bios example on C674x core of C6A8168?

This question is answered
peng wang
Posted by peng wang
on Feb 22 2012 03:21 AM
Intellectual450 points

Hi all,

I create a sys/bios helloworld project in CCSv5.

I am using c6a8168.I load the gel evm816x.gel and add a C6A816X.cmd to the project.

But when building project it comes errors "DDR0 memory range overlaps existing memory""L3OCMC0 memory range overlaps existing memory".

My .cmd file is downloaded from http://processors.wiki.ti.com/images/a/a7/C6A816x.zip.

Then I remove the C6A816x.cmd, building succes.But when I load program to core C674x, it prints nothing.

How to run a sys/bios example on c6a8168's dsp core?

francis

SYS/BIOS ccs v5 8168 xds100v2
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Tom Kopriva
    Posted by Tom Kopriva
    on Mar 23 2012 18:38 PM
    Expert6280 points

    Hi Francis,

    I just ran the hello world example on the C67x core of a TMDXEVM8148, just to make sure there nothing wrong with our dmtimer module. It worked fine on the actual hardware.

    This means that the timer (dmtimer) that C674x uses is not supported by the simulator (C674x CPU Cycle Accurate Simulator).

    Here are your options:

    Use the actual hardware instead of the simulator

    - or -

    Change the platform to ti.platforms.evm6748 with the C674x CPU Cycle Accurate Simulator. This platform uses a timer64 instead of a dmtimer.

    Thanks,

    Tom

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • NITIN MEWADA
    Posted by NITIN MEWADA
    on Mar 24 2012 02:28 AM
    Prodigy120 points

    Hi everybody

    I am using  CCS  Version: 5.1.1.00031, DM3730, XDS100v2 on windows 7 32 bit

    On my C64x+ side , i was trying to run SYS/BIOS  examples, there i was getting error like 

    Can't find a source file at "/db/vtree/library/trees/avala/avala-p52x/src/ti/sysbios/timers/gptimer/Timer.c" 
    Locate the file or edit the source lookup path to include its location.
     Note: In RTSC platform i am selecting evm 3530 as target because, they both are sister versions.

    I tried this hello example on simulator c64x+ using system_flush just after System_printf(), there i am getting the result, but while doing it on hardware i am getting some error as mentioned above 

    Can anybody guide me on this

    With Regards
    Nitin Mewada 
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • NITIN MEWADA
    Posted by NITIN MEWADA
    on Mar 24 2012 02:59 AM
    Prodigy120 points

    Hi

    So far i am able to run every SYS/BIOS example on simulator....For simulator i used System_flush();, problem solved...

    but what about running on about C64x+  side of DM3730. 

    I guess something is wrong when i am choosing  ti.platforms.evm3530 for my BeagleBoard-xm(DM3730). in case there is the problem with selecting board then should i fill specifications about the new platform according to the Reference guide from TI , i mean hardware reference guide

    Does anybody have clue on this now ???

    Nitin 

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Tom Kopriva
    Posted by Tom Kopriva
    on Mar 26 2012 13:49 PM
    Expert6280 points

    Hi Nitin,

    I'm somewhat confused on with what you are having problems with.

    Is this related to this discussion here: http://e2e.ti.com/support/embedded/bios/f/355/t/177874.aspx, if so, then we need to continue the discussion on that thread.

    Simulators only support a limited functionality (only specific timers for example). Which particular simulator are you using? What is working and what isn't?

    Thanks,

    Tom

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Niki Steenkamp
    Posted by Niki Steenkamp
    on Mar 26 2012 19:08 PM
    Prodigy200 points

    Hi Francis,

     

    Sorry to budge in, but did you solve your problem?  I am seeing the exact same problem with the Hello World example loaded to the C674x (DSP) side of the TMS320C6A8168 (on the Spectrum Digital 816x EVM).  The message is never printed and the execution is stuck in the timer initialization it seems.  I have tried a different platform (OMAP-L138) and with this platform it works!  But with the TI816x or DM816x platform it wont work.

    Is it possible that the GEL file does not enable / power-up the timers?  I am using the default GEL filr from Spectrum Digital.

    Regards,

    Niki

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • peng wang
    Posted by peng wang
    on Mar 26 2012 21:13 PM
    Intellectual450 points

    hi Niki,

    I haven't solved the problem. I am looking forward to  someone's help...

     

    francis

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Tom Kopriva
    Posted by Tom Kopriva
    on Mar 29 2012 14:39 PM
    Expert6280 points

    Gentlemen,

    I'm seeing your problems on the CA8168 and DM3730 now, sorry for the confusion.

    The problem is that (for some reason) the C6000 cannot read the correct value from the (dm or gp)timer register (it always shows up with 0x00000000, when it shouldn't) and hence the timer config function spins forever in the while loop waiting for the timer to finish it's reset.

    I believe perhaps that the clocks to the timer peripheral or the peripheral's interface aren't enabled. This can be done using GEL files, which I don't have at the moment. I'll see what I can find and will keep you posted.

    Thanks,

    Tom

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Niki Steenkamp
    Posted by Niki Steenkamp
    on Mar 30 2012 04:49 AM
    Prodigy200 points

    Hi,

    I have added the following to my GEL file and it fixed the problem:

    /* Timer PRCM Registers */
    #define CM_ALWON_TIMER1_CLKCTRL   (PRCM_BASE_ADDR + 0x1570)
    #define CM_ALWON_TIMER2_CLKCTRL   (PRCM_BASE_ADDR + 0x1574)
    #define CM_ALWON_TIMER3_CLKCTRL   (PRCM_BASE_ADDR + 0x1578)
    #define CM_ALWON_TIMER4_CLKCTRL   (PRCM_BASE_ADDR + 0x157C)
    #define CM_ALWON_TIMER5_CLKCTRL   (PRCM_BASE_ADDR + 0x1580)
    #define CM_ALWON_TIMER6_CLKCTRL   (PRCM_BASE_ADDR + 0x1584)
    #define CM_ALWON_TIMER7_CLKCTRL   (PRCM_BASE_ADDR + 0x1588)

    Setup_PRCM()
    {
        < code removed for clarity >

        // Enable Timers
        GEL_TextOut( "Enabling Timer 1...\n" );
        WR_MEM_32(CM_ALWON_TIMER1_CLKCTRL,    0x2); // Enable Timer Clock
        while((RD_MEM_32(CM_ALWON_TIMER1_CLKCTRL) & 0x2) !=0x2);
        GEL_TextOut( "Enabling Timer 2...\n" );
        WR_MEM_32(CM_ALWON_TIMER2_CLKCTRL,    0x2); // Enable Timer Clock
        while((RD_MEM_32(CM_ALWON_TIMER2_CLKCTRL) & 0x2) !=0x2);
        GEL_TextOut( "Enabling Timer 3...\n" );
        WR_MEM_32(CM_ALWON_TIMER3_CLKCTRL,    0x2); // Enable Timer Clock
        while((RD_MEM_32(CM_ALWON_TIMER3_CLKCTRL) & 0x2) !=0x2);
        GEL_TextOut( "Enabling Timer 4...\n" );
        WR_MEM_32(CM_ALWON_TIMER4_CLKCTRL,    0x2); // Enable Timer Clock
        while((RD_MEM_32(CM_ALWON_TIMER4_CLKCTRL) & 0x2) !=0x2);
        GEL_TextOut( "Enabling Timer 5...\n" );
        WR_MEM_32(CM_ALWON_TIMER5_CLKCTRL,    0x2); // Enable Timer Clock
        while((RD_MEM_32(CM_ALWON_TIMER5_CLKCTRL) & 0x2) !=0x2);
        GEL_TextOut( "Enabling Timer 6...\n" );
        WR_MEM_32(CM_ALWON_TIMER6_CLKCTRL,    0x2); // Enable Timer Clock
        while((RD_MEM_32(CM_ALWON_TIMER6_CLKCTRL) & 0x2) !=0x2);
        GEL_TextOut( "Enabling Timer 7...\n" );
        WR_MEM_32(CM_ALWON_TIMER7_CLKCTRL,    0x2); // Enable Timer Clock
        while((RD_MEM_32(CM_ALWON_TIMER7_CLKCTRL) & 0x2) !=0x2);

    ...

    It is probably not necessary to enable all timers but I am not sure wich timers are used by ysBios (I am very new to SysBios, and still learning).  Also,

     

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Tom Kopriva
    Posted by Tom Kopriva
    on Mar 30 2012 13:47 PM
    Verified Answer
    Verified by David Friedland
    Expert6280 points

    Hi All,

    You can use the ROV to determine which timer SYS/BIOS uses and enable that particular timer. Go to the Timer module and look for the "name" field. On your devices it happens to be that both of your timers start by default with Timer 5. To select a different timer you can go to the SYS/BIOS Clock module and use a different TimerId.

    Niki & Francis,

    the gel script (for the Cortex - A8) Niki posted worked for me on the TMS320C6A8168. The script Niki posted will enables the clock interface to the timer. See the CM_ALWON_TIMER_5_CLKCTRL register in the TRM here. Once I enabled that bit, i was able to read the register contents from the Memory Browser.

    Nitin,

    for the DM3730, similar problem, however on your hardware you are using a GPTimer (GPTimer 5 as default). To get your timer running you need to enable EN_GPT5 in the CM_ICLKEN_PER register (from the Cortex - A8 side) See the TRM here. Once I enabled that bit, i was able to read the register contents from the Memory Browser as well.

    Thanks,

    Tom

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • NITIN MEWADA
    Posted by NITIN MEWADA
    on Apr 09 2012 11:23 AM
    Prodigy120 points

    Hi Tom,

    Ya, the solution was correct. I did the  same as you explained in your last post. It works fine. Thanx a lot for this.  

    With Regards

    Nitin Mewada

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • hitesh manwar
    Posted by hitesh manwar
    on Apr 12 2012 06:58 AM
    Intellectual280 points

    hi everyone,

    i am facing a similar problem here with DM816x EVM by spectrum digital. I am trying to run the basic "hello world" example in sys bios, when i load the program , it just hangs and on suspending it says "timer.c" is missing.. i have already tried to paste the script for gel file as mentioned below, doesnt work for me.. and also i tried using the sys/bios module to enable the timer 5 by changing the timer id. still the same problem occurs.. 

    am i missing something here. Can anybody attach the entire GEL script for Cortex A8 that worked  with DM816x?

    the error i get after suspending the debug operation is as follows

    Can't find a source file at "/db/vtree/library/trees/avala/avala-p52x/src/ti/sysbios/timers/dmtimer/Timer.c" 
    Locate the file or edit the source lookup path to include its location.


    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • NITIN MEWADA
    Posted by NITIN MEWADA
    on Apr 12 2012 11:14 AM
    Prodigy120 points

    Hi Hitesh,

    If you trace back previous posts. You can see that for different cores, different  timers has to enabled. In your case timer is ""dmtimer". so you have enable this timer into your gel scripts, and i think you are copying part into your gel file which Niki posted. If, so then ,that code enables CM_ALWON timers, which will not  work for you. For enabling this one, you can refer your DM816x TRM, and locate this timer's address and enable this timer. 

    With Regards

    Nitin Mewada

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • ram
    Posted by ram
    on Apr 30 2013 09:18 AM
    Intellectual320 points

    Hi all

     I am trying to run  SYSBIOS helloworld project on  BeagleBoard-xM using XDS100v2 in CCSv5.3.I have built project with out errors, But during debugging i am getting following exception error.

     [Cortex_A8_0] Exception occurred in ThreadType_Main.
    Main handle: 0x0.
    Main stack base: 0x8000a830.
    Main stack size: 0x1000.
    R0 = 0x8000bc04  R8  = 0x00000002
    R1 = 0x00000000  R9  = 0x00000001
    R2 = 0x600001df  R10 = 0x8000b7cc
    R3 = 0x00000000  R11 = 0x0000000e
    R4 = 0x49032000  R12 = 0x00000002
    R5 = 0x8000be1c  SP(R13) = 0x8000b774
    R6 = 0x8000bba4  LR(R14) = 0x80006948
    R7 = 0x00000000  PC(R15) = 0x80004e78
    PSR = 0x200001df
    ti.sysbios.family.arm.exc.Exception: line 176: E_dataAbort: pc = 0x80004e78, lr = 0x80006948.
    xdc.runtime.Error.raise: terminating execution

    After this exception error Coretx-A8_0 is in suspend-Sw breakpoint   mode and  execution is comming out with loader_exit(exit.c) function .

    I have traced using pc address value (pc = 0x80004e78) , It is going directly to timer.c (188 line). and i am observing this log in red color

    Can't find a source file at "/db/vtree/library/trees/avala/avala-r20x/src/ti/sysbios/timers/gptimer/Timer.c"
    Locate the file or edit the source lookup path to include its location.

    Please can anyone help me how to resolve this error?



    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
12
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use