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.

[参考译文] AM5728:NIMU_ICSS_BasicExample_idkAM572x_wSockLib_armExampleproject 构建失败

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1199137/am5728-nimu_icss_basicexample_idkam572x_wsoclib_armexampleproject-build-failed

器件型号:AM5728

我正在编译 NIMU_ICSS_BasicExample_idkAM572x_wSockLib_armExampleproject 时、弹出以下错误:

Building target: "NIMU_ICSS_BasicExample_idkAM572x_wSocLib_armExampleproject.out"
Invoking: GNU Linker
"C:/ti/gcc-arm-none-eabi-7-2018-q2-update/bin/arm-none-eabi-gcc-7.3.1.exe" -mtune=cortex-a15 -marm -Dam5728 -Dcore0 -DUSE_BIOS -DSOC_AM572x -DidkAM572x -Og -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -mfloat-abi=hard -Wl,-Map,"NIMU_ICSS_BasicExample_idkAM572x_wSocLib_armExampleproject.map" -nostartfiles -Wl,--gc-sections -L"C:/ti/bios_6_76_03_01/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/hard" -L"C:/ti/ndk_3_61_01_01/packages/ti/ndk/os/lib" -Wl,--defsym,CORE0=1 -Wl,--defsym,STACKSIZE=0x10000 -Wl,--defsym,HEAPSIZE=0x400 --specs=nano.specs -static C:/ti/pdk_am57xx_1_0_19/packages/MyExampleProjects/NIMU_ICSS_BasicExample_idkAM572x_wSocLib_armExampleproject/../../ti/drv/icss_emac/firmware/icss_dualemac/bin/am572x/a15_0/REV1/icss_dualemac_PRU0.bin C:/ti/pdk_am57xx_1_0_19/packages/MyExampleProjects/NIMU_ICSS_BasicExample_idkAM572x_wSocLib_armExampleproject/../../ti/drv/icss_emac/firmware/icss_dualemac/bin/am572x/a15_0/REV1/icss_dualemac_PRU1.bin C:/ti/pdk_am57xx_1_0_19/packages/MyExampleProjects/NIMU_ICSS_BasicExample_idkAM572x_wSocLib_armExampleproject/../../ti/drv/icss_emac/firmware/icss_dualemac/bin/am572x/a15_0/REV2/icss_dualemac_PRU0.bin C:/ti/pdk_am57xx_1_0_19/packages/MyExampleProjects/NIMU_ICSS_BasicExample_idkAM572x_wSocLib_armExampleproject/../../ti/drv/icss_emac/firmware/icss_dualemac/bin/am572x/a15_0/REV2/icss_dualemac_PRU1.bin -o"NIMU_ICSS_BasicExample_idkAM572x_wSocLib_armExampleproject.out" "./UART_soc.o" "./main_am57xx.o" "./netHooks.o" "./osdrv_ndkdeviceconfig.o" -Wl,-T"configPkg/linker.cmd"  -Wl,--start-group -Wl,-T"C:/ti/pdk_am57xx_1_0_19/packages/ti/build/pruss/lnk_a8_a9_a15_REV1.cmd" -Wl,-T"C:/ti/pdk_am57xx_1_0_19/packages/ti/build/pruss/lnk_a8_a9_a15_REV2.cmd" -lrdimon -lgcc -lm -lnosys -l:os.aa15fg -lc -Wl,--end-group 
makefile:152: recipe for target 'NIMU_ICSS_BasicExample_idkAM572x_wSocLib_armExampleproject.out' failed
c:/ti/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe:C:/ti/pdk_am57xx_1_0_19/packages/ti/build/pruss/lnk_a8_a9_a15_REV1.cmd:10: warning: memory region `APP_CACHED_DATA_BLK0_MEM' not declared
c:/ti/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe:C:/ti/pdk_am57xx_1_0_19/packages/ti/build/pruss/lnk_a8_a9_a15_REV2.cmd:10: warning: memory region `APP_CACHED_DATA_BLK1_MEM' not declared
c:/ti/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: section PRU0_REV2_IMEM LMA [00000000,00002fff] overlaps section PRU0_REV1_IMEM LMA [00000000,00002fff]
c:/ti/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: section PRU0_REV2_DMEM LMA [00003000,00004fff] overlaps section PRU0_REV1_DMEM LMA [00003000,00004fff]
c:/ti/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: section PRU1_REV2_IMEM LMA [00006000,00008fff] overlaps section PRU1_REV1_IMEM LMA [00006000,00008fff]
c:/ti/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: section PRU1_REV2_DMEM LMA [00009000,0000afff] overlaps section PRU1_REV1_DMEM LMA [00009000,0000afff]
collect2.exe: error: ld returned 1 exit status
gmake[1]: *** [NIMU_ICSS_BasicExample_idkAM572x_wSocLib_armExampleproject.out] Error 1
gmake: *** [all] Error 2
makefile:148: recipe for target 'all' failed

