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: Generating a Linux

Part Number: AM3358
Other Parts Discussed in Thread: AM4379

I downloaded ti-processor-sdk-linux-am335x-evm-08.02.00.24-Linux-x86-Install.bin and installed it on a Ubuntu 18.04 system (running in a VirtualBox VM).  I attempted to generate for a Beaglebone Black.  I followed the online instructions but when I get to the step that would recognize the Beaglebone, the Beaglebone is not recognized.  I examined the install script and the USB signature it is looking for is not present.  I looked at the USB signature on the host machine and it does appear there either.

I would appreciate any advice you can provide.

 

PS. I ultimately want to develop  a Linux for the AM5379 which I am implementing in a new design.  The Linux for the AM3358 was intended as a first step to generate for a known working target machine.  If an existing Linux implementation exists for either of these processors that I could learn from, I would appreciate that information.

  • Hello William,

    1) Please provide more details about
    a) which online instructions you are following,
    b) what step you are on when you run into issues,
    c) what you are trying to do (e.g., "Beaglebone is not recognized" does not tell us anything. E.g., if you are booting into Linux and running into an error during the boot process, attach the terminal output you are seeing).

    2) AM5379 is not a valid part number as far as I am aware. Can you please confirm the part number?

    Regards,

    Nick

  • Thanks for getting back to me.

    1.a) The instructions I found started at 'https://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/AM335X/linux/Overview_Getting_Started_Guide.html'.

    1.b) Towards the end of section 1.1.4. The message I get is:

            echo "No BeagleBone (Black) or StarterKit detected. Assuming"
            echo "general purpose evm is being used. Is this correct?"

    which is in the script 'setup-uboot-env.sh'.

    I followed the setup instructions and connected the Beaglebone Black with a serial port, USB, and network.  I've checked the connections and they appear to be working.

    The script looks for a USB device with 'sudo lsusb -vv -d 0403:6001 > /dev/null'.  This command returns no result.

    1.c) I am trying to get through running setup.sh.  I haven't gotten as far as a Linux to boot.

    2) Sorry. AM4379

    Please let me know if I've missed anything.

  • Hello William,

    First, please start by double-checking the steps in the latest SDK release docs. At some point in the past, I think the URL you pointed to stopped actually getting updated (I'm not sure, when I try to follow your link it gives me a "site maintenance" error page): https://software-dl.ti.com/processor-sdk-linux/esd/AM335X/08_02_00_24/exports/docs/linux/Overview_Getting_Started_Guide.html

    If the issue persists, please respond with any additional information that might be helpful. In the meantime, I will reassign your thread to a team member more familiar with U-Boot.

    Regards,

    Nick

  • I agree that the instructions and installation files seem to be a bit out of date since Ubuntu 18.04 is very old and the Beaglebone Black doesn't seem to work the same way.  I got (and still get) the same "Site maintenance" page when I went back to find the page but fortunately I had printed out the pages before starting the process.  The instructions on that page don't seem to matter too much since the setup script prompts you through the process.  I will reset/reinstall everything and run the install again. I will also save the console output and any debugging steps I take in case they will help in the analysis.

  • I tried again with a clean system and got the same result.  The only debugging I tried was  to list the USB devices available.  I connected the Beaglebone Black by serial, USB, and network.  I verified that the serial and USB connections to the Beaglebone both connected as expected.  I saved the console output for the ./setup.sh run which I can send if needed but I think the last few lines are the most significant.  They are:

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


    Which kernel image do you want to boot from TFTP?
    [ zImage-am335x-evm.bin ] am335x-boneblack-am335x-evm.dtb
    --------------------------------------------------------------------------------
    Would you like to create a minicom script with the above parameters (y/n)?
    [ y ] y

    Successfully wrote /home/pagews/Desktop/yocto-am335x-install/bin/setupBoard.minicom
    [sudo] password for pagews:

    No BeagleBone (Black) or StarterKit detected. Assuming
    general purpose evm is being used. Is this correct?
    (y/n) n

    Please connect the Beaglebone (Black) or StarterKit to the PC
    If your using the StarterKit board make sure it is turned on
    Press any key to try checking again.

    No BeagleBone (Black) or StarterKit detected. Assuming
    general purpose evm is being used. Is this correct?
    (y/n) ^C
    pagews@TI-SDK-Dev:~/Desktop/yocto-am335x-install$ lsusb
    Bus 001 Device 003: ID 1d6b:0104 Linux Foundation Multifunction Composite Gadget
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 003: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
    Bus 002 Device 002: ID 80ee:0021 VirtualBox USB Tablet
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    pagews@TI-SDK-Dev:~/Desktop/yocto-am335x-install$
    pagews@TI-SDK-Dev:~/Desktop/yocto-am335x-install$

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

    Any ideas?

  • Has there been any movement on this?

  • Hi William,

    First of all, VirtualBox doesn't support USB pass-through very well, so generally it is not recommended to communicate between a Linux host inside VirtualBox and an EVM via USB connection.

    Second, depending on the software state on BBB, its USB gadget interface may or may not present for USB host to detect.

    Cutting to the cheese, once you installed the SDK on a Linux PC, created bootable SD card from the SDK, and using the SD card booted BBB, you already have the setup to start any Linux software development for AM335x.

    Depending what your sw development flow and project are, you may or may not need to directly connect the BBB USB to the host. If you can provide details about what is your next goal, I might have further comments.

  • Hello Bin,

    Good day. Please see the update from our customer William below:

    The problem was blamed on my use of the Virtualbox VM so I set up another machine to run directly on the base hardware. This really didn't work any better so I ended up debugging the issue myself. I have corrected scripts if you are interested but they may be too specific to my systems. I will give you my observations for what they are worth:
    1) The virtualization had nothing to do with the problem. The issues were due to "lock-ins" in the scripts provided in the SDK.
    2) Locking the install to a specific operating system is counterproductive. I believe that you should lock to specific versions of the software you require. For example, specify compiler version x.xx or higher. That way your scripts won't be locked to a specific operating system release. After editing your scripts the code successfully runs on the latest Ubuntu or my preferred OS, Linux Mint 21.

    3) The most confusing issue was the part of the script that tries to detect the Beaglebone Black. You are checking for a USB signature code that didn't exist and has nothing to do with the Beaglebone. You are looking for the signature of a ttl to USB adapter that is manufactured by FTDI. (Yes, I later found that in the instructions.) However, there are a number of vendors of similar devices that have different signatures. Once I modified the script to accept the adapter I was using, the setup.sh script completed successfully.

    In closing, thank you for following up on my issue. The final observation I will is to recommend that the scripts in the SDKs are written in a more flexible manner or updated more frequently.

    Regards,

    Renan

  • Hi Renan,

    Thanks for the feedback. I agree 3) is kind of over engineered. The intention is to provide better OOB experience, but the script makes the connection more complicated.

    While 2) locking in to Ubuntu 18.04 is intended. You could easily bypass the Linux distro/version check and install the SDK, but later on when you try to compile U-Boot or kernel, you may face issues if some host packages are not installed. Since the SDK was only validated on Ubuntu 18.04, we won't be able to provide details about what packages would be needed on different distro/version. This may not be an issue for experienced Linux users, but if any user who is new to Linux and won't be able to use the SDK on any other distro, we won't be able to support, so it is locked in Ubuntu 18.04.