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 with using DSP/BIOS at Piccolo

Other Parts Discussed in Thread: SYSBIOS

Hi. I am using PiccoloTMS320F28035. I am trying to run DSP/BIOS example with multiple tasks following tutorial in CCS3.3. After creating the configuration and trying to save it as mutex.tcf, the error report shows: "calls from inside the filter messages is not allowed" (it is translation from slovak language in which is my CCS sets).

I ignore the error and click OK and then I save the project and load all files, (mutex.cmutex.tcf, mutex.cmd)set the build options and build it. However i do everything step by step following CCS tutorial, after building the project, there is 19 errors looks like this:

"C:\\biosprojects\\mutex\\ezdsp2812\\mutexcfg.cmd", line 390: error: placement
   fails for object ".trace", size 0x200 (page 0).  Available ranges:
   LSARAM       size: 0x800        unused: 0x2          max hole: 0x2    

Is the problem with setting the memory sections? What can I do to solve my problem. Thank you. Juraj


  • Juraj,

    I can't comment about the first message you are getting, since I don't recall seeing it.

    The build error messages you are seeing are due to the fact the linker is not able to allocate the memory section (.trace of size 0x200) into the memory segment (LSARAM with a remaining unused space of 0x2). Using the DSP/BIOS graphical configuration you can try to allocate the memory in another segment with more space available.

    Despite this, I haven't tried to use DSP/BIOS in piccolo processors, but the RAM in the 28035 is very limited and I am not sure if there is enough space to accomodate all of the code used in the tutorial - you may have to store your code in the flash memory. To help with this please check the two documents below:

    http://focus.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=spra772a

    http://focus.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=spra958h

    Hope this helps,

    Rafael

     

  • Thank you for the answer.

    I tried to store code in flash memory, but I have problem to do it. Some parts of code cannot be moved to flash. I am using DSP/BIOS configurtion tool and when I want to change properties for some objects (.clk, .mem, .sys, .swi, .sem, .log, ...), I can choose just LSARAM, MSARAM and DPSARAM for Memory Object but not FLASH. And therefore the RAM is still overloaded and linker still reports these errors:

    "C:\\biosprojects\\mutex\\ezdsp28335\\mutexcfg.cmd", line 255: error: run
       placement fails for object ".clk", size 0x4 (page 0).  Available ranges:
       LSARAM       size: 0x800        unused: 0x0          max hole: 0x0   

     

    How can I move these objects to Flash memory?

    Thank you.

    Juraj

  • Juraj,

    One of the references I sent (SPRA958H) discusses a nice technique on how to use DSP/BIOS 5 in a program loaded to the flash memory - among other things, it talks about which memory sections should be loaded to flash and which ones should be left in RAM. This will definitely help you solve the size issues found by the linker.

    Since this application has example code for some devices of the C2000 family, I would start loading one of the example projects into CCS and verify which are the differences needed to port it to F28035.

    Unfortunately I haven't done this myself (I do not have a F28035 board with me), but that would be my approach to start working on this issue.

    Hope this information helps,

    Rafael

  • Hello,

    I am using CCS Version: 5.1.1.00031 for the TMS320F38035, SYSBIOS ver 6.33.3.33, XDCtools version 3.22.4.46, compiler ver. TI v6.0.2 

    I run Log Example from SYS/BIOS/ Generic example directory and it works properly(it seems so). After loading,running and suspend
     the application, I launch the Tools->RTA->Raw Logs tool and view the logs.

    Per memory configuration I see that in SRAM 3K free from 8K, and in Flash 44Kfree from 64K.PAGE 1:
      M01SARAM              00000000   00000800  00000100  00000700  RWIX
      PIEVECT               00000d00   00000100  00000000  00000100  RWIX
      L03SARAM              00008000   00002000  00001260  00000da0  RWIXPAGE 1:
      M01SARAM              00000000   00000800  00000100  00000700  RWIX
      PIEVECT               00000d00   00000100  00000000  00000100  RWIX
      L03SARAM              00008000   00002000  00001260  00000da0  RWIXit ised

    After running SYS/BIOS MinimalExample the situation is much better: have sram 5.6K free and flash 52k free.

    Please let me know if i miss something here. I would like to continue working with SYS/BIOS. Our device should support CAN protocol, SPI & rs232 without any additional logic.

    Thanks in advance, Sabina