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.

problem in programming dsp 6713

Hello,

I'm a new user in programming dsp with Assembler, i have a set instruction reference guide

but it's not enough, i want to know how to declare variable and initialize it with a value, i tried this: MVK  .S1  0x7e66,A0

but i have error that no storage for variable. in assembleur,is there possible tu use trigonometric fonctions like sinus?

thanks :-)

  • Meriem Demraoui,

    Welcome to the TI E2E forum. I hope you will find a lot of good answers here and in the TI Home Page documents and in the TI Wiki Pages. Be sure to search those for helpful information and to browse for the questions others have asked on similar topics.

    If you continue on the path of assembly programming, you will need the Assembly Language Tools User's Guide for your processor and for the version of Assembly tools you are using. Also, search www.ti.com for training materials for C6000 assembly programming.

    The best advice anyone can give you with assembly programming for a C6000 device is: "Do not do assembly programming."

    Write your program in C, compile it, debug it, if it works fast enough, then you have saved yourself a lot of time and effort. If it still needs to be faster, use other means to optimize it and return to assembly programming only after you have done everything else possible to optimize it, plus you will have the compiler's assembly output to start from for assembly-based optimization rather than starting from scratch with basic questions like you have here.

    You can search the Wiki Pages for help with optimization.

    Regards,
    RandyP

     

    If this answers your question, please click the  Verify Answer  button below. If not, please reply back with more information.

  • Hello,

    i want to use c++ but my supervisor tell me to do this work in asm,

    i understand instructions and how to use it and i wish to find a guide with more details

    in programming.

  • Meriem,

    I respectfully recommend you and your supervisor reconsider this decision.

    If you continue the path through assembly, you need to sign-up for the C6000 Optimization Workshop. The next one I see scheduled from ti.com/training is in January in the United Kingdom. This class is not an assembly class, but it does teach using some assembly and techniques for assembly optimization such as software pipelining.

    Use linear assembly rather than regular assembly.

    As I said before, write in C or C++ and work from the assembly output from the C compiler. The C compiler's output can often be optimized by an experienced assembly expert, but the C compiler's output will always work and will usually be better than what an inexperienced assembly author can do, no offense intended.

    Best of luck to you.

    Regards,
    RandyP

  • When programming in assembler there is no real concept of variables, only registers and memory locations. It is your responsibility to track which memory locations you are using to store your 'variables' and what types you want them to represent.

    You can declare references which can behave in a similar manner to variables when writing in assembly mnemonics, but you still need to pick a memory location to store your data and then actually declare them.

    I would suggest reading some introduction to assembly language books before delving into DSP specific assembler since there are many additional consepts and constructs necessary to fully utilize a DSP architecture.

    BR,

    Steve