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.

TMS320F28016 demo memory issue?

Other Parts Discussed in Thread: TMS320F28016, MSPWARE, SYSBIOS

The file …\workspace_v6_1\minimal_TMS320F28016\TMS320F28016.cmd (same for Typical)

 

Defines   FLASH       : origin = 0x3F4000, length = 0x003F80     /* on-chip FLASH */ <16,256 bytes>

 

But the file at www.ti.com/.../products.page F280x/1x

 

Indicates the TMS320F28016 chip has 32 (KB) of Flash and 12 (KB) of RAM.

 

When I compile the TI Resource Explorer  "SYS/BIOS" / "2801x Fixed Point"  typical_TMS320F28016 demo software

 

'Building target: typical_TMS320F28016.out'

'Invoking: C2000 Linker'

"C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_15.9.0.STS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 -g --display_error_number --diag_wrap=off --diag_warning=225 --diag_warning=255 --gen_func_subsections=on -z -m"typical_TMS320F28016.map" --stack_size=0x300 --warn_sections -i"C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_15.9.0.STS/lib" -i"C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_15.9.0.STS/include" --reread_libs --display_error_number --diag_wrap=off --xml_link_info="typical_TMS320F28016_linkInfo.xml" --rom_model -o "typical_TMS320F28016.out" "./main.obj" "../TMS320F28016.cmd" -l"configPkg/linker.cmd" -l"libc.a"

<Linking>

"../TMS320F28016.cmd", line 111: error #10099-D: program will not fit into available memory.  placement with alignment/blocking fails for section ".econst" size 0x1bef page 0.  Available memory ranges:

   FLASH        size: 0x3f80       unused: 0x96a        max hole: 0x96a    

"../TMS320F28016.cmd", line 105: error #10099-D: program will not fit into available memory.  run placement with alignment/blocking fails for section ".ebss" size 0x1093 page 1.  Available memory ranges:

   M01SARAM     size: 0x800        unused: 0x700        max hole: 0x700    

   L0SARAM      size: 0x1000       unused: 0xee0        max hole: 0xee0    

error #10010: errors encountered during linking; "typical_TMS320F28016.out" not built

 

