Part Number: AM5728
Tool/software: Linux
Dear All,
My setup: Linux v4.9: tag v4.9-rc8
Toolchain: TI's SDK: ti-am572x-idk-sdk/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-
I'm trying to get early print messages on UART1 (0x4806a000).
Relevant .config defines:
CONFIG_DEBUG_LL=y
CONFIG_DEBUG_LL_INCLUDE="debug/omap2plus.S"
CONFIG_EARLY_PRINTK=y
CONFIG_DEBUG_OMAP2UART1=y
I've enabled debugging in the arch/arm/boot/compressed/head.S file (#define DEBUG).
Unfortunately I do have following errors:
CC arch/arm/boot/compressed/decompress.o
arch/arm/boot/compressed/head.S: Assembler messages:
arch/arm/boot/compressed/head.S:1286: Error: ARM register expected -- `sub ,r3,r1'
arch/arm/boot/compressed/head.S:1286: Error: ARM register expected -- `ldr r3,[,#0]'
arch/arm/boot/compressed/head.S:1286: Error: ARM register expected -- `ldr r1,[,#4]'
arch/arm/boot/compressed/head.S:1286: Error: ARM register expected -- `str r3,[,#0]'
arch/arm/boot/compressed/head.S:1286: Error: ARM register expected -- `str r3,[,#4]'
arch/arm/boot/compressed/head.S:1286: Error: ARM register expected -- `str r3,[,#8]'
arch/arm/boot/compressed/head.S:1286: Error: ARM register expected -- `str r3,[,#0]'
arch/arm/boot/compressed/head.S:1286: Error: ARM register expected -- `str r3,[,#4]'
arch/arm/boot/compressed/head.S:1286: Error: ARM register expected -- `str r3,[,#8]'
arch/arm/boot/compressed/head.S:1286: Error: ARM register expected -- `ldr ,[,#8]'
arch/arm/boot/compressed/head.S:1286: Error: shift expression expected -- `add r3,r3,'
arch/arm/boot/compressed/head.S:1286: Error: shift expression expected -- `add r1,r1,'
arch/arm/boot/compressed/head.S:1304: Error: ARM register expected -- `sub ,r3,r1'
arch/arm/boot/compressed/head.S:1304: Error: ARM register expected -- `ldr r3,[,#0]'
arch/arm/boot/compressed/head.S:1304: Error: ARM register expected -- `ldr r1,[,#4]'
arch/arm/boot/compressed/head.S:1304: Error: ARM register expected -- `str r3,[,#0]'
arch/arm/boot/compressed/head.S:1304: Error: ARM register expected -- `str r3,[,#4]'
arch/arm/boot/compressed/head.S:1304: Error: ARM register expected -- `str r3,[,#8]'
arch/arm/boot/compressed/head.S:1304: Error: ARM register expected -- `str r3,[,#0]'
arch/arm/boot/compressed/head.S:1304: Error: ARM register expected -- `str r3,[,#4]'
arch/arm/boot/compressed/head.S:1304: Error: ARM register expected -- `str r3,[,#8]'
arch/arm/boot/compressed/head.S:1304: Error: ARM register expected -- `ldr ,[,#8]'
arch/arm/boot/compressed/head.S:1304: Error: shift expression expected -- `add r3,r3,'
arch/arm/boot/compressed/head.S:1304: Error: shift expression expected -- `add r1,r1,'
scripts/Makefile.build:393: recipe for target 'arch/arm/boot/compressed/head.o' failed
Those are related to loadsp macro (also defined in head.S file), which is very short:
.macro loadsp, rb, tmp
.endm
Any ideas how to fix this issue? Any hints?
I initially thought that this is compiler configuration issue - but those errors are also present with TI's SDK compiler(its configuration is presented below):
Using built-in specs.
COLLECT_GCC=ti-am572x-idk-sdk/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc
COLLECT_LTO_WRAPPER=/ti-am572x-idk-sdk/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../libexec/gcc/arm-linux-gnueabihf/5.3.1/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: /home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/snapshots/gcc-linaro-5.3-2016.02/configure SHELL=/bin/bash --with-bugurl=https://bugs.linaro.org --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libstdcxx-pch --disable-libmudflap --with-cloog=no --with-ppl=no --with-isl=no --disable-nls --enable-c99 --with-tune=cortex-a9 --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-multilib --enable-multiarch --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/sysroots/arm-linux-gnueabihf --enable-lto --enable-linker-build-id --enable-long-long --enable-shared --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran,lto --enable-checking=release --disable-bootstrap --with-bugurl=https://bugs.linaro.org --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=arm-linux-gnueabihf --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu
Thread model: posix
gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02)
What is even more strange:
On TI's SDK linux (linux-4.4.19+gitAUTOINC+db0b54cdad-gdb0b54cdad (processor-sdk-local)) and above toolchain it works (but in the menuconfig there are not available options to redirect early print to UART1).
BR,
Lukasz