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: Building TI-RTOS applications for Beaglebone Black

Part Number: BEAGLEBK
Other Parts Discussed in Thread: SYSBIOS, AM3359

Tool/software: TI-RTOS

Hi,

I have a Beaglebone Black board, and I'm trying to build TI-RTOS applications for it. I don't own an emulator; therefore, I'm trying to load the application binary to a microSD card and boot the board with it. To that end, I'll convert the *.OUT file generated by CCS to a *.BIN file via tiobj2bin utility, rename the result as "app", and put it to the microSD card alongside the MLO file from the Starterware kit.

I have installed Processor SDK RTOS ver.5.02.00.10, which includes:

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

I want to access the GPIO and UART peripherals of the board, so I did some reading and learnt that I must use the Board_init() API from the <ti/board/board.h> file. I created a TI-RTOS Project and included the following lines of code before 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);

However, I never managed to compile this code. First, the compiler was throwing an "undefined reference to Board_init" error (whose prototype was clearly declared in the included header file), then, for some reason, it's throwing the following linking error (undefined reference to main?) now:

Invoking: GNU Linker
"/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" -nostartfiles -static -Wl,--gc-sections -L"/home/okancalis/ti/bios_6_73_01_01/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/hard" -Wl,--defsym,STACKSIZE=0x1C000 -Wl,--defsym,HEAPSIZE=0x400 --specs=nano.specs -o"BeagleBoneBlackTest.out" -Wl,-T"configPkg/linker.cmd" -Wl,--start-group -lgcc -lm -lnosys -lc -Wl,--end-group
makefile:142: recipe for target 'BeagleBoneBlackTest.out' failed
/home/okancalis/workspace_v8/BeagleBoneBlackTest/Debug/configPkg/package/cfg/app_pa8fg.oa8fg: In function `.LANCHOR40':
app_pa8fg.c:(.data.ti_sysbios_knl_Task_Object__table__V+0x28): undefined reference to `taskFxn'
/home/okancalis/ti/bios_6_73_01_01/packages/gnu/targets/arm/rtsv7A/lib/boot.aa8fg(startup.oa8fg): In function `gnu_targets_arm_rtsv7A_startupC':
/db/ztree/library/trees/xdctargets/xdctargets-r09/src/gnu/targets/arm/rtsv7A/startup.c:75: undefined reference to `main'
collect2: error: ld returned 1 exit status
gmake[1]: *** [BeagleBoneBlackTest.out] Error 1
gmake: *** [all] Error 2
makefile:138: recipe for target 'all' failed