If the flash size in TMS320F28016.cmd correct as configured?   Should it be double that?

 

  • Hello,

    The F28016 CPU core (C28x) is word addressable so it is actually 16,256 words or the 32KB of Flash indicated. I'm going to move your post so the TI-RTOS team can better assist you with your example build errors.

    Best Regards,
    Chris
  • David,

    Which exact example did you import and build above? Maybe you could attach a screen shot of the one you picked in Resource Explorer and attach it to this thread?

    Steve
  • Also, which version of SYS/BIOS or TI-RTOS are you using?
  • Can you provide me with a "verified" demo software (any version, minimal or whatever) for the TMS320F28016.

    I have been testing on multiple demo's (SYS/BIOS and TI-RTOS for C2000)

    and even the minimal demo's that "build" (with warnings) have some warnings that make me wonder if the 28016 is a usable processor...   Such as

    Description Resource Path Location Type
    The PLL type is not assigned, so the Boot module will not configure the PLL. app.cfg /minimal_TMS320F28016 ti.platforms.tms320x28.Platform.Instance#0 XDCTools Configuration Marker

    Is there a list of things I am supposed to (need to) set manually to run a demo, such as CPU clock frequency (60000000), or am I missing something in how I import and run examples...

  • Another Example (with more info):
    CCS: 6.1.1.00022

    The following Add-Ons are loaded:
    MSPWare
    TI-RTOS for C2000
    .JS Javascript Development
    Grace

    Emulator is a Blackhawk USB560 v2 System Trace

    Example Projects:
    SYS/BIOS
    2801x Fixed Point
    TMS320F28016
    TI Target Examples
    28x Specific Examples
    Task Example

    XDCtools version: 3.31.1.33_core

    SYS/BIOS 6.42.3.35
    ${TARGET_CONTENT_BASE}

    Target: ti.targets.C28_float (which seems unusual for a fixed point processor)
    Platform: ti.platforms.tms320x28:TMS320F28016 (which seems unusual for a fixed point processor)

    Build:
    C2000 Compiler:
    Processor Options:
    Specify Floating point (--float_support) fpu32

    **** Build of configuration Debug for project task_TMS320F28016 ****

    "C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
    'Building file: ../mutex.cfg'
    'Invoking: XDCtools'
    "C:/ti/xdctools_3_31_01_33_core/xs" --xdcpath="C:/ti/bios_6_42_03_35/packages;C:/ti/ccsv6/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.C28_float -p ti.platforms.tms320x28:TMS320F28016 -r release -c "C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.6" --compileOptions "-g --optimize_with_debug" "../mutex.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring mutex.x28FP from package/cfg/mutex_p28FP.cfg ...
    warning: ti.platforms.tms320x28.Platform: "C:/ti/bios_6_42_03_35/packages/ti/platforms/tms320x28/Platform.xs", line 278: ti.platforms.tms320x28.Platform.Instance#0 : The PLL type is not assigned, so the Boot module will not configure the PLL.
    generating custom ti.sysbios library makefile ...
    Starting build of library sources ...
    making C:/Users/dacollins/workspace_v6_1/task_TMS320F28016/src/sysbios/sysbios.a28FP ...
    gmake[1]: Entering directory `C:/Users/dacollins/workspace_v6_1/task_TMS320F28016/src/sysbios'
    cl28FP C:/ti/bios_6_42_03_35/packages/ti/sysbios/BIOS.c ...
    asm28FP C:/ti/bios_6_42_03_35/packages/ti/sysbios/family/c28/Hwi_asm.s28 ...
    asm28FP C:/ti/bios_6_42_03_35/packages/ti/sysbios/family/c28/Hwi_disp_asm.s28 ...
    asm28FP C:/ti/bios_6_42_03_35/packages/ti/sysbios/family/c28/IntrinsicsSupport_asm.s28 ...
    asm28FP C:/ti/bios_6_42_03_35/packages/ti/sysbios/family/c28/TaskSupport_asm.s28 ...
    ar28FP BIOS.obj c28_Hwi_asm.obj c28_Hwi_disp_asm.obj c28_IntrinsicsSupport_asm.obj c28_TaskSupport_asm.obj ...
    gmake[1]: Leaving directory `C:/Users/dacollins/workspace_v6_1/task_TMS320F28016/src/sysbios'
    Build of libraries done.
    cl28FP package/cfg/mutex_p28FP.c ...
    'Finished building: ../mutex.cfg'
    ' '
    1 file(s) copied.
    making ../src/sysbios/sysbios.a28FP ...
    gmake[1]: Entering directory `C:/Users/dacollins/workspace_v6_1/task_TMS320F28016/src/sysbios'
    gmake[1]: Nothing to be done for `all'.
    gmake[1]: Leaving directory `C:/Users/dacollins/workspace_v6_1/task_TMS320F28016/src/sysbios'
    'Building file: ../mutex.c'
    'Invoking: C2000 Compiler'
    "C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.6/bin/cl2000" -v28 -ml -mt --float_support=fpu32 --include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.6/include" -g --diag_warning=225 --diag_warning=255 --display_error_number --diag_wrap=off --gen_func_subsections=on --preproc_with_compile --preproc_dependency="mutex.pp" --cmd_file="configPkg/compiler.opt" "../mutex.c"
    'Finished building: ../mutex.c'
    ' '
    'Building target: task_TMS320F28016.out'
    'Invoking: C2000 Linker'
    "C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.6/bin/cl2000" -v28 -ml -mt --float_support=fpu32 -g --diag_warning=225 --diag_warning=255 --display_error_number --diag_wrap=off --gen_func_subsections=on -z -m"task_TMS320F28016.map" --stack_size=0x300 --warn_sections -i"C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.6/lib" -i"C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.6/include" --reread_libs --display_error_number --diag_wrap=off --xml_link_info="task_TMS320F28016_linkInfo.xml" --rom_model -o "task_TMS320F28016.out" "./mutex.obj" "../TMS320F28016.cmd" -l"configPkg/linker.cmd" -l"libc.a"
    <Linking>
    "../TMS320F28016.cmd", line 111: error #10099-D: program will not fit into available memory. placement with alignment/blocking fails for section ".econst" size 0x1c22 page 0. Available memory ranges:
    FLASH size: 0x3f80 unused: 0x907 max hole: 0x906
    error #10010: errors encountered during linking; "task_TMS320F28016.out" not built

    >> Compilation failure
    gmake: *** [task_TMS320F28016.out] Error 1
    gmake: Target `all' not remade because of errors.

    **** Build Finished ****
  • Hi David,

    Thanks for providing that info. I installed the same version of BIOS and imported the C28x Task example for teh F28016.

    I am also not able to build, however, I am seeing a different error. I've asked the team if they are aware of this, let's see what they say.

    I was looking at your build output, too, and I noticed that I have a different version of the C2000 compiler. Just curious if you changed that version, or if it's simply what was configured when you imported and built the project.

    Steve