• 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 » Digital Signal Processors (DSP) » C6000 Multicore DSP » Keystone Multicore Forum (C66, 66A, AM5) » Linear Assembly Projects
Share
C6000 Multicore DSP
  • Forums
  • Announcements
Options
  • Subscribe via RSS
Training Available
TI provides self-paced online training that introduces the primary components of the KeyStone II family of SoC devices.

  • KeyStone II SoC Overview >
  • KeyStone II Software Overview >
  • KeyStone II ARM Cortex-A15 Corepac Overview >
  • More Information >
  • Check out
    Multicore Mix blog
    • $core_v2_blog.Current.Name

      A look back: Two years of Multicore Mix

      Posted 18 hours ago
      by Lauren Reed1
      A big thank you to everyone who participated in our contest last...
    • $core_v2_blog.Current.Name

      It’s our second anniversary, but you get the present!

      Posted 7 days ago
      by Lindsey Bare
      It’s hard to believe it’s already been two years...
    • $core_v2_blog.Current.Name

      Limited time offer: Save $100 on Keystone-based EVM!

      Posted 20 days ago
      by tscheck
      Have you been thinking about ordering a TI Keystone-based EVM...

    Forums

    Linear Assembly Projects

    This question is not answered
    Arun
    Posted by Arun
    on May 07 2012 20:14 PM
    Intellectual840 points

    Hello,

    Can anybody tell me How to create Assembly only projects or Linear Assembly Projects on CCSv5.1 . Is there any file or link through which I can get starting help.

    Thanks! 

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Venugopala
      Posted by Venugopala
      on May 07 2012 22:57 PM
      Expert5000 points

      Hi Arun,

      There are no special projects for the assembly or linear assembly.

      In the usual projects itself one would add or include these assembly or linear assembly files.

      Regards,

      Venu

      Regards,

      Venugopala Krishna

      ---------------------------------------------------------------------------------------------------------
      Please click the Verify Answer button on this post if it answers your question.
      ---------------------------------------------------------------------------------------------------------

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Arun
      Posted by Arun
      on May 07 2012 23:30 PM
      Intellectual840 points

      Hello Venu,

      Thanks for your reply. I am sorry to say but your Reply increases my Doubt even 10 times.

      Can you Attach some projects like that Take one example of simple Dot product or matrix multiplication in which Linear assembly has been used. I want to check how these things are being handled. I don't know why is this just a Chance or what but whenever I am asking any question related with Linear Assembly here, either I am not getting any reply or not getting any Satisfied response.

      I am sorry for my little knowledge, But I really want to understand this thing on Linear Assembly level.

      Thanks and regards,
      Arun 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Venugopala
      Posted by Venugopala
      on May 08 2012 00:02 AM
      Expert5000 points

      Hi Arun,

      Can you go through http://www.ti.com/lit/ug/spru187o/spru187o.pdf esp Chapter 4.

      Regards,

      Venu

      Regards,

      Venugopala Krishna

      ---------------------------------------------------------------------------------------------------------
      Please click the Verify Answer button on this post if it answers your question.
      ---------------------------------------------------------------------------------------------------------

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Arun
      Posted by Arun
      on May 08 2012 00:48 AM
      Intellectual840 points

      Hello Venu,

      Thanks for your link. Ok, Now, my doubt is I have two files one is .c file for c code and second is for assembly with .asm. Now When I create empty or RTSC project in Code composer studio, How Will I use these two Files, I mean, If I only want Linear assembly to use because I want to put my data in registers only, Not anywhere else, so How would I do that. Does Empty RTSc project can be run with Assembly code, Will it behave like same as with normal c code, or something else is the way to deal with it.

      Thanks and regards,
      Arun 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Arun
      Posted by Arun
      on May 08 2012 00:54 AM
      Intellectual840 points

      Hello venu,

      Sorry for my little knowledge! I have not deal with Assembly before in my life. As far as I know I have to call that dotp function assembly in my Assembler code, But How to do that in case of 6678 DSP I don't know. Can you help me in that.

      Thanks and regards,
      Arun 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Chad Courtney
      Posted by Chad Courtney
      on May 08 2012 08:23 AM
      Mastermind22545 points

      Arun, all your assembly code should be C callable and follow the C calling convention.  Basically it means that variables passed into the function need to come in through specific registers, the ones passed out need to go out through specific registers, one register is used for Stack Point, one register is used for Return pointer and that's it.  You create you code w/ the _func name and build as in the documentation that's been provided to you in other threads.

      I'm not sure what specifcally you're trying to achieve w/ 'Put data in registers only', it's got to be in memory at some point and everything is executed out of the registers space (Memory -> Registers - Processed - Registers -> Memories) no issues leaving them in registers when multiple processing needs to be done and this is typically done even when using C.  As data sets get large you'll quickly see the need to push the data back out to memory. 

      As for this, you'll want to create a .c file such as main.c that has a main() function so it's used as the entry point and all related C_init assocated with it.  Within main() have it call your assembly function that you've created with assembly or linear assembly but use the C calling convention as mentioned.

      The reason you're having such a problem getting these questions answered is because what you're wanting to do isn't really feasible 'Run w/ data only in registers', 'build an assembly only project'.  Linear assembly and assembly are there to optimize performance of key routines, they are still meant to be C callable routines and called from a project with C functions.  The architecture is designed so that you can quickly get data from memory into registers, process it and put the data back into memories to free up those registers.  Please keep these in mind. 

      If you haven't done so already, I'd suggest taking a step back making a simply C code with C function to do what you're wanting to do.  Then make an assembly function that does the same thing, make it c callable, then call the function from within C.

      Best Regards,

      Chad

      ------------------------------------------------------------------------------------------------------------

      Please click the Verify Answer button on this post if it answers your question.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Arun
      Posted by Arun
      on May 08 2012 12:00 PM
      Intellectual840 points

      Hello Chad,

      First of All Thank you very much for taking pain to explain me in all this detailed way. I was looking for such a  detailed explanation. Next, Actually I want to deal with registers, because I have been using 6678 since long and I have tried to run some codes including Matrix to Matrix multiplication as well. I was basically interested in performance behavior and throughput's by that want to understand its Architecture. I have written codes, Played with memory on RTSC projects by keeping in L1, L2, MSMCSRAM. Now, I was only interested in small data just 2by2 matrix and put in registers and see all of these so I can get some ideas. 

      Anyways, Thank you very much! Let me try to deal with Assembly as the way you told me.

      Thanks and regards,
      Arun 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    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