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.

[参考译文] RTOS/BEAGLEBK:为 BeagleBone Black 构建 TI-RTOS 应用

Guru**** 2539500 points
Other Parts Discussed in Thread: SYSBIOS, AM3359

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/768982/rtos-beaglebk-building-ti-rtos-applications-for-beaglebone-black

器件型号:BEAGLEBK

工具/软件:TI-RTOS

您好!

我有一个 BeagleBone Black 板、我正在尝试为此板构建 TI-RTOS 应用程序。 我不拥有仿真器;因此、我尝试将应用程序二进制文件加载到 microSD 卡中并使用它启动电路板。 为此、我将通过 tiobj2bin 实用程序将 CCS 生成的*。out 文件转换为*。bin 文件、将结果重命名为"app"、并将其与 Starterware 套件中的 MLO 文件一起放入 microSD 卡。

我安装了 Processor SDK RTOS 版本5.02.00.10、其中包括:

  • SYS/BIOS 6.73.1.01
  • AM335x PDK 1.0.13
  • CCS 8.2.0

我想访问主板的 GPIO 和 UART 外设,所以我进行了一些读取,并了解到我必须使用来自的 Board_init() API 文件。 我创建了一个 TI-RTOS 项目并在 BIOS_start()之前包含了以下几行代码:

   Board_initCfg uiInitCfg = Board_init_PLL | Board_init_DDR | Board_init_uart_stdio | Board_init_module_clock;
   Board_status iStatus = Board_init (uiInitCfg);

但是、我从未成功编译过此代码。 首先、编译器抛出"对 Board_init 的未定义引用"错误(其原型在包含的头文件中清晰声明)、然后出于某种原因、它抛出以下链接错误(对 main 的未定义引用?) 现在:

调用:GNU 连接器
"/home/okancalis/ti/ccsv8/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc -mtUNE=cortex-A8 -marm -Dam3359 -og -g -gdwarf-3 -gstrict-dwarf -Wall -mfloat-abi=hard -WL、-Map、"BeagleBoneBlackTest.map"-nostat 文件-static -gstrict-gs-cs-SECTIONS -lflo"/home/okancalis/ti/bios_6_73_01_01/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/hard -symm-lfrom-ldem-ldise-m-rf-nosrf-nats-ldise-m.ldise-group-rf-nour-rf-nour.cn.cn/me-cwl、-rf-nes=-rf-noslwl 规范-rf-nour.cn.cn/me-ctrab-cn-r-r-rf-nour.cn.cn/me-cwl、-cn/me-cwl -cn/me-ctrab-r
Makefile:142:目标'BeagleBoneBlackTest.Out'的配方失败
/home/okancalis/workspace_v8/BeagleBoneBlackTest/Debug/configPkg/package/cfg/app_pa8fg.oa8fg:在函数`.LANCHOR40'中:
app_pa8fg.c:(.data.ti_sysbios_knL_Task_Object__table_V_0x28):未`taskFxn'的引用
/home/okancalis/ti/bios_6_73_01_01/packages/gnu/targets/arm/rtsv7A/lib/boot.aa8fg (startup.oa8fg):在函数中`GNU_Targets_arm_rtsv7A_startupC':
/db/ztree/library/trees/xdctargets/xdctargets-r09/src/gnu/targets/arm/rtsv7A/startup.c:`m:未定义对"主"的引用
collect2:错误:LD 返回1退出状态
gmake[1]:***[BeagleBoneBlackTest.Out]错误1.
gmake:***[全部]错误2.
Makefile:138:目标“全部”的配方失败

我认为我对 SYS/BIOS 的调度部分有足够的了解(我看过在线研讨会)、但我几乎不知道如何在当前情况下继续。 请帮帮我。

e2e.ti.com/.../BeagleBoneBlackTest.tar.gz

