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.

DSK6416 code not working after adding boot.asm.

Hello:

I have created a code for Led blinking, it was working in debug mode than i have decided to burn it on flash. I have added a boot.asm file, generated a .hex file after this i burn this hex file to flash. But now its not working. I don't know how to proceed. 
I am attaching my project(created in CCS v5.2) with this comment. Test1.rar

  • Hello,

    As far as I remember C641x boot process, it happens in two stages. First, CPU copies 1K of code from EMIFB CE1 to address zero and branches there. In other words, you have to prepare your image in a way that in 1K block at its beginning there would be a loader itself. I have compiled your project and see unitialized data section at address zero. I suspect that is the reason of boot failure. Please see the simple loader we used in our projects.

    booting.asm

  • Hi Abbott,
    I would like to suggest to refer the following example code.

    C:\Users\Shankari\Documents\SoftwareDesignSolutions\Flashburn 4\Examples-DSK\DSK6416\BlinkDSK6416

    Please import this project and convert into hex then flash into your board, it should work.
  • I have used this file for booting but CCS is giving a warning "warning #10247-D: creating output section "place_at_zero" without a SECTIONS
    specification"
  • Dear rrlogic,
    Thanks for supporting to the community members.
    Its appreciable.
    Thank you.

    Dear Abbott,
    Leave about that warning, I hope you can ignore that.
    Are you able to run this code on CCS ?
    Then as Shankari said, you can convert that .out to .hex then flash to the board.
  • Warning is important.  You have to place this input section at zero address using linker command file. If you cannot do that yourself, next Monday I will find you example.

  • I have compiled that code its working file, now i have modified that code and generated new hex file it working fine for my code. But a question in mind is that " I am using .out file from debug folder and generating its hex file". Should i use this file?
  • Dear Abbott,

    Did you modify the example code like linker command file ?

    I don't have a C6416 DSK board but C6713 DSK, I have tried the same on C6713 board and able to got working.

    Can you please post your build logs ?

    I'm not getting mentioned warning.

    The following log looks like good and surely it would work on C6416 DSK board.

    Are you getting the same build log or different ?

    We can ignore the above warnings.

    BTW, this build do the hex conversion too so you can just flash the generated hex file.

    processors.wiki.ti.com/index.php
    /C28x_Compiler_Error_and_Warning_Messages#Warning:_build_attribute_vendor_section_TI_missing_in_.22.3Clibrary_or_object.3E_:_compatibility_cannot_be_determined

    Log:

    **** Build of configuration Debug for project BlinkDSK6416 ****

    "C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all
    'Building file: ../BlinkDSK6416.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6416 -g --define=CHIP_6416 --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/c6xcsl/include" --include_path="C:/Program Files/C6xCSL/include" --diag_warning=225 --abi=coffabi --preproc_with_compile --preproc_dependency="BlinkDSK6416.pp" "../BlinkDSK6416.c"
    "../BlinkDSK6416.c", line 34: warning: function declared implicitly
    'Finished building: ../BlinkDSK6416.c'
    ' '
    'Building file: ../bootDSK6416.asm'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6416 -g --define=CHIP_6416 --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/c6xcsl/include" --include_path="C:/Program Files/C6xCSL/include" --diag_warning=225 --abi=coffabi --preproc_with_compile --preproc_dependency="bootDSK6416.pp" "../bootDSK6416.asm"
    'Finished building: ../bootDSK6416.asm'
    ' '
    'Building file: ../cpld.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6416 -g --define=CHIP_6416 --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/c6xcsl/include" --include_path="C:/Program Files/C6xCSL/include" --diag_warning=225 --abi=coffabi --preproc_with_compile --preproc_dependency="cpld.pp" "../cpld.c"
    'Finished building: ../cpld.c'
    ' '
    'Building file: ../emif.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6416 -g --define=CHIP_6416 --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/c6xcsl/include" --include_path="C:/Program Files/C6xCSL/include" --diag_warning=225 --abi=coffabi --preproc_with_compile --preproc_dependency="emif.pp" "../emif.c"
    'Finished building: ../emif.c'
    ' '
    'Building file: ../timer.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6416 -g --define=CHIP_6416 --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/c6xcsl/include" --include_path="C:/Program Files/C6xCSL/include" --diag_warning=225 --abi=coffabi --preproc_with_compile --preproc_dependency="timer.pp" "../timer.c"
    'Finished building: ../timer.c'
    ' '
    'Building target: BlinkDSK6416.out'
    'Invoking: C6000 Linker'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6416 -g --define=CHIP_6416 --diag_warning=225 --abi=coffabi -z -m"BlinkDSK6416.map" --warn_sections -i"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/lib" -i"C:/ti/c6xcsl/lib_3x" -i"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" -i"C:/Program Files/C6xCSL/lib_3x" --reread_libs --xml_link_info="BlinkDSK6416_linkInfo.xml" --rom_model -o "BlinkDSK6416.out" "./timer.obj" "./emif.obj" "./cpld.obj" "./bootDSK6416.obj" "./BlinkDSK6416.obj" "../BlinkDSK6416.cmd" -l"libc.a" -l"csl6416.lib"
    <Linking>
    warning: build attribute vendor section TI missing in
    "C:/ti/c6xcsl/lib_3x/csl6416.lib<csl.obj>": compatibility cannot be
    determined
    warning: build attribute vendor section TI missing in
    "C:/ti/c6xcsl/lib_3x/csl6416.lib<csl_emifa.obj>": compatibility cannot be
    determined
    warning: build attribute vendor section TI missing in
    "C:/ti/c6xcsl/lib_3x/csl6416.lib<csl_emifb.obj>": compatibility cannot be
    determined
    warning: build attribute vendor section TI missing in
    "C:/ti/c6xcsl/lib_3x/csl6416.lib<csl_irq.obj>": compatibility cannot be
    determined
    warning: build attribute vendor section TI missing in
    "C:/ti/c6xcsl/lib_3x/csl6416.lib<csl_timer.obj>": compatibility cannot be
    determined
    warning: creating ".stack" section with default size of 0x400; use the -stack
    option to change the default size
    'Finished building target: BlinkDSK6416.out'
    ' '
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/hex6x" ../BlinkDSK6416_hex.cmd && copy BlinkDSK6416.hex ..\..
    Translating to Motorola-S3 format...
    "BlinkDSK6416.out" ==> vectors
    "BlinkDSK6416.out" ==> bootload
    "BlinkDSK6416.out" ==> .text
    "BlinkDSK6416.out" ==> .cinit
    1 file(s) copied.
    ' '

    **** Build Finished ****

    Dear rrlogic,
    Thanks!
    Apologize, yes, warning is also very important.
    What I meant here is that we might get warnings (which we can ignore) from example code.
  • Dear Abbott,

    I am using .out file from debug folder and generating its hex file". Should i use this file?

    Yes, you can use that, also please check that timing details of that file to confirm that whether you have created that file now or its old one.

    Actually, that project has support to convert to .hex file from .out.
  • Abbot, did you resolve placement issue?