I think I have sufficient knowledge on the scheduling part of SYS/BIOS (I've watched the online workshop), but I have almost no clue on how to proceed in my current situation. Could you please help?

BeagleBoneBlackTest.tar.gz

(I've attached the RTOS Project in case it helps.)

  • OkCalis,

    For TI RTOS development, an emulator is typically required as the development environment usually uses CCS IDE and debug would require an emulator. Having said that you can load applications using a SD card and use printf to run and debug applications but this is quite an inefficient setup that will not provide as much insight in the debug.

    To use as a starting point, I would recommend that you use the RTOS template app that we support for am335x-evm and then modify this to link to bbAM335x board library to modify for your platform.

    What example are you building? Did you setup the example from scratch or are you building an existing example from the PDK or processor SDK RTOS. The build log indicates that the linker is not able to find the main function, which could occur when you don`t have the correct link time order. You can use --start-group --end-group with the GCC linker to circularly link symbols.

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

    Regards,
    Rahul
  • As you suggested, I started from scratch. I couldn't find any example projects for AM335x EVM, so I created a SYS/BIOS project with the Minimal template.

    I added the Board_init() call to the main, as before, and added the following library files (provided by the AM335x PDK) to the linker path:

    /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

    And the linker threw the error that follows:

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

    Building file: "../app.cfg"

    Invoking: 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 -o 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"

    making package.mak (because of package.bld) ...

    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...

    configuring app.xea8fnv from package/cfg/app_pea8fnv.cfg ...

    generating custom ti.sysbios library makefile ...

    Starting build of library sources ...

    making /home/okancalis/workspace_v8/HelloWorld/src/sysbios/sysbios.aea8fnv ...

    gmake[1]: Entering directory `/home/okancalis/workspace_v8/HelloWorld/src/sysbios'

    clea8fnv /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_asm.obj intcps_Hwi_asm_switch.obj exc_Exception_asm.obj a8_Cache_asm.obj a8_Mmu_asm.obj a8_TimestampProvider_asm.obj dmtimer_Timer_asm.obj ...

    gmake[1]: Leaving directory `/home/okancalis/workspace_v8/HelloWorld/src/sysbios'

    Build of libraries done.

    clea8fnv package/cfg/app_pea8fnv.c ...

    Finished building: "../app.cfg"

    making ../src/sysbios/sysbios.aea8fnv ...

    gmake[1]: Nothing to be done for 'all'.

    Building file: "../main.c"

    Invoking: ARM Compiler

    "/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 --diag_wrap=off --display_error_number --preproc_with_compile --preproc_dependency="main.d_raw" --cmd_file="configPkg/compiler.opt" "../main.c"

    Finished building: "../main.c"

    making ../src/sysbios/sysbios.aea8fnv ...

    gmake[2]: Nothing to be done for 'all'.

    Building target: "HelloWorld.out"

    Invoking: ARM Linker

    "/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 --define=am3359 --diag_warning=225 --diag_wrap=off --display_error_number -z -m"HelloWorld.map" --heap_size=0x800 --stack_size=0x800 -i"/home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/lib" -i"/home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include" --reread_libs --define=A8_CORE=1 --diag_wrap=off --display_error_number --warn_sections --xml_link_info="HelloWorld_linkInfo.xml" --rom_model -o "HelloWorld.out" "./main.obj" -l"configPkg/linker.cmd" -l"/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg" -l"/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg" -l"/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg" -llibc.a

    <Linking>

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<bbbAM335x.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<bbbAM335x_lld_init.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<bbbAM335x_pinmux.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<am335x_chipdb.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<am335x_prcm.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<hw_am335x_chipdb.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<hw_am335x_chipdb_baseaddr.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<hw_am335x_chipdb_interrupt.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<am335x_beagleboneblack_pinmux_data.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_stdio.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_ascii_utils.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_drv.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_soc.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg<SemaphoreP_tirtos.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg<HwiP_tirtos.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg<Utils_tirtos.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg<RegisterIntr_tirtos.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)

    warning #10247-D: creating output section ".text.Board_moduleClockInit" without a SECTIONS specification

    warning #10247-D: creating output section ".text.Board_init" without a SECTIONS specification

    warning #10247-D: creating output section ".text.Board_uartStdioInit" without a SECTIONS specification

    warning #10247-D: creating output section ".text.PINMUXModuleConfig" without a SECTIONS specification

    warning #10247-D: creating output section ".text.Board_pinmuxConfig" without a SECTIONS specification

    warning #10247-D: creating output section ".text.CHIPDBBaseAddress" without a SECTIONS specification

    warning #10247-D: creating output section ".text.PRCMModuleEnable" without a SECTIONS specification

    warning #10247-D: creating output section ".rodata.gChipDBResourceIDMap" without a SECTIONS specification

    warning #10247-D: creating output section ".rodata.gChipDBBaseAddrTable" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gBbbPinmuxData" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gCpsw0PinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gCpswPinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gGpio0PinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gGpio1PinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gGpio3PinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gGpioPinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gI2c0PinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gI2cPinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gLcdc0PinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gLcdcPinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gMcspi1PinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gMcspiPinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gMmcsd0PinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gMmcsd1PinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gMmcsdPinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gUart0PinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gUartPinCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_stdioInit" without a SECTIONS specification

    warning #10247-D: creating output section ".bss.uart_stdio" without a SECTIONS specification

    warning #10247-D: creating output section ".rodata.UART_stdioInit2.str1.4" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_init" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_open" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_Params_init" without a SECTIONS specification

    warning #10247-D: creating output section ".data.UART_count" without a SECTIONS specification

    warning #10247-D: creating output section ".rodata.UART_defaultParams" without a SECTIONS specification

    warning #10247-D: creating output section ".data.uartInitCfg" without a SECTIONS specification

    warning #10247-D: creating output section ".rodata.UART_config" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_init_v1" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_control_v1" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_open_v1" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_close_v1" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_writeCancelNoCB.isra.0" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_writeCancel_v1" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_readCancelNoCB.isra.2" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_charPut_v1.isra.4" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_writePolling_v1" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_write2_v1" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_write_v1" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_readPolling_v1" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_v1_callback" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_read2_v1" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_read_v1" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_readCancel_v1" without a SECTIONS specification

    warning #10247-D: creating output section ".text.UART_v1_hwiIntFxn" without a SECTIONS specification

    warning #10247-D: creating output section ".rodata.CSWTCH.9" without a SECTIONS specification

    warning #10247-D: creating output section ".rodata.UART_FxnTable_v1" without a SECTIONS specification

    warning #10247-D: creating output section ".rodata.UART_open_v1.str1.4" without a SECTIONS specification

    warning #10247-D: creating output section ".rodata.UART_write2_v1.str1.4" without a SECTIONS specification

    warning #10247-D: creating output section ".text.SemaphoreP_create" without a SECTIONS specification

    warning #10247-D: creating output section ".text.SemaphoreP_delete" without a SECTIONS specification

    warning #10247-D: creating output section ".text.SemaphoreP_Params_init" without a SECTIONS specification

    warning #10247-D: creating output section ".text.SemaphoreP_pend" without a SECTIONS specification

    warning #10247-D: creating output section ".text.SemaphoreP_postFromISR" without a SECTIONS specification

    warning #10247-D: creating output section ".text.SemaphoreP_post" without a SECTIONS specification

    warning #10247-D: creating output section ".bss.gOsalSemPTiRtosPool" without a SECTIONS specification

    warning #10247-D: creating output section ".rodata.SemaphoreP_delete.str1.4" without a SECTIONS specification

    warning #10247-D: creating output section ".text.HwiP_create" without a SECTIONS specification

    warning #10247-D: creating output section ".text.HwiP_delete" without a SECTIONS specification

    warning #10247-D: creating output section ".text.HwiP_disable" without a SECTIONS specification

    warning #10247-D: creating output section ".text.HwiP_restore" without a SECTIONS specification

    warning #10247-D: creating output section ".bss.gOsalHwiPTiRtosPool" without a SECTIONS specification

    warning #10247-D: creating output section ".rodata.HwiP_delete.str1.4" without a SECTIONS specification

    warning #10247-D: creating output section ".text._DebugP_assert" without a SECTIONS specification

    warning #10247-D: creating output section ".text.Osal_delay" without a SECTIONS specification

    warning #10247-D: creating output section ".bss.gOsalHwiAllocCnt" without a SECTIONS specification

    warning #10247-D: creating output section ".bss.gOsalHwiPeak" without a SECTIONS specification

    warning #10247-D: creating output section ".bss.gOsalSemAllocCnt" without a SECTIONS specification

    warning #10247-D: creating output section ".bss.gOsalSemPeak" without a SECTIONS specification

    warning #10247-D: creating output section ".data.gOsal_HwAttrs" without a SECTIONS specification

    warning #10247-D: creating output section ".text.Osal_RegisterInterrupt_initParams" without a SECTIONS specification

    warning #10247-D: creating output section ".text.Osal_RegisterInterrupt" without a SECTIONS specification

    warning #10247-D: creating output section ".text.Osal_DeleteInterrupt" without a SECTIONS specification

    undefined               first referenced                                                                                                

     symbol                     in file                                                                                                    

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

    UARTBreakCtl            /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTCharGetNonBlocking2 /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTCharPut             /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTCharPutNonBlocking  /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTDivisorLatchDisable /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTDivisorLatchWrite   /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTDivisorValCompute   /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTFIFOCharPut         /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTFIFOConfig          /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTInt2Disable         /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTInt2Enable          /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTInt2StatusGet       /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTIntDisable          /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTIntEnable           /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTIntIdentityGet      /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTIsTransmitterEmpty  /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTLineCharacConfig    /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTLoopbackModeControl /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTOperatingModeSelect /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTReadStatus          /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    UARTTxFIFOFullStatusGet /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>

    error #10234-D: unresolved symbols remain

    error #10010: errors encountered during linking; "HelloWorld.out" not built

    gmake[1]: *** [HelloWorld.out] Error 1

    gmake: *** [all] Error 2

    >> Compilation failure

    makefile:141: recipe for target 'HelloWorld.out' failed

    makefile:137: recipe for target 'all' failed

    **** Build Finished ****

    So, I found out the missing symbols could be in the Startware libraries, so added the following to the library search path as well:

    /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

    Then, some errors vanished, but I still get the following:

    /home/okancalis/ti/ccsv8/utils/bin/gmake -k -j 1 all -O
     
    Building file: "../app.cfg"
    Invoking: 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 -o 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"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring app.xea8fnv from package/cfg/app_pea8fnv.cfg ...
    generating custom ti.sysbios library makefile ...
    Starting build of library sources ...
    making /home/okancalis/workspace_v8/HelloWorld/src/sysbios/sysbios.aea8fnv ...
    gmake[1]: Entering directory `/home/okancalis/workspace_v8/HelloWorld/src/sysbios'
    clea8fnv /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_asm.obj intcps_Hwi_asm_switch.obj exc_Exception_asm.obj a8_Cache_asm.obj a8_Mmu_asm.obj a8_TimestampProvider_asm.obj dmtimer_Timer_asm.obj ...
    gmake[1]: Leaving directory `/home/okancalis/workspace_v8/HelloWorld/src/sysbios'
    Build of libraries done.
    clea8fnv package/cfg/app_pea8fnv.c ...
    Finished building: "../app.cfg"
     
    making ../src/sysbios/sysbios.aea8fnv ...
    gmake[1]: Nothing to be done for 'all'.
    Building file: "../main.c"
    Invoking: ARM Compiler
    "/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 --diag_wrap=off --display_error_number --preproc_with_compile --preproc_dependency="main.d_raw" --cmd_file="configPkg/compiler.opt" "../main.c"
    Finished building: "../main.c"
     
    making ../src/sysbios/sysbios.aea8fnv ...
    gmake[2]: Nothing to be done for 'all'.
    Building target: "HelloWorld.out"
    Invoking: ARM Linker
    "/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 --define=am3359 --diag_warning=225 --diag_wrap=off --display_error_number -z -m"HelloWorld.map" --heap_size=0x800 --stack_size=0x800 -i"/home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/lib" -i"/home/okancalis/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include" --reread_libs --define=A8_CORE=1 --diag_wrap=off --display_error_number --warn_sections --xml_link_info="HelloWorld_linkInfo.xml" --rom_model -o "HelloWorld.out" "./main.obj" -l"configPkg/linker.cmd" -l"/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg" -l"/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg" -l"/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg" -l"/home/okancalis/ti/AM335X_StarterWare_02_00_00_07/binary/armv7a/cgt_ccs/am335x/drivers/drivers.lib" -l"/home/okancalis/ti/AM335X_StarterWare_02_00_00_07/binary/armv7a/cgt_ccs/am335x/system_config/system.lib" -l"/home/okancalis/ti/AM335X_StarterWare_02_00_00_07/binary/armv7a/cgt_ccs/am335x/beaglebone/platform/platform.lib" -llibc.a
    <Linking>
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<bbbAM335x.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<bbbAM335x_lld_init.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<bbbAM335x_pinmux.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<am335x_chipdb.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<am335x_prcm.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<hw_am335x_chipdb.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<hw_am335x_chipdb_baseaddr.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<hw_am335x_chipdb_interrupt.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/board/lib/bbbAM335x/a8/release/ti.board.aa8fg<am335x_beagleboneblack_pinmux_data.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_stdio.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_ascii_utils.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_drv.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_soc.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg<SemaphoreP_tirtos.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg<HwiP_tirtos.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg<Utils_tirtos.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("/home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/osal/lib/tirtos/am335x/a8/release/ti.osal.aa8fg<RegisterIntr_tirtos.oa8fg>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
    error #16004-D: file "/home/okancalis/ti/AM335X_StarterWare_02_00_00_07/binary/armv7a/cgt_ccs/am335x/drivers/drivers.lib<uart_irda_cir.obj>" has a Tag_ABI_VFP_args attribute value of "0" that is different than one previously seen ("1"); combining incompatible files
    warning #10247-D: creating output section ".text.Board_moduleClockInit" without a SECTIONS specification
    warning #10247-D: creating output section ".text.Board_init" without a SECTIONS specification
    warning #10247-D: creating output section ".text.Board_uartStdioInit" without a SECTIONS specification
    warning #10247-D: creating output section ".text.PINMUXModuleConfig" without a SECTIONS specification
    warning #10247-D: creating output section ".text.Board_pinmuxConfig" without a SECTIONS specification
    warning #10247-D: creating output section ".text.CHIPDBBaseAddress" without a SECTIONS specification
    warning #10247-D: creating output section ".text.PRCMModuleEnable" without a SECTIONS specification
    warning #10247-D: creating output section ".rodata.gChipDBResourceIDMap" without a SECTIONS specification
    warning #10247-D: creating output section ".rodata.gChipDBBaseAddrTable" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gBbbPinmuxData" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gCpsw0PinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gCpswPinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gGpio0PinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gGpio1PinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gGpio3PinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gGpioPinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gI2c0PinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gI2cPinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gLcdc0PinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gLcdcPinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gMcspi1PinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gMcspiPinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gMmcsd0PinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gMmcsd1PinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gMmcsdPinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gUart0PinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gUartPinCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_stdioInit" without a SECTIONS specification
    warning #10247-D: creating output section ".bss.uart_stdio" without a SECTIONS specification
    warning #10247-D: creating output section ".rodata.UART_stdioInit2.str1.4" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_init" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_open" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_Params_init" without a SECTIONS specification
    warning #10247-D: creating output section ".data.UART_count" without a SECTIONS specification
    warning #10247-D: creating output section ".rodata.UART_defaultParams" without a SECTIONS specification
    warning #10247-D: creating output section ".data.uartInitCfg" without a SECTIONS specification
    warning #10247-D: creating output section ".rodata.UART_config" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_init_v1" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_control_v1" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_open_v1" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_close_v1" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_writeCancelNoCB.isra.0" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_writeCancel_v1" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_readCancelNoCB.isra.2" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_charPut_v1.isra.4" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_writePolling_v1" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_write2_v1" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_write_v1" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_readPolling_v1" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_v1_callback" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_read2_v1" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_read_v1" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_readCancel_v1" without a SECTIONS specification
    warning #10247-D: creating output section ".text.UART_v1_hwiIntFxn" without a SECTIONS specification
    warning #10247-D: creating output section ".rodata.CSWTCH.9" without a SECTIONS specification
    warning #10247-D: creating output section ".rodata.UART_FxnTable_v1" without a SECTIONS specification
    warning #10247-D: creating output section ".rodata.UART_open_v1.str1.4" without a SECTIONS specification
    warning #10247-D: creating output section ".rodata.UART_write2_v1.str1.4" without a SECTIONS specification
    warning #10247-D: creating output section ".text.SemaphoreP_create" without a SECTIONS specification
    warning #10247-D: creating output section ".text.SemaphoreP_delete" without a SECTIONS specification
    warning #10247-D: creating output section ".text.SemaphoreP_Params_init" without a SECTIONS specification
    warning #10247-D: creating output section ".text.SemaphoreP_pend" without a SECTIONS specification
    warning #10247-D: creating output section ".text.SemaphoreP_postFromISR" without a SECTIONS specification
    warning #10247-D: creating output section ".text.SemaphoreP_post" without a SECTIONS specification
    warning #10247-D: creating output section ".bss.gOsalSemPTiRtosPool" without a SECTIONS specification
    warning #10247-D: creating output section ".rodata.SemaphoreP_delete.str1.4" without a SECTIONS specification
    warning #10247-D: creating output section ".text.HwiP_create" without a SECTIONS specification
    warning #10247-D: creating output section ".text.HwiP_delete" without a SECTIONS specification
    warning #10247-D: creating output section ".text.HwiP_disable" without a SECTIONS specification
    warning #10247-D: creating output section ".text.HwiP_restore" without a SECTIONS specification
    warning #10247-D: creating output section ".bss.gOsalHwiPTiRtosPool" without a SECTIONS specification
    warning #10247-D: creating output section ".rodata.HwiP_delete.str1.4" without a SECTIONS specification
    warning #10247-D: creating output section ".text._DebugP_assert" without a SECTIONS specification
    warning #10247-D: creating output section ".text.Osal_delay" without a SECTIONS specification
    warning #10247-D: creating output section ".bss.gOsalHwiAllocCnt" without a SECTIONS specification
    warning #10247-D: creating output section ".bss.gOsalHwiPeak" without a SECTIONS specification
    warning #10247-D: creating output section ".bss.gOsalSemAllocCnt" without a SECTIONS specification
    warning #10247-D: creating output section ".bss.gOsalSemPeak" without a SECTIONS specification
    warning #10247-D: creating output section ".data.gOsal_HwAttrs" without a SECTIONS specification
    warning #10247-D: creating output section ".text.Osal_RegisterInterrupt_initParams" without a SECTIONS specification
    warning #10247-D: creating output section ".text.Osal_RegisterInterrupt" without a SECTIONS specification
    warning #10247-D: creating output section ".text.Osal_DeleteInterrupt" without a SECTIONS specification
     
     undefined               first referenced                                                                                                
      symbol                     in file                                                                                                     
     ---------               ----------------                                                                                                
     UARTCharGetNonBlocking2 /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>
     UARTFIFOCharPut         /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>
     UARTInt2Disable         /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>
     UARTInt2Enable          /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>
     UARTInt2StatusGet       /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>
     UARTIsTransmitterEmpty  /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>
     UARTReadStatus          /home/okancalis/ti/pdk_am335x_1_0_13/packages/ti/drv/uart/lib/am335x/a8/release/ti.drv.uart.aa8fg<UART_v1.oa8fg>
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "HelloWorld.out" not built
    gmake[1]: *** [HelloWorld.out] Error 1
    gmake: *** [all] Error 2
     
    >> Compilation failure
    makefile:144: recipe for target 'HelloWorld.out' failed
    makefile:140: recipe for target 'all' failed

    **** Build Finished ****

    So, I'd like to ask:

    • Am I on the right track? Are PDK and Startarware libraries compatible?
    • Should I be worried about the "creating section without specification" warnings?
    • I remember a colleague of mine telling me that PDKs were like Board Support Packages and they were board-specific; however, looking at AM335x PDK, it looks processor-specific as it contains libraries for both the EVM and BeagleBoard. Is that correct?

    Thanks again for your help.

  • I am not sure putting your entire build log in the E2E post is the best way to make your post readable so I recommend attaching a text file so we can locate and get to your questions quickly.

    There are plenty of examples for AM335x in the Processor SDK and PDK that use TI RTOS that you can refer as an example. to generate project in PDK, you need to run the pdkProjectCreate script located in pdk_am335x_x_x_xx\packages folder as described below:

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

    The script generated projects that can be imported in CCS To build. Please follow the getting started guide to set up CCS and discover PRocessor SDK RTOS components before running the script.

    There are also Demo and example namely RTOS template app and that shows how to build examples with SPI, GPIO, UART and I2C driver integrated. Starterware in the PDK is only meant to be used for bootloader and board configuration purpose. for general purpose development please use the LLD examples.

    Regards,
    Rahul
  • OkCalis,

    I would like you to close this post as it seems to have resolved the problem that you originally reported. I have split your boot related thread as that can be dealt by the assigned experts to the new issue.

    To close this issue please hit the "This Resolved my issue" option below my response.

    Regards,
    Rahul