(我已经附加了 RTOS 项目、以防它有用。)

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

    对于 TI RTOS 开发、通常需要仿真器、因为开发环境通常使用 CCS IDE、调试需要仿真器。 话虽如此、您可以使用 SD 卡加载应用程序、并使用 printf 运行和调试应用程序、但这是一种效率低下的设置、无法提供对调试的更多见解。

    要用作起点、我建议您使用我们支持 AM335x-EVM 的 RTOS 模板应用程序、然后对其进行修改以链接到 bbAM335x 电路板库、从而为您的平台进行修改。

    您正在构建什么示例? 您是否从头开始设置了示例、或者是否正在从 PDK 或 Processor SDK RTOS 构建现有示例。 n`t 日志表示链接器无法找到主函数、当您没有正确的链接时间顺序时、可能会出现这种情况。 您可以将--start-group --end-group 与 GCC 链接器一起使用以循环链接符号。

    stackoverflow.com/.../what-are-the-start-group-and-end-group-command-line-options

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

    正如您所建议的、我从零开始。 我找不到适用于 AM335x EVM 的任何示例项目、因此我使用最小模板创建了 SYS/BIOS 项目。

    我像以前一样将 Board_init()调用添加到 main 中,并将以下库文件(由 AM335x PDK 提供)添加到链接器路径中:

    /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg

    /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg

    链接器抛出以下错误:

    /home/okancalis/ti/ccsv8/utils/bin/gmake -k -j 1 all -O

    编译文件:"../app.cfg

    调用:XDCtools

    "/home/okancalis/ti/xdctools_3_50_08_24_core/xs --xdcpath="/home/okancalis/ti/bios_6_73_01_01/packages;/home/okancalis/ti/pdk_am335x_1_0_13/packages;" xdc.tools.configuro configPkg -t ti.targets.arm.elf.a8Fnv -p ti.platforms.beaglebone -r release -c "/home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS --compileOptions "-g""./app.cfg

    正在制作 package.mak (由于 package.bld)...

    正在为软件包 configPkg 生成接口(因为 package/package.xdc.inc 比 package.XDC 旧)...

    正在从 package/cfg/app_pea8fnv.cfg 配置 app.xea8fnv ...

    正在生成自定义 ti.sysbios 库 makefile ...

    正在开始构建库源...

    正在制作/home/okancalis/workspace_v8/HelloWorld/src/sysbios/sysbios.aea8fnv ...

    gmake[1]:输入目录`/home/okancalis/workspace_v8/HelloWorld/src/sysbios

    clei8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/BIOS.c……

    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/IntrinsicsSupport_asm.asm

    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/TaskSupport_asm.asm

    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/a8/intcps/Hwi_asm.s470

    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/a8/intcps/Hwi_asm_switch.s470

    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/exc/Exception_asm.asm

    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/a8/Cache_asm.asm

    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/a8/Mmu_asm.asm

    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/a8/TimestampProvider_asm.asm

    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/timers/dmtimer/Timer_asm.s470

    area8fnv BIOS.obj arm_IntrinsicsSupport_asm.obj arm_TaskSupport_asm.obj intcps_hwi_asc.obj intcps_hwi_asm_switch.obj exc_exception_asm_asm_cache_asc.obj mu_asmu_asc.obj A8 Timer_Timer_Timer_dA8………

    gmake[1]:离开目录`/home/okancalis/workspace_v8/HelloWorld/src/sysbios

    已完成库构建。

    clei8fnv 封装/cfg/app_pea8fnv.c……

    已完成构建:"./app.cfg

    正在制作./src/sysbios/sysbios.aea8fnv ...

    gmake[1]:没有为"全部"执行任何操作。

    编译文件:"../main.c"

    调用:ARM 编译器

    "/home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/bin/armcl -mv7A8 --code_state=32 -me -O2 --opt_for_speed=4 --include_path="/home/okancalis/workspace_v8/HelloWorld --include_path="/home/okancalis/ti/bios_6_73_01_01/packages/ti/posix/ccs --include_path="/home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include --define=am3359 --diag_warning=225 --display_error_number="preproc_build"-preproc_prebuild"-preproc_prebuild" pruation.probuld"-us.probuld_us.probultration.c -us.proc

    建筑完工:"../main.c"

    正在制作./src/sysbios/sysbios.aea8fnv ...

    gmake[2]:对于"全部"没有要做的事情。

    建筑目标:"HelloWorld.Out"

    调用:ARM 链接器

    "/home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/bin/armcl /home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/lib /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg -mv7A8 --code_state=32 -me -O2 --opt_for_speed=4 --define=am3359 --diag_warn=225 --diag_wrap=off --display_error_number -z -m"HelloWorld.map"--heap_size=0x800 --stack_size=0x800 --exit_line-linker -line-lib_line-ram_lineps=-l"-line-linepdl.intrack_line-ines=-line-lib_linep-l.ines"--linkg"-line-linep_linep-linep_line-linkg-l"-linep-linep-l_linkg-line-line-linkg-l.ultrack_log.ines=-l.ines"-ov-line-line-linep-linep-linep-linep-linep-l"-l.ultrack_info-ines"--/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg /home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.Board_moduleClockInit"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.Board_init"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.Board_uartStdioInit"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.PINMUXModuleConfig"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.Board_pinmuxConfig"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.CHIPDBBaseAddress"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.PRCMModuleEnable"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".rodata.gChipDBResourceIDMap"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.gChipDBBaseAddrTable"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gBbbPinmuxData"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".data.gCpsw0PinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gCpswPinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gGpio0PinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gGpio1PinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gGpio3PinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gpioPinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gI2c0PinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gI2cPinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gLcdc0PinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gLcdcPinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gMcspi1PinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gMcspinCfg"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".data.gMmcsd0PinCfg"

    警告#10247-D:创建不带 SECTIONS 规范的输出段".data.gMmcsd1PinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gMcsdPinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gUart0PinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gUartPinCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_stdioInit"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".bss.uart_stdio"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".rodata.uart_stdioInit2.str1.4"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_init"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_open"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_Params_init"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.uart_count"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".rodata.uart_defaultParams"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.uartInitCfg"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".rodata.uart_config"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_init_v1"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_control_v1"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_open_v1"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_close_v1"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_writeCancelNoCB.isra.0"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_writeCancel_v1"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.UART_readCancelNoCB.isra.2"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_charPut_v1.isra.4"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_writePolling_v1"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_write2_v1"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_write_v1"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_readPolling_v1"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_v1_callback"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_read2_v1"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_read_v1"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_readCancel_v1"

    警告#10247-D:创建没有 SECTIONS 规范的输出段".text.uart_v1_hwiIntFxn"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.CSWTCH.9"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.UART_FxnTable_v1"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.uart_open_v1.str1.4"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.uart_write2_v1.str1.4"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.SemaphoreP_create"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.SemaphoreP_delete"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.SemaphoreP_Params_init"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.SemaphoreP_Pend"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.SemaphoreP_postFromISR"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.SemaphoreP_POST"

    警告#10247-D:创建不带 SECTIONS 规范的输出段".bss.gOsalSemPTiRtosPool"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.SemaphoreP_delete.str1.4"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.Hwip_create"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.Hwip_delete"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.Hwip_disable"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.Hwip_restore"

    警告#10247-D:创建不带 SECTIONS 规范的输出段".bss.gOsalHwiptosPool"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.Hwip_delime.str1.4"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text_DebugP_assert"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.OSAL_DELAY"

    警告#10247-D:创建不带 SECTIONS 规范的输出段".bss.gOsalHwiAlloccn"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".bss.gOsalHwiPeak "

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".bss.gOsalSemAllocCnt"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".bss.gOsalSemPeak "

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".data.Gosal_HwAttrs"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.OSAL_RegisterInterrupt_initParams"

    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.OSAL_RegisterInterrupt"

    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.OSAL_DeleteInterrupt"

    未定义        第一个参考                                                 

     符号           文件中                                                   

    ------        --------                                                 

    UARTBreakCtl       /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTCharGetNonBlocking2 /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTCharPut       /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTCharPutNonBlocking /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTDivisorLatchDisable /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTDivisorLatchWrite /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTDivisorValCompute /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTFIFOCharPut     /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTFIFOConfig      /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTInt2Disable     /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTInt2Enable      /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTInt2StatusGet   /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTIntDisable      /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTIntEnable      /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTIntIdentityGet   /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTIsTransmitterEmpty /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTLineCharacConfig  /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTLoopbackModeControl /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTOperatingModeSelect /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTReadStatus      /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    UARTTxFIFOFullStatusGet /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg

    错误#10234-D:未解析的符号仍然存在

    错误#10010:链接期间遇到错误;未生成"HelloWorld.out"

    gmake.1]:***[HelloWorld.out]错误1.

    gmake:***[全部]错误2.

    >>编译失败

    Makefile:141:目标'HelloWorld.out'的配方失败

    Makefile:137:目标'all'的配方失败

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

    因此、我发现缺少的符号可能位于软件库中、因此也在库搜索路径中添加了以下内容:

    /home/okancalis/ti/AM335X_StarterWare_02_00_00_07/binary/armv7a/cgt_ccs/am335x/drivers/drivers.lib

    /home/okancalis/ti/AM335X_StarterWare_02_00_00_07/binary/armv7a/cgt_ccs/am335x/system_config/system.lib

    /home/okancalis/ti/AM335X_StarterWare_02_00_00_07/binary/armv7a/cgt_ccs/am335x/beaglebone/platform/platform.lib

    然后、一些错误消失了、但我仍然得到以下结果:

    /home/okancalis/ti/ccsv8/utils/bin/gmake -k -j 1 all -O
     
    编译文件:"../app.cfg
    调用:XDCtools
    "/home/okancalis/ti/xdctools_3_50_08_24_core/xs --xdcpath="/home/okancalis/ti/bios_6_73_01_01/packages;/home/okancalis/ti/pdk_am335x_1_0_13/packages;" xdc.tools.configuro configPkg -t ti.targets.arm.elf.a8Fnv -p ti.platforms.beaglebone -r release -c "/home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS --compileOptions "-g""./app.cfg
    正在制作 package.mak (由于 package.bld)...
    正在为软件包 configPkg 生成接口(因为 package/package.xdc.inc 比 package.XDC 旧)...
    正在从 package/cfg/app_pea8fnv.cfg 配置 app.xea8fnv ...
    正在生成自定义 ti.sysbios 库 makefile ...
    正在开始构建库源...
    正在制作/home/okancalis/workspace_v8/HelloWorld/src/sysbios/sysbios.aea8fnv ...
    gmake[1]:输入目录`/home/okancalis/workspace_v8/HelloWorld/src/sysbios
    clei8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/BIOS.c……
    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/IntrinsicsSupport_asm.asm
    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/TaskSupport_asm.asm
    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/a8/intcps/Hwi_asm.s470
    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/a8/intcps/Hwi_asm_switch.s470
    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/exc/Exception_asm.asm
    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/a8/Cache_asm.asm
    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/a8/Mmu_asm.asm
    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/a8/TimestampProvider_asm.asm
    asmea8fnv /home/okancalis/ti/bios_6_73_01_01/packages/ti/sysbios/timers/dmtimer/Timer_asm.s470
    area8fnv BIOS.obj arm_IntrinsicsSupport_asm.obj arm_TaskSupport_asm.obj intcps_hwi_asc.obj intcps_hwi_asm_switch.obj exc_exception_asm_asm_cache_asc.obj mu_asmu_asc.obj A8 Timer_Timer_Timer_dA8………
    gmake[1]:离开目录`/home/okancalis/workspace_v8/HelloWorld/src/sysbios
    已完成库构建。
    clei8fnv 封装/cfg/app_pea8fnv.c……
    已完成构建:"./app.cfg
     
    正在制作./src/sysbios/sysbios.aea8fnv ...
    gmake[1]:没有为"全部"执行任何操作。
    编译文件:"../main.c"
    调用:ARM 编译器
    "/home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/bin/armcl -mv7A8 --code_state=32 -me -O2 --opt_for_speed=4 --include_path="/home/okancalis/workspace_v8/HelloWorld --include_path="/home/okancalis/ti/bios_6_73_01_01/packages/ti/posix/ccs --include_path="/home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include --define=am3359 --diag_warning=225 --display_error_number="preproc_build"-preproc_prebuild"-preproc_prebuild" pruation.probuld"-us.probuld_us.probultration.c -us.proc
    建筑完工:"../main.c"
     
    正在制作./src/sysbios/sysbios.aea8fnv ...
    gmake[2]:对于"全部"没有要做的事情。
    建筑目标:"HelloWorld.Out"
    调用:ARM 链接器
    "/home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/bin/armcl /home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/lib /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg /home/okancalis/ti/AM335X_StarterWare_02_00_00_07/binary/armv7a/cgt_ccs/am335x/drivers/drivers.lib -mv7A8 --code_state=32 -me -O2 --opt_for_speed=4 --define=am3359 --diag_warn=225 --diag_wrap=off --display_error_number -z -m"HelloWorld.map"--heap_size=0x800 --stack_size=0x800 --exit_line-linker -l"-line-linkg-l"-linker -linep_line-lib_linepdl"-intrack_line-line-l"-linepdl.ines"-/home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg /home/okancalis/ti/AM335X_StarterWare_02_00_00_07/binary/armv7a/cgt_ccs/am335x/system_config/system.lib /home/okancalis/ti/AM335X_StarterWare_02_00_00_07/binary/armv7a/cgt_ccs/am335x/beaglebone/platform/platform.lib -l.linker -line-linepdl"-linker -linep_linker -l.ines"--linker -linepdl.line-linker -l.ines"-"-linep_linkg"-l.intrack_line"-linepdl-linep_line"-l.ines"-ov-linep_linepov.l"-line"-l.line"-l.line"-l.linep_lin

    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    警告#16032-D:目标文件具有不兼容的 wchar_t 类型("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg "=--wchar_t=32、"./main.obj"=--wchar_t=16)
    错误#16004-D:文件"/home/okancalis/ti/AM335X_StarterWare_02_00_00_07/binary/armv7a/cgt_ccs/am335x/drivers/drivers.lib "的 Tag_ABI_VFP_args 属性值为"0"、不同于先前看到的属性("1");合并不兼容的文件
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.Board_moduleClockInit"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.Board_init"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.Board_uartStdioInit"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.PINMUXModuleConfig"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.Board_pinmuxConfig"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.CHIPDBBaseAddress"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.PRCMModuleEnable"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".rodata.gChipDBResourceIDMap"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.gChipDBBaseAddrTable"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gBbbPinmuxData"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".data.gCpsw0PinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gCpswPinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gGpio0PinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gGpio1PinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gGpio3PinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gpioPinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gI2c0PinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gI2cPinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gLcdc0PinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gLcdcPinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gMcspi1PinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gMcspinCfg"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".data.gMmcsd0PinCfg"
    警告#10247-D:创建不带 SECTIONS 规范的输出段".data.gMmcsd1PinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gMcsdPinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gUart0PinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.gUartPinCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_stdioInit"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".bss.uart_stdio"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".rodata.uart_stdioInit2.str1.4"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_init"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_open"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_Params_init"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.uart_count"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".rodata.uart_defaultParams"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data.uartInitCfg"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".rodata.uart_config"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_init_v1"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_control_v1"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_open_v1"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_close_v1"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_writeCancelNoCB.isra.0"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_writeCancel_v1"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.UART_readCancelNoCB.isra.2"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_charPut_v1.isra.4"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_writePolling_v1"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_write2_v1"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_write_v1"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_readPolling_v1"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_v1_callback"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_read2_v1"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.uart_read_v1"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.uart_readCancel_v1"
    警告#10247-D:创建没有 SECTIONS 规范的输出段".text.uart_v1_hwiIntFxn"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.CSWTCH.9"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.UART_FxnTable_v1"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.uart_open_v1.str1.4"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.uart_write2_v1.str1.4"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.SemaphoreP_create"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.SemaphoreP_delete"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.SemaphoreP_Params_init"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.SemaphoreP_Pend"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.SemaphoreP_postFromISR"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.SemaphoreP_POST"
    警告#10247-D:创建不带 SECTIONS 规范的输出段".bss.gOsalSemPTiRtosPool"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.SemaphoreP_delete.str1.4"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.Hwip_create"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.Hwip_delete"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.Hwip_disable"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.Hwip_restore"
    警告#10247-D:创建不带 SECTIONS 规范的输出段".bss.gOsalHwiptosPool"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".rodata.Hwip_delime.str1.4"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text_DebugP_assert"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.OSAL_DELAY"
    警告#10247-D:创建不带 SECTIONS 规范的输出段".bss.gOsalHwiAlloccn"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".bss.gOsalHwiPeak "
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".bss.gOsalSemAllocCnt"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".bss.gOsalSemPeak "
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".data.Gosal_HwAttrs"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.OSAL_RegisterInterrupt_initParams"
    警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text.OSAL_RegisterInterrupt"
    警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".text.OSAL_DeleteInterrupt"
     
     未定义              的首次引用                                                                                                
     符号                                                                                                                         
     ------               --------                                                                                                
     UARTCharGetNonBlocking2 /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg
     UARTFIFOCharPut        /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg
     UARTInt2Disable        /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg
     UARTInt2Enable         /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg
     UARTInt2StatusGet      /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg
     UARTIsTransmitterEmpty /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg
     UARTReadStatus         /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg
     
    错误#10234-D:未解析的符号仍然存在
    错误#10010:链接期间遇到错误;未生成"HelloWorld.out"
    gmake.1]:***[HelloWorld.out]错误1.
    gmake:***[全部]错误2.
     
    >>编译失败
    Makefile:144:目标'HelloWorld.out'的配方失败
    Makefile:140:目标'all'的配方失败

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

    因此、我想问:

    • 我的成绩是否正确? PDK 和 Startarware 库是否兼容?
    • 我是否应该担心"创建无规格的分区"警告?
    • 我还记得我的一位同事告诉我、PDK 就像板级支持包一样、而且是板级专用的;但是、通过查看 AM335x PDK、它看起来是特定于处理器的、因为它包含 EVM 和 BeagleBoard 的库。 是这样吗?

    再次感谢您的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不确定将您的整个构建日志放入 E2E 帖子是使您的帖子可读的最佳方式、因此我建议您附加文本文件、以便我们可以快速找到并解答您的问题。

    Processor SDK 和 PDK 中提供了大量使用 TI RTOS 的 AM335x 示例、您可以将其作为示例。 要在 PDK 中生成工程、您需要运行 pdkProjectCreate 脚本、该脚本位于 pdk_am335x_x_xx\packages 文件夹中、如下所述:

    software-dl.ti.com/.../index_overview.html

    脚本生成的工程可导入 CCS 进行编译。 在运行脚本之前、请按照入门指南设置 CCS 并查找处理器 SDK RTOS 组件。

    还有演示和示例、即 RTOS 模板应用程序、展示了如何在集成了 SPI、GPIO、UART 和 I2C 驱动程序的情况下构建示例。 PDK 中的 Starterware 仅用于引导加载程序和电路板配置。 对于通用开发、请使用 LLD 示例。

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

    我希望您关闭此帖子、因为它似乎已解决了您最初报告的问题。 我已经拆分了与引导相关的线程、因为这可以由分配给新问题的专家来处理。

    要关闭此问题、请点击我的回复下方的"这已解决我的问题"选项。

    此致、
    Rahul