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.

AM6548: Not able to compile uboot in SDK8.2

Part Number: AM6548


Hi TI,

I am compiling only uboot from SDK 8.2, I am using the same toolchain (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12). after I run the below command

make ARCH=arm CROSS_COMPILE=aarch64-none-linux-gnu- ATF=../../../../prebuilt/bl31.bin TEE=../../../../prebuilt/bl32.bin O=a53

it is giving me the below error 

CC test/print_ut.o
CC test/str_ut.o
CC test/ut.o
LD test/built-in.o
LDS u-boot.lds
LD u-boot
aarch64-none-linux-gnu-ld.bfd: test/built-in.o: in function `cmd_ut_category':
/home/sarfaraz/test/zeus-pxred/product-ref1/bsp/zeus/vendor_source/build/uboot/u-boot-2021.01/a53/../test/cmd_ut.c:47: undefined reference to `mallinfo'
/home/sarfaraz/test/zeus-pxred/product-ref1/bsp/zeus/vendor_source/build/uboot/u-boot-2021.01/a53/../test/cmd_ut.c:47:(.text.cmd_ut_category+0x130): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `mallinfo'
aarch64-none-linux-gnu-ld.bfd: u-boot: hidden symbol `mallinfo' isn't defined
aarch64-none-linux-gnu-ld.bfd: final link failed: bad value
make[7]: *** [u-boot] Error 1

same command used to work with SDK 7.1 for me without any error.

Can TI help me here for resolving this issue on priority

Thanks,

Sarfaraz

  • Hi Sarfaraz,

    You need not do all of that. Since you have the SDK. Just do the below commands:

    cd $PSDK
    make u-boot

    Best Regards,
    Keerthy

  • Thanks keerthy,

    My aim is to migrate the SDK to our custom board. I was using sdk 7.1 properly with the changes made in dts files for uboot. but when I migrated the same changes to sdk 8.2 I dont see any log on serial console . 

    in sdk 7.1 there was file k3-am654-base-board-u-boot.dtsi where I used to change the serial console details but with sdk 8.2 there is no such file. for temporary I added the patch below into k3-am654-r5-base-board-u-boot.dtsi but this seems to be not working for me. let me know if I am missing anything here. as SDK 7.1 was working properly for me facing issue with SDK 8.2

    patch :

    diff --git a/arch/arm/dts/k3-am654-base-board-u-boot.dtsi b/arch/arm/dts/k3-am654-base-board-u-boot.dtsi
    index cc8668fc32..113efc2104 100644
    --- a/arch/arm/dts/k3-am654-base-board-u-boot.dtsi
    +++ b/arch/arm/dts/k3-am654-base-board-u-boot.dtsi
    @@ -15,7 +15,7 @@
    u-boot,dm-spl;
    };
    aliases {
    - serial2 = &main_uart0;
    + serial2 = &main_uart1;
    ethernet0 = &cpsw_port1;
    };
    };
    @@ -88,6 +88,14 @@
    u-boot,dm-spl;
    };

    + main_uart1_pins_default: main_uart1_pins_default {
    + pinctrl-single,pins = <
    + AM65X_IOPAD(0x0174, PIN_INPUT, 6) /* (AE23) UART1_RXD */
    + AM65X_IOPAD(0x014C, PIN_OUTPUT, 6) /* (AD23) UART1_TXD */
    + >;
    + u-boot,dm-spl;
    + };
    +
    usb0_pins_default: usb0_pins_default {
    pinctrl-single,pins = <
    AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0) /* (AD9) USB0_DRVVBUS */
    @@ -145,6 +153,13 @@
    u-boot,dm-spl;
    };

    +&main_uart1 {
    + u-boot,dm-spl;
    + pinctrl-names = "default";
    + pinctrl-0 = <&main_uart1_pins_default>;
    + status = "okay";
    +};
    +
    &sdhci0 {
    u-boot,dm-spl;
    };

    this patch was developed on sdk 7.1 and was working properly.

  • Hi Sarfaraz,

    Can you confirm that the prints are coming on the MAIN_UART0?
    Or you don't have that enabled on your board?

    - Keerthy

  • Hi Keerthy I was missing some changes in dts for ddr time . I made those changes and now it is working. 

    1 issue I am facing while booting linux is with the pruss uart 

    getting the below logs from pruss

    [ 21.471650] pruss8250 b028000.serial: missing irq
    [ 21.476413] pruss8250: probe of b028000.serial failed with error -75
    [ 21.482971] pruss8250 b128000.serial: missing irq
    [ 21.487701] pruss8250: probe of b128000.serial failed with error -75
    [ 21.494178] pruss8250 b228000.serial: missing irq
    [ 21.498893] pruss8250: probe of b228000.serial failed with error -75

    any inputs on this which can help me resolve this error.

    Thanks,

    Sarfaraz

  • just to elaborate above query in SDK 7.1 there was separate section in documentation for PRU UART. (3.5.3.4. PRU-ICSS Serial UART)

    But in SDK 8.2 there is no such section for PRU UART. Also in SDK 7.1 there were PRU UART 1 and PRU UART2 added in dts files now these entries are not present in SDK 8.2 can you suggest where can I add the entry with example f any for sdk 8.2 also any specific reason this was removed in sdk 8.2 ?

  • Hi Sarfaraz,

    I believe you are talking about: https://software-dl.ti.com/processor-sdk-linux/esd/AM65X/07_01_00_17/exports/docs/linux/Foundational_Components/PRU-ICSS/Linux_Drivers/pru-sw-uart.html

    From 8.0 SDK: https://software-dl.ti.com/processor-sdk-linux/esd/AM65X/08_00_00_04/exports/docs/devices/AM65X/linux/Release_Specific_Release_Notes.html

    All the non-Ethernet functionality of PRU has been deprecated & hence you see the errors. NO plans to support non-ethernet support for PRU in future as well.

    If no further questions, I am closing this thread.

    - Keerthy

  • Hi Keerthy Thanks for the inputs no support for non ethernet PRU means what ? will we not be able to use UART and Ethernet at the same time from PRU ? Because this was supported in older SDK 7.1.

    We had 2 PRU for ethernets and 1 PRU for uart but now as per your comments I guess we will not be able to use UART on PRU moving ahead. correct if I am wrong.

    Thanks again.

  • will we not be able to use UART and Ethernet at the same time from PRU ? Because this was supported in older SDK 7.1.

    Yes. That is NO longer supported after 8.0 SDK.

    PRU UART is not supported.

    - Keerthy