Part Number: AM5728
Other Parts Discussed in Thread: AM5729, SYSBIOS,
Tool/software: TI-RTOS
Hi all,
I'm trying to create simple SYS/BIOS project with using of Board_init() function and I found out that it is working under DSP but not under ARM. My code is simple:
Board_initCfg boardCfg = BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_MODULE_CLOCK;
int res = 0;
if (BOARD_SOK == (res = Board_init(boardCfg)))
{
BIOS_start(); /* does not return */
}
When I compile the code in DSP project, the compilation is successful.
When I compile the code in ARM-A15 project, the compilation fails and requires a UART_config structure:
'Invoking: GNU Linker'
"C:/ti/gcc-arm-none-eabi-7-2018-q2-update/bin/arm-none-eabi-gcc.exe" -mtune=cortex-a15 -marm -Dam5728 -Dcore0 -g -gdwarf-3 -gstrict-dwarf -Wall -std=c99 -mfloat-abi=hard -Wl,-Map,"prj3.map" -nostartfiles -static -Wl,--gc-sections -L"C:/ti/bios_6_75_02_00/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/hard" -Wl,--defsym,CORE0=1 -Wl,--defsym,STACKSIZE=0x10000 -Wl,--defsym,HEAPSIZE=0x400 --specs=nano.specs -o"prj3.out" "./main.o" -Wl,-T"configPkg/linker.cmd" -Wl,--start-group -lgcc -lm -lnosys -lc -lc -Wl,--end-group
makefile:146: recipe for target 'prj3.out' failed
C:\ti\pdk_am57xx_1_0_14\packages\ti\drv\uart\lib\a15\release\ti.drv.uart.aa15fg(UART_drv.oa15fg): In function `UART_init':
/oe/bld/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/am57xx_evm-linux-gnueabi/uart-lld-rtos/01.00.00.14-r0/build/ti/drv/uart/src/UART_drv.c:112: undefined reference to `UART_config'
/oe/bld/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/am57xx_evm-linux-gnueabi/uart-lld-rtos/01.00.00.14-r0/build/ti/drv/uart/src/UART_drv.c:112: undefined reference to `UART_config'
C:\ti\pdk_am57xx_1_0_14\packages\ti\drv\uart\lib\a15\release\ti.drv.uart.aa15fg(UART_drv.oa15fg): In function `UART_open':
/oe/bld/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/am57xx_evm-linux-gnueabi/uart-lld-rtos/01.00.00.14-r0/build/ti/drv/uart/src/UART_drv.c:128: undefined reference to `UART_config'
/oe/bld/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/am57xx_evm-linux-gnueabi/uart-lld-rtos/01.00.00.14-r0/build/ti/drv/uart/src/UART_drv.c:128: undefined reference to `UART_config'
collect2.exe: error: ld returned 1 exit status
gmake[1]: *** [prj3.out] Error 1
gmake: *** [all] Error 2
makefile:142: recipe for target 'all' failed
If I add a UART_config structure to my ARM project, it is able to compile but doesn't work when I'm debugging the target. The execution of function Board_init() is terminated and ends in _exit() function in file:
C:\ti\bios_6_75_02_00\packages\gnu\targets\arm\rtsv7A\syscalls.c
My platform:
AM5729 on BeagleBorad-X15 (I chose evmAM5728 in software)
pdk_am57xx_1_0_14
processor_sdk_rtos_am57xx_5_03_00_07
bios_6_75_02_00
CCS Version: 7.2.0.00013
Windows 10 Pro
Here are the projects:
prj3 - the ARM project without UART_config structure (unable to compile)
prj4 - the DSP project without UART_config structure (able to compile, able to run)
prj5 - the ARM project with UART_config structure (able to compile, unable to pass through Board_init)
So did I find a bug or what I'm doing wrong? I want to have Board_init() in ARM project and don't understand why it requires UART_config.
