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.

CCS 3.3 to CCS 5.2, Difference in bootloader setup ?



Hi,

We have project in production using 6455. We have now started porting it to CCS 5.2. We are still using DSP/BIOS.Both projects run fine using the BlackHawk. But when I try to generate a rom file using the hex6x utility the i noticed that the .boot_load listing is missing from the CONTENT section. So instead of:

  CONTENTS:b0000000..b000013f   .boot_load
             b0000140..b00003ff   FILL = 00000000
             b0000400..b00a53f7   BOOT TABLE

I get

 CONTENTS: b0000000..b00003ff   FILL = 00000000
             b0000400..b00b1f73   BOOT TABLE

My linker command file contains the following enties:

SECTIONS {
    .boot_load:     > BOOT
    .isr_funcs:     align=128    > IRAM
    .isr_data:        align=128    > IRAM
    .text:_touch     align=128     > IRAM
    .bss: load         > IRAM

    .cio: load         >> IRAM
    .const: load     >> IRAM
    .far: load         >> IRAM
    /* COFF sections */
     .cinit: load     > IRAM
    .pinit: load     > IRAM
    .printf: load     > IRAM
    .switch: load     >> IRAM
    .text: load     >> IRAM
    .far:BUFFERS         align=128     > DDR2
    .far:NDK_PACKETMEM     align=128     > DDR2
    .far:NDK_MMBUFFER     align=128     > DDR2
    .far:NDK_OBJMEM     align=128     > DDR2

}

No errors during compile.

  • Geir said:

    So instead of:

      CONTENTS:b0000000..b000013f   .boot_load
                 b0000140..b00003ff   FILL = 00000000
                 b0000400..b00a53f7   BOOT TABLE

    I get

     CONTENTS: b0000000..b00003ff   FILL = 00000000
                 b0000400..b00b1f73   BOOT TABLE

    The hex utility is described in the C6000 assembly tools manual.  The section titled Description of the Object Formats has examples of all the output formats the hex utility supports.  None of them look like the examples you show here.  Thus, I suspect some additional tool reads in the hex utility output and processes it into what you show here.  Is that correct?  Perhaps the problem is in this additional tool.

    Thanks and regards,

    -George

  • Hi, sorry, the example is the output from the map file generated by the hex6x.The first one working, compiled with 3.3. The other one failing, compiled with 5.2

    Here is the command file for the hex6x:

    ..\Debug\netServer_dbug.out
    -b
    -image
    -memwidth 8
    -map netServer_bin_Debug.map
    -boot
    -bootorg 0xB0000400
    -bootsection .boot_load 0xB0000000
    -o netServer_Debug.bin

    ROMS
    {
        FLASH: org = 0xB0000000, len = 0x80000, romwidth = 8, files = {netServer_Debug.bin}
    }

    I would guess that i am doing something wrong in the linker settings of my 5.2 project.

    Geir

  • I think it would be easier to see the difference in the linker map file, not the hex utility map file.  Please post the linker map file from both builds.

    Thanks and regards,

    -George

  • Hi,

    the files are included. The x33.map is the working one, while xx_rel.map is not working.

    Thanks,

    Geir

    mapfiles.zip
  • The xx_rel.map file has no .boot_load section at all.  Further, the boot.obj input file does not appear at all.  It as if boot.obj is not included in the link.  I don't know how you got a clean link with no boot.obj.

    Thanks and regards,

    -George

  • George,

    How do I include the boot.obj? There is no mentioning of it on your docs.

    And again, via debugger it runs fine.

    Geir

  • Hi,

    By incliding a boot.asm with correct settings the system boot properly. Solved.

    Why it works via the debugger beats me.

    Geir