我将在不更改任何设置的情况下刷新构建项目。

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

    您好!

    您能介绍一下 本主题中提到的步骤吗?请告诉我它是否有帮助。

    此致、
    Tanmy.

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

    这些是 重建 PDK 时显示的一般步骤 、我通过该步骤设法获得了 NIMU_ICSS 项目 Fresh。 我认为这个问题更多地与 PRU_ICSS 本地存储器映射有关、特别是指令存储器(IMEM)和数据存储器(DMEM)。  

    根据该错误消息、我可以分配的最相关的代码片段包括:  

    NIMU_ICSS_BasicExample_idkAM572x_wSockLib_armExampleproject/Debug/ConfigPkg/linker.cmd

    SECTIONS {
    
            BOARD_IO_DELAY_DATA : {*(BOARD_IO_DELAY_DATA)}  AT> OCMC_RAM1
        BOARD_IO_DELAY_CODE : {*(BOARD_IO_DELAY_CODE)}  AT> OCMC_RAM1
        APP_CACHED_DATA_BLK1_MEM : {*(APP_CACHED_DATA_BLK1_MEM)}  AT> EXT_RAM
        PRU0_REV1_IMEM : {*(PRU0_REV1_IMEM)}  AT> EXT_RAM
        PRU0_REV1_DMEM : {*(PRU0_REV1_DMEM)}  AT> EXT_RAM
        PRU0_REV1_EXT : {*(PRU0_REV1_EXT)}  AT> EXT_RAM
        PRU1_REV1_IMEM : {*(PRU1_REV1_IMEM)}  AT> EXT_RAM
        PRU1_REV1_DMEM : {*(PRU1_REV1_DMEM)}  AT> EXT_RAM
        PRU1_REV1_EXT : {*(PRU1_REV1_EXT)}  AT> EXT_RAM
        .vecs : {*(.vecs)}  AT> EXT_RAM
        ti.sysbios.family.arm.a15.mmuFirstLevelTableSection (NOLOAD) : {*(ti.sysbios.family.arm.a15.mmuFirstLevelTableSection)}  AT> EXT_RAM
        ti.sysbios.family.arm.a15.mmuSecondLevelTableSection0 (NOLOAD) : {*(ti.sysbios.family.arm.a15.mmuSecondLevelTableSection0)}  AT> EXT_RAM
        ti.sysbios.family.arm.a15.mmuSecondLevelTableSection1 (NOLOAD) : {*(ti.sysbios.family.arm.a15.mmuSecondLevelTableSection1)}  AT> EXT_RAM
        ti.sysbios.family.arm.a15.mmuSecondLevelTableSection2 (NOLOAD) : {*(ti.sysbios.family.arm.a15.mmuSecondLevelTableSection2)}  AT> EXT_RAM
        ti.sysbios.family.arm.a15.mmuSecondLevelTableSection3 (NOLOAD) : {*(ti.sysbios.family.arm.a15.mmuSecondLevelTableSection3)}  AT> EXT_RAM
        xdc.meta (COPY) : {KEEP(*(xdc.meta))}  AT> EXT_RAM

    另见 :C:/ti/pdk_am57xx_1_0_19/packages/ti/build/pruss/lnk_a8_a9_a15_REV1.cmd

    SECTIONS {
    
            BOARD_IO_DELAY_DATA : {*(BOARD_IO_DELAY_DATA)}  AT> OCMC_RAM1
        BOARD_IO_DELAY_CODE : {*(BOARD_IO_DELAY_CODE)}  AT> OCMC_RAM1
        APP_CACHED_DATA_BLK1_MEM : {*(APP_CACHED_DATA_BLK1_MEM)}  AT> EXT_RAM
        PRU0_REV1_IMEM : {*(PRU0_REV1_IMEM)}  AT> EXT_RAM
        PRU0_REV1_DMEM : {*(PRU0_REV1_DMEM)}  AT> EXT_RAM
        PRU0_REV1_EXT : {*(PRU0_REV1_EXT)}  AT> EXT_RAM
        PRU1_REV1_IMEM : {*(PRU1_REV1_IMEM)}  AT> EXT_RAM
        PRU1_REV1_DMEM : {*(PRU1_REV1_DMEM)}  AT> EXT_RAM
        PRU1_REV1_EXT : {*(PRU1_REV1_EXT)}  AT> EXT_RAM
        .vecs : {*(.vecs)}  AT> EXT_RAM
        ti.sysbios.family.arm.a15.mmuFirstLevelTableSection (NOLOAD) : {*(ti.sysbios.family.arm.a15.mmuFirstLevelTableSection)}  AT> EXT_RAM
        ti.sysbios.family.arm.a15.mmuSecondLevelTableSection0 (NOLOAD) : {*(ti.sysbios.family.arm.a15.mmuSecondLevelTableSection0)}  AT> EXT_RAM
        ti.sysbios.family.arm.a15.mmuSecondLevelTableSection1 (NOLOAD) : {*(ti.sysbios.family.arm.a15.mmuSecondLevelTableSection1)}  AT> EXT_RAM
        ti.sysbios.family.arm.a15.mmuSecondLevelTableSection2 (NOLOAD) : {*(ti.sysbios.family.arm.a15.mmuSecondLevelTableSection2)}  AT> EXT_RAM
        ti.sysbios.family.arm.a15.mmuSecondLevelTableSection3 (NOLOAD) : {*(ti.sysbios.family.arm.a15.mmuSecondLevelTableSection3)}  AT> EXT_RAM
        xdc.meta (COPY) : {KEEP(*(xdc.meta))}  AT> EXT_RAM

    看看这个方向可能会有帮助吗?

    此致、

    Gerard

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

    很抱歉这里有一个拼写错误:

    而第二个代码片段应该是这样的

    c:/ti/pdk_am57xx_1_0_19/packages/ti/build/pruss/lnk_a8_a9_a15_REV1.cmd

    /* SPECIFY THE SYSTEM MEMORY MAP */
    SECTIONS
    {
        PRU0_REV1_IMEM : {
            pru_imem0_rev1_start = .;
            KEEP(*(PRU0_REV1_IMEM))
            pru_imem0_rev1_end = .;
        } > APP_CACHED_DATA_BLK0_MEM
        PRU0_REV1_DMEM : {
            pru_dmem0_rev1_start = .;
            KEEP (*(PRU0_REV1_DMEM))
            pru_dmem0_rev1_end = .;
        } > APP_CACHED_DATA_BLK0_MEM
        PRU0_REV1_EXT : {
            KEEP (*(PRU0_REV1_EXT))
        } > APP_CACHED_DATA_BLK0_MEM
        PRU1_REV1_IMEM : {
            pru_imem1_rev1_start = .;
            KEEP (*(PRU1_REV1_IMEM))
            pru_imem1_rev1_end = .;
        } > APP_CACHED_DATA_BLK0_MEM
        PRU1_REV1_DMEM : {
            pru_dmem1_rev1_start = .;
            KEEP (*(PRU1_REV1_DMEM))
            pru_dmem1_rev1_end = .;
        } > APP_CACHED_DATA_BLK0_MEM
        PRU1_REV1_EXT : {
            KEEP (*(PRU1_REV1_EXT))
        } > APP_CACHED_DATA_BLK0_MEM
    }

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

    将默认配置从 evmAM572x 更改为 idkAM572x、然后重新构建。