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.

f28m35h52c1 platform package - how should it be defined

Other Parts Discussed in Thread: SYSBIOS

I ahve been following the tutorial for sys/bios and they show the platform configuration. When I try to translate the location for the f28m35x, it asks for the Code, Data, and Stack memory sections. What are the recommended selections? I am using the F28M35xx ISO controlCARD.

Thanks for any help.

  • Pat,

    What version of SYSBIOS are you using?  Also what version of the XDCTOOLS?

    In XDCTOOLS we have defined 2 platforms...one for supporting the concerto 28xx and the other for supporting the concerto m3.  With these two generic platforms, we are able to support most if not all the F28M35x devices via linker command files.  So depending on what your actual device is... you will get a different memory map.

    You can find these in your xdctools package.  Some path like the following:

    xdctools_3_23_01_43\packages\ti\platforms\concertoC28\include
    xdctools_3_23_01_43\packages\ti\platforms\concertoM3\include

    Hope this helps you get started.

    Judah

  • Judah,

    I have attached a file with screen shots that show the problem as well as my attempt to set up the RTSC configuration. What am I doing wrong?

    Thanks,

    Pat

    6866.sysbioserrors1.docx

  • Pat,

    The error suggests that two linker command files with the same memory definitions are included with the project.
    I'm not sure how that is happening.

    Is this happening for all your Concerto projects?  Could you try creating one of the BIOS examples to see if you still see the problem?

    Judah

  • Judah,

    I thought that is what I did. I've tried the stairstep, hello, main, messageq - all produce 13 errors when I compile - all the same errors. I've tried both debug and release configurations.

    Here's the compiler error printout for stairstep:

    **** Build of configuration Release for project uart6 ****

    C:\TI5\TI5_1\ccsv5\utils\bin\gmake -k all

    making ../src/sysbios/sysbios.lib ...

    gmake[1]: Nothing to be done for `all'.

    'Building file: ../stairstep.cfg'

    'Invoking: XDCtools'

    "C:/TI5/TI5_1/xdctools_3_23_01_43/xs" --xdcpath="C:/TI5/TI5_1/bios_6_32_05_54/packages;C:/TI5/TI5_1/ipc_1_23_05_40/packages;" xdc.tools.configuro -o configPkg -t ti.targets.arm.elf.M3 -p ti.platforms.concertoM3:F28M35H52C1 -r release -c "C:/TI5/TI5_1/ccsv5/tools/compiler/tms470_4.9.5" --compileOptions "-g --optimize_with_debug" "../stairstep.cfg"

    making package.mak (because of package.bld) ...

    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...

    configuring stairstep.xem3 from package/cfg/stairstep_pem3.cfg ...

    generating custom ti.sysbios library makefile ...

    Starting build of library sources ...

    making C:/TEXASI~1/WORKSP~1/uart6/src/sysbios/sysbios.lib ...

    Build of libraries done.

    clem3 package/cfg/stairstep_pem3.c ...

    'Finished building: ../stairstep.cfg'

    ' '

    'Building file: ../stairstep.c'

    'Invoking: ARM Compiler'

    "C:/TI5/TI5_1/ccsv5/tools/compiler/tms470_4.9.5/bin/cl470" -mv7M3 --code_state=16 --abi=eabi -me -O2 --include_path="C:/TI5/TI5_1/ccsv5/tools/compiler/tms470_4.9.5/include" --gcc --define=ccs --diag_warning=225 --display_error_number --gen_func_subsections=on --ual --preproc_with_compile --preproc_dependency="stairstep.pp" --cmd_file="./configPkg/compiler.opt"  "../stairstep.c"

    'Finished building: ../stairstep.c'

    ' '

    'Building target: uart6.out'

    'Invoking: ARM Linker'

    "C:/TI5/TI5_1/ccsv5/tools/compiler/tms470_4.9.5/bin/cl470" -mv7M3 --code_state=16 --abi=eabi -me -O2 --gcc --define=ccs --diag_warning=225 --display_error_number --gen_func_subsections=on --ual -z --stack_size=256 -m"uart6.map" --heap_size=0 -i"C:/TI5/TI5_1/ccsv5/tools/compiler/tms470_4.9.5/lib" -i"C:/TI5/TI5_1/ccsv5/tools/compiler/tms470_4.9.5/include" --reread_libs --warn_sections --rom_model -o "uart6.out" -l"./configPkg/linker.cmd"  "./stairstep.obj" -l"rtsv7M3_T_le_eabi.lib" "../F28M35H52C1.cmd"

    <Linking>

    "../F28M35H52C1.cmd", line 39: error: FLASH_BOOT memory range has already been

       specified

    "../F28M35H52C1.cmd", line 39: error: FLASH_BOOT memory range overlaps existing

       memory range FLASH_BOOT

    "../F28M35H52C1.cmd", line 40: error: FLASH memory range has already been

       specified

    >> Compilation failure

    "../F28M35H52C1.cmd", line 40: error: FLASH memory range overlaps existing

       memory range FLASH

    "../F28M35H52C1.cmd", line 41: error: C03SRAM memory range has already been

       specified

    "../F28M35H52C1.cmd", line 41: error: C03SRAM memory range overlaps existing

       memory range C03SRAM

    "../F28M35H52C1.cmd", line 42: error: S07SHRAM memory range has already been

       specified

    "../F28M35H52C1.cmd", line 42: error: S07SHRAM memory range overlaps existing

       memory range S07SHRAM

    "../F28M35H52C1.cmd", line 43: error: CTOMMSGRAM memory range has already been

       specified

    "../F28M35H52C1.cmd", line 43: error: CTOMMSGRAM memory range overlaps existing

       memory range CTOMMSGRAM

    "../F28M35H52C1.cmd", line 44: error: MTOCMSGRAM memory range has already been

       specified

    "../F28M35H52C1.cmd", line 44: error: MTOCMSGRAM memory range overlaps existing

       memory range MTOCMSGRAM

    warning #10247-D: creating output section

       ".ti_catalog_arm_cortexm3_concertoInit_begin" without a SECTIONS

       specification

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

    gmake: *** [uart6.out] Error 1

    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

     

  • Also, I am running CCSv5.1 on Win7. My target is the PLC eval kit using the F28M35H52C1 Concerto on the F28M35xx ISO Control Card.

  • Hi Pat --

    Can you please export the project that his failing and send it across?   You can export is using CCS "File->Export", then pick "Archive File", hit "Next", then select the project and specify .zip file name.

    I am not seeing this problem here.  One idea is if the ./configPkg/linker.cmd file somehow also includes the duplicate memory table.

    You should be able to attach the .zip file to a post here.

    Regards,
    -Karl-

  • Here's the one fo1537.hello2.zipr hello. I have downloaded all updates and additions that I think apply.

    Thanks,

    Pat

  • Some screen shots

    8637.sysbios screens 1.docx

    And the zip file again.

    6330.hello2.zip

    Also, how do I get the System_printf("hello world") to display on the console??

    Thanks,

    Pat

     

     

  • Hi Pat --

    I think I know what's going on now.  It looks like you made a new platform and saved it atop the concertoM3 platform provided with XDCtools.

    For the Concerto and Stellaris parts, you do not need to make a custom platform package.   We provide device.cmd file in the project itself.

    You need to do the following:

    [1]  rename your xdctools_3_23_01_43/packages/ti/platforms/concertoM3 directory to concertoM3,bad or delete it entirely

    [2]  unzip the attached directory (which I snipped from 3.23.01.43) in into xdctools_3_23_01_43/packages/ti/platforms

    [3]  clean your project

    [4]  rebuild.

    If you want to change your memory map, you can do so by modifying the .cmd file in your project.

    For your "hello world" question, the output of hello world can be found on the CIO console within CCS.  When the program exits, the data in an internal trace buffer gets dumped to the console within CCS.   You can also view this data using the ROV tools (Tools->ROV in the debug perspective).  Navigate to the SysMin module and you'll see this output.   SYS/BIOS uses SysMin by default to store the System_printf() output in a circular buffer.   This can be viewed with ROV or output to CCS with a call to System_flush().   BIOS_exit() calls System_flush() internally.

    -Karl-

  • Karl,

    Thanks for your reply. I did not get the zip file. Could you resend or give me a link?

    Thanks,

    Pat

     

  • Sorry.  Forgot the .zip.   It is attached below.

    1856.concertoM3.zip

    -Karl-

  • Thanks Karl,

    I had to recreate the sample projects, but they compiled correctly. I also got the System_printf() output to display. How do I connect the System_printf() ourput to my UART0 output or can I??

    Thanks, Pat

     

  • Hi Pat --

    I added a small example to our SYS/BIOS FAQ.

    http://processors.wiki.ti.com/index.php/SYS/BIOS_FAQs#11_Example_showing_how_use_custom_output_functions_with_SysMin

    -Karl-