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.

[参考译文] Starterware/AM4378:编译引导加载程序工程时出错

Guru**** 2558250 points
Other Parts Discussed in Thread: AM4378, PRU-ICSS-INDUSTRIAL-SW

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/603697/starterware-am4378-error-when-compile-bootloader-project

器件型号:AM4378
主题中讨论的其他器件: SYSBIOSSDK-IND-SitaraPRU-ICSS-INDUSTRIAL-SW

工具/软件:Starterware

您好:

我尝试在 Starterware 中为 am4378编译引导加载程序项目。

我的 CCS 版本是6.1.2、编译器是 GNU v4.9.0。

首先、我导入引导加载程序项目。 然后导入必要的相关项目并按如下方式进行配置。

最后,我编译引导加载程序,但有几个错误和警告,如下所示。

****为项目引导加载程序构建配置 am43xx_boot_mmcsd_debug ****

"D:\\ti\\ccsv6\\utils\\bin\\gmake"-j 4 -s -k all  
'生成文件:D:/ti/starterware/examples/mmcsd/hsmmcsd_app_pol.c '
'生成文件:D:/ti/starterware/examples/gpio/gpio_app.c '
'生成文件:D:/ti/starterware/bootloader/src/am43xx/sbl_am43xx_platform.c '
'生成文件:D:/ti/starterware/bootloader/src/am43xx/sbl_am43xx_platform_ddr.c '
'调用:GNU 编译器'
'调用:GNU 编译器'
'调用:GNU 编译器'
'调用:GNU 编译器'
'完工建筑:D:/ti/starterware/examples/gpio/gpio_app.c '
'完工建筑:D:/ti/starterware/examples/mmcsd/hsmmcsd_app_pol.c '
'完工建筑:D:/ti/starterware/bootloader/src/am43xx/sbl_am43xx_platform.c '
'完工建筑:D:/ti/starterware/bootloader/src/am43xx/sbl_am43xx_platform_ddr.c '
'
'
'
'
'生成文件:D:/ti/starterware/bootloader/src/sbl_copy.c '
'生成文件:D:/ti/starterware/bootloader/src/am43xx/sbl_am43xx_platform_pll.c '
'生成文件:D:/ti/starterware/bootloader/src/sbl_main.c '
'生成文件:D:/ti/starterware/bootloader/src/sbl_mmcsd.c '
'调用:GNU 编译器'
'调用:GNU 编译器'
'调用:GNU 编译器'
'调用:GNU 编译器'
D:/ti/starterware/bootloader/src/sbl_main.c:在函数'main'中:
D:/ti/starterware/bootloader/src/sbl_main.c:88:14:警告:已设置但未使用变量'status'[-Wunuse-but -set-variable]
uint32_t status;
^μ A
'完工建筑:D:/ti/starterware/bootloader/src/sbl_copy.c '
'完工建筑:D:/ti/starterware/bootloader/src/sbl_main.c '
'完工建筑:D:/ti/starterware/bootloader/src/sbl_mmcsd.c '
'完工建筑:D:/ti/starterware/bootloader/src/am43xx/sbl_am43xx_platform_pll.c '
'
'
'
'
'构建目标:./../../binary/bootloader/bin/am43xx-evm/ccs/bootloader_boot_mmcsd_a9host_debug.out
'调用:GNU 连接器'
D:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld.exe:../../../examples/gcc/am43xx_boot_ccs.lds:50:警告:重新声明存储器区域`DDR0'
D:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld.exe:./../../binary/bootloader/bin/am43xx-evm/ccs/bootloader_boot_mmcsd_a9host_debug.out 部分`.stack'将不适用于`OCMCRAM'区域
D:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld.exe:区`OCMCRAM'溢出61784个字节
collect2.exe:错误:LD 返回1退出状态
gmake:***[./../../binary/bootloader/bin/am43xx-evm/ccs/bootloader_boot_mmcsd_a9host_debug.out 错误1.
gmake:目标`全部'不会由于错误而重制。

****构建完成****

是否有人遇到了这个问题、可以提供帮助?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没人?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    user4999129、
    能否发布链接器 cmd 文件?

    Lali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Lali:
    有两个链接 cmd 文件:
    1.am4378.lds

    (小部分
    存储器

    DDR0:o = 0x80000000、l = 0x10000000 // 256MB 外部 DDR 组0 */
    OCMCRAM:o = 0x40300000,l = 0x40000 // 256KB 内部 RAM */


    output_format ("ELF32-littlearm"、"ELF32-littlearm"、"ELF32-littlearm")
    output_arch (arm)

    部分

    .startcode:

    。 =对齐(4);
    * init.o (.text)
    }>OCMCRAM

    .text:

    。 =对齐(4);
    *(.text*)
    *(.rodata*)
    }>OCMCRAM

    .data:

    。 =对齐(4);
    *(.data*)
    }>OCMCRAM

    .bss:

    。 =对齐(4);
    _BSS_START =.;
    *(.bss*)
    *(通用)
    _BSS_END =.;
    }>OCMCRAM

    堆:

    。 =对齐(4);
    __end__=.;
    结束=__end__;
    __HeapBase =__end__;
    *(.heap*)
    。 =。 + 0x800;
    _HeapLimit=.;
    }>OCMCRAM

    .stack:

    。 =对齐(4);
    __StackLimit=. ;
    *(.stack*)
    。 =。 + 0x10000;
    _StackTop =.;
    }>OCMCRAM
    _stack =_StackTop;

    (小部分

    2.am43xx_boot_ccs.lds
    (小部分
    存储器

    DDR0:o = 0x80000000、l = 0x10000000 // 256MB 外部 DDR 组0 */
    OCMCRAM:o = 0x402F4000,l = 0x2FC00 // 256KB 内部 RAM */


    output_format ("ELF32-littlearm"、"ELF32-littlearm"、"ELF32-littlearm")
    output_arch (arm)

    部分

    .startcode:

    。 =对齐(4);
    * SBL_init.o (.text)
    }>OCMCRAM

    .text:

    。 =对齐(4);
    *(.text*)
    *(.rodata*)
    }>OCMCRAM

    .data:

    。 =对齐(4);
    *(.data*)
    }>OCMCRAM

    .bss:

    。 =对齐(4);
    _BSS_START =.;
    *(.bss*)
    *(通用)
    _BSS_END =.;
    }>OCMCRAM

    堆:

    。 =对齐(4);
    __end__=.;
    结束=__end__;
    __HeapBase =__end__;
    *(.heap*)
    。 =。 + 0x800;
    _HeapLimit=.;
    }>OCMCRAM

    .stack:

    。 =对齐(4);
    __StackLimit=. ;
    *(.stack*)
    。 =。 + 0x10000;
    _StackTop =.;
    }>OCMCRAM
    _stack =_StackTop;

    (小部分
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    AM437x 的 Starterware CCS 项目仅在 SYSBIOSSDK-IND-Sitara 中受支持。 如您在此处的通知中所见、TI 已于2017年3月31日停止为 SYSBIOSSDK-IND-AM335x 提供免费支持:

    e2e.ti.com/.../580869

    我们目前仅支持使用 Processor SDK RTOS 和 PRU-ICSS-INDUSTRIAL-SW 进行开发。 我们建议您迁移到此软件基准、以便在 TI E2E 论坛上获得支持。

    此处介绍了处理器 SDK RTOS 对引导加载程序的支持、我们很乐意支持此基准。
    processors.wiki.ti.com/.../AM437x

    此致、
    Rahul