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.

how to avoid this ?

Other Parts Discussed in Thread: CCSTUDIO, SPRC087

[Linking...] "C:\CCStudio_v3.3\c2000\cgtools\bin\cl2000" -@"Debug.lkf"

<Linking>

>> warning: creating output section SINTBL without SECTIONS specification

>> warning: creating .stack section with default size of 1024 bytes.

Use

-stack option to change the default size.

Build Complete,

0 Errors, 5 Warnings, 0 Remarks.

 

I am getting above warnigns what it means, i tried to edit the commander file but i have not find the empty memory to create SINTBL section

Please help me

Thanks & Regards,

Naveen Rangu

 

  • It seems you are using IQmath library. What MCU and library are used? I ask this because IQmath library for C28x doesn't use SINTBL memory section for look-up tables, it uses IQmathtable and so on. SINTBL section is used by math library for 24x MCUs. These look-up tables are places in ROM.

    Second warning shouldn't worry you if your stack size will not exceed 1024 bytes.

  • yes i am using IQmanth library . I am using F28335 and IQMath_fpu32.lib.you are correct i found only  IQTABELS and FPUTABELS. But in my appliaction i need to generate sinewave how to rectify the problem then

    Thanks & regards,

    Naveen Rangu

  • Moreover could you explain me about Datalog module ? Iam not understanding that module

     

    Thanks & regards,

    Naveen Rangu

  • I have never been  programming 28335, but I have downloaded and installed SPRC087. In SPRC087 I have found example how to use math library with 28335. Maybe it will be helpful for you. As I understand fpu library uses FPUTABLES memory section (see sprufn5a.pdf). And your cmd file should contain next lines

    MEMORY
    {
      PAGE 0 :
      ...
      FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0
      ...
    }
      SECTIONS
    {
      ...
      FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD
      ...
    }

    PS. What is it Datalog Module?

     

     

  • Thanks Kamil,

    That memory mapping and sections are already defined in the RAM-Linker Cmd file.thats not a problem. I have to generate a sine wave inmy application for that i have to add Sine lookup table.I tried to add Sintabels in memory linker file. But I have not find memory space to write memory to mapping and sections

    please help me

    regards,

    Naveen Rangu 

     

  • Hi!

    Are you using your own lookup table? Why don't you use lookup tables located in ROM? I tried create sin wave application in such way described in sprc087 for 2809 MCU. Can you show me your .cmd linker file?

  • Hi,

    i am not using my own look up table.I am using C28x Signal generator library (SPRC083).i have installed it and working on it.

    Is it enough to generate sine wave using look up tabels that are located in ROM,if so why seperate signal generator libraray for that?

    I am not understanding the differences between them . I am using Standadrd   28335_RAM_lnk.cmd file only (with  DSP2833x_Headers_nonBIOS.cmd)

    Thanks & Regards,

    Naveen Rangu

     

  • I have downloaded sgen library. In descrtiption for this library I have found description and instructions for each included function. So, one of them tell us:

    Note: Edit Linker Command file, to place the look-up table in Program memory.

    SINTBL > PROG PAGE 0 

    Where PROG is memory section in your program memory. For example:

    MEMORY
    {
    PAGE 0 :
      /* BEGIN is used for the "boot to SARAM" bootloader mode */
      /* BOOT_RSVD is used by the boot ROM for stack. */
      /* This section is only reserved to keep the BOOT ROM from */
      /* corrupting this area during the debug process */
       
      BEGIN : origin = 0x000000, length = 0x000002 /* Boot to M0 will go here */
      BOOT_RSVD : origin = 0x000002, length = 0x00004E /* Part of M0, BOOT rom will use this for stack */  
      RAMM0 : origin = 0x000050, length = 0x0003B0

      RAML0 : origin = 0x008000, length = 0x001000  
      RAML1 : origin = 0x009000, length = 0x001800  
      RAML2 : origin = 0x00B000, length = 0x001000  
      RAML3 : origin = 0x00C000, length = 0x001000
      ZONE7A : origin = 0x200000, length = 0x00FC00 /* XINTF zone 7 - program space */
      CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */
      CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */
      ADC_CAL : origin = 0x380080, length = 0x000009
      RESET : origin = 0x3FFFC0, length = 0x000002
      IQTABLES : origin = 0x3FE000, length = 0x000b50
      IQTABLES2 : origin = 0x3FEB50, length = 0x00008c
      FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0
      BOOTROM : origin = 0x3FF27C, length = 0x000D44  

       
    PAGE 1 :
      RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
      RAML4 : origin = 0x00C000, length = 0x001000  
      RAML5 : origin = 0x00D000, length = 0x001000  
      RAML6 : origin = 0x00E000, length = 0x001000  
      RAML7 : origin = 0x00F000, length = 0x001000
      ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 - data space */
    }

    SECTIONS
    {

    ....

    /* Specify allocation of SINTBL section here*/

     SINTBL > RAML0 PAGE 0 

    ....
    }

    The difference between this two libraries is that, sgen library gives more complete and useful instrument. Also you can write your own functions using IQMath library.

  • Thank u Kamil,

                                  I found one Datalog module in signal generator. what is this can u explain me ?

                               i found following snippet in sine generator

                              # include  "dlog4ch.h"

                              /* Create an instance of DATALOG Module             */
                               DLOG_4CH dlog=DLOG_4CH_DEFAULTS;       

                               dlog.iptr1        =&x1;
                               dlog.trig_value=0x800;
                               dlog.size=0x400;         /* Can log 1024 Samples                      */
                               dlog.init(&dlog);

     

    Thanks & Regards,

    Naveen Rangu

     

  • You can find description and source codes in sprc215 F280x Digital Motor Control Library

  • Thanks kamil,

    I have gone through the DMC document.But i have not find in detail about Datalog module .I am not understanding what its exact purpose ?

    where it is used? for what type of purposes ?

    is there anyway that i can learn more about Datalog module?

    Thanks & Regards,

    Naveen Rangu

  • D:\tidcs\DMC\c28\v32x\lib\doc\data_log.pdf

    This module stores the real-time values of four user selectable software
    Q15 variables in the data RAM provided on the 28xx DSP. Four
    variables are selected by configuring four module inputs, iptr1, iptr2, iptr3
    and iptr4, point to the address of the four variables. The starting
    addresses of the four RAM locations, where the data values are stored,
    are set to DLOG_4CH_buff1, DLOG_4CH_buff2, DLOG_4CH_buff3, and
    DLOG_4CH_buff4. The DATALOG buffer size, prescalar, and trigger
    value are also configurable.

    Example:

    main()
    {
    dlog1.iptr1 = &Q15_var1; // Pass input to DATALOG module
    dlog1.iptr2 = &Q15_var2; // Pass input to DATALOG module
    dlog1.iptr3 = &Q15_var3; // Pass input to DATALOG module
    dlog1.iptr4 = &Q15_var4; // Pass input to DATALOG module
    dlog1.trig_value = 0x0; // Pass input to DATALOG module
    dlog1.size = 0x400; // Pass input to DATALOG module
    dlog1.prescalar = 1; // Pass input to DATALOG module
    dlog1.init(dlog1); // Call init function for dlog1
    }
    void interrupt periodic_interrupt_isr()
    {
    dlog1.update(&dlog1); // Call update function for dlog1
    }

    But there is a problem. I didn't find DMC library for 28335. This desctription is for 280x.