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.

AM3358: How to build Uboot/SDK for AM335x

Part Number: AM3358

Tool/software:

I've inherited a SOC project loosely based on Beaglebone black, it's a custom board with minor changes to the underlying hardware of a beaglebone black.  The previous engineer didn't document the build process and so I'm left with images that A. I don't know how or where they were built.  B. They can't be update, i.e. Debian can't be upgraded etc.  As best as i can gather the boot/kernel on the board in question were built using an SDK from TI that included QT support (the application uses HDMI), though it's outdated and again i don't know how to re-build or maintain the images.  In short I need to go through the process of being able to build the boot portion (MLO/Uboot etc) as well as the Linux Kernel and Modules.  I'm looking for the most current boot, SDK, and kernel modules for the AM335x and any help or documentation for the build process would also be greatly appreciated, I have a Ubuntu (x64) machine for building and i have built a beaglebone image from scratch before but those don't run on our custom HW, why, I can't say but I'm guessing maybe I have to build the kernel from the TI SDK and not from beaglebone repository? 

  • I've been following the SDK Users Guide and I get the following message when running make install

    make: *** No rule to make target '__PRU_ICSS_INSTALL_TARGET__', needed by 'pru-icss_install'.  Stop.

  • It looks like "__PRU_ICSS_INSTALL_TARGET__" needs to be defined in "/makerules/Makefile_pru-icss" for the specific platform.
    Do we plan to use PRU in your system design?
    https://software-dl.ti.com/processor-sdk-linux/esd/AM335X/09_01_00_001/exports/docs/linux/Foundational_Components_PRU_Subsystem.html
    You may build individual component like,
    - u-boot
    make u-boot
    - kernel
    make linux

    Best,
    -Hong

  • Hi Hong, I'm not versed on this platform and all I have to go on is what was left for me, which is just images, specifically images that were built and whose build process was never documented.  I'm following the guide that you referenced, I completed the individual builds you mention, u-boot, linux, all of those completed successfully the error occurs when I ran make install.  Maybe in the linux build I need to run some kind of menu configuration or something to include more options.. As to whether or not pru is require I can't say for sure but the existing uEnv.txt file inlcudes PRU-UIO-00A0.dtbo overlay.

  • Using the instructions for Create SD Card, specifically the creating image using a script, I flashed an SD card with the tisdk-default-image-am335x-evm module, I then tried to run that image on our board, I believe that the boot is empty as it outputs CCCC to a terminal on boot, when attempting to run the image I get the following output:

    U-Boot SPL 2023.04-gd74d0993e2 (Oct 18 2023 - 17:49:46 +0000)
    Trying to boot from MMC1


    U-Boot 2023.04-gd74d0993e2 (Oct 18 2023 - 17:49:46 +0000)

    CPU  : AM335X-GP rev 2.1
    Model: TI AM335x BeagleBone Black
    DRAM:  512 MiB
    Core:  160 devices, 18 uclasses, devicetree: separate
    WDT:   Started wdt@44e35000 with servicing every 1000ms (60s timeout)
    NAND:  0 MiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Loading Environment from FAT... ** Bad device specification mmc 0 **
    <ethaddr> not set. Validating first E-fuse MAC
    Net:   eth2: ethernet@4a100000, eth3: usb_ether
    Hit any key to stop autoboot:  0
    ** Bad device specification mmc 0 **
    switch to partitions #0, OK
    mmc1(part 0) is current device
    ** No partition table - mmc 1 **
    Couldn't find partition mmc 1:1
    ## Error: "bootcmd_nand0" not defined
    starting USB...
    Bus usb@47401800: Port not available.
    USB is stopped. Please issue 'usb start' first.
    starting USB...
    Bus usb@47401800: Port not available.
    link up on port 0, speed 100, full duplex
    BOOTP broadcast 1
    *** Unhandled DHCP Option in OFFER/ACK: 7
    *** Unhandled DHCP Option in OFFER/ACK: 44
    *** Unhandled DHCP Option in OFFER/ACK: 150
    *** Unhandled DHCP Option in OFFER/ACK: 7
    *** Unhandled DHCP Option in OFFER/ACK: 44
    *** Unhandled DHCP Option in OFFER/ACK: 150
    DHCP client bound to address 10.181.0.12 (130 ms)
    *** ERROR: `serverip' not set
    Cannot autoload with TFTPGET
    missing environment variable: pxeuuid
    Retrieving file: pxelinux.cfg/01-fc-69-47-93-54-78
    link up on port 0, speed 100, full duplex
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/0AB5000C
    link up on port 0, speed 100, full duplex
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/0AB5000
    link up on port 0, speed 100, full duplex
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/0AB500
    link up on port 0, speed 100, full duplex
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/0AB50
    link up on port 0, speed 100, full duplex
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/0AB5
    link up on port 0, speed 100, full duplex
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/0AB
    link up on port 0, speed 100, full duplex
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/0A
    link up on port 0, speed 100, full duplex
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/0
    link up on port 0, speed 100, full duplex
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/default-arm-am33xx-am335x
    link up on port 0, speed 100, full duplex
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/default-arm-am33xx
    link up on port 0, speed 100, full duplex
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/default-arm
    link up on port 0, speed 100, full duplex
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/default
    link up on port 0, speed 100, full duplex
    *** ERROR: `serverip' not set
    Config file not found
    starting USB...
    Bus usb@47401800: Port not available.
    link up on port 0, speed 100, full duplex
    BOOTP broadcast 1
    *** Unhandled DHCP Option in OFFER/ACK: 7
    *** Unhandled DHCP Option in OFFER/ACK: 44
    *** Unhandled DHCP Option in OFFER/ACK: 150
    *** Unhandled DHCP Option in OFFER/ACK: 7
    *** Unhandled DHCP Option in OFFER/ACK: 44
    *** Unhandled DHCP Option in OFFER/ACK: 150
    DHCP client bound to address 10.181.0.12 (134 ms)
    *** ERROR: `serverip' not set
    Cannot autoload with TFTPGET
    link up on port 0, speed 100, full duplex
    BOOTP broadcast 1
    *** Unhandled DHCP Option in OFFER/ACK: 7
    *** Unhandled DHCP Option in OFFER/ACK: 44
    *** Unhandled DHCP Option in OFFER/ACK: 150
    *** Unhandled DHCP Option in OFFER/ACK: 7
    *** Unhandled DHCP Option in OFFER/ACK: 44
    *** Unhandled DHCP Option in OFFER/ACK: 150
    DHCP client bound to address 10.181.0.12 (236 ms)
    *** ERROR: `serverip' not set
    Cannot autoload with TFTPGET

  • 1/. Is the above log from your customer board?
    2/. What is the boot media? It looks like the log indicates booting from SD card?
    Please note some level of customer board porting work would be necessary to boot Linux SDK on customer board.
    Best,
    -Hong

  • Hi Hong,

    1.  Yes.

    2.  Yes it was an SD card.  

    That makes sense, I'm pretty sure the previous engineer crossed this bridge with you guys (TI) before but didn't document how he to get images, Linux SDK or otherwise onto the product - as best as I can tell there is a mixture, depending on the product, some have TI-Kernel and Debian others have TI-Kernel with Linux SDK loaded onto them, I can certainly go through the process of rebuilding SDK etc but without knowing the additional steps required to port to our custom board(s) I think I'll be left with the same result.  As it stands now I'm sitting on a sizable inventory of products that utilize the AM355x that I can't program for the first time or update programing on because there's some steps I'm missing.  I wish I was a bit more versed on this platform and could provide more details, but I'm eager to figure more of it out and I have a good deal of engineering experience so I think I'll be able to with your help.  Can you provide more information about the customer board porting work that I would need to perform?

    Thanks,

    Brian

  • Thank you, I'll start working through that guide.

  • I'll move the ticket to resolved as I think the original questions on on how to build u-boot/SDK are resolved now.
    Please feel free to submit a new ticket or reopen this one on any follow-up questions.
    Best,
    -Hong