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.

J721EXCPXEVM: Command execution `minicom -S ./bin/setupBoard.minicom` breaks the Linux load on target dev board. Need description for u-boot configure options for setup.sh script.

Part Number: J721EXCPXEVM
Other Parts Discussed in Thread: TDA4VM

Hello,

1. When I need to use command `minicom -S ./bin/setupBoard.minicom` with setup.sh script?

2. Command execution `minicom -S ./bin/setupBoard.minicom` breaks the Linux load on target dev board. Env reset helps me to boot Linux.

3. In setup I have no 300 seconds timeout to connect Ethernet cable and power cycle it before the setup times out.

4. No information about U-boot configure steps (and description of ) after step `Minicom Setup` at link https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/latest/exports/docs/linux/Overview/Run_Setup_Scripts.html

Setup log:

nikita@VERBITSKY-N:~/ti-processor-sdk-linux-automotive-j7-evm-07_00_01$ ./setup.sh

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

TISDK setup script

This script will set up your development host for SDK development.

Parts of this script require administrator priviliges (sudo access).

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


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

Verifying Linux host distribution

Ubuntu 12.04 LTS, Ubuntu 14.04, or Ubuntu 14.04 LTS is being used, continuing..

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


Starting with Ubuntu 12.04 serial devices are only accessible by members of the 'dialout' group.

A user must be apart of this group to have the proper permissions to access a serial device.


User 'nikita' is already apart of the 'dialout' group


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

setup package script

This script will make sure you have the proper host support packages installed

This script requires administrator priviliges (sudo access) if packages are to be installed.

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

System has required packages!

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

Package verification and installation successfully completed

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

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

In which directory do you want to install the target filesystem?(if this directory does not exist it will be created)

[ /home/nikita/ti-processor-sdk-linux-automotive-j7-evm-07_00_01/targetNFS ]

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


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

This step will extract the target filesystem to /home/nikita/ti-processor-sdk-linux-automotive-j7-evm-07_00_01/targetNFS


Note! This command requires you to have administrator priviliges (sudo access)

on your host.

Press return to continue

/home/nikita/ti-processor-sdk-linux-automotive-j7-evm-07_00_01/targetNFS already exists

(r) rename existing filesystem (o) overwrite existing filesystem (s) skip filesystem extraction

[r] o

Old /home/nikita/ti-processor-sdk-linux-automotive-j7-evm-07_00_01/targetNFS removed


Successfully extracted tisdk-default-image-j7-evm.tar.xz to /home/nikita/ti-processor-sdk-linux-automotive-j7-evm-07_00_01/targetNFS

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


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

This step will set up the SDK to install binaries in to:

/home/nikita/ti-processor-sdk-linux-automotive-j7-evm-07_00_01/targetNFS/home/root/j7-evm


The files will be available from /home/root/j7-evm on the target.


This setting can be changed later by editing Rules.make and changing the

EXEC_DIR or DESTDIR variable (depending on your SDK).


Press return to continue

Rules.make edited successfully..

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


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

This step will export your target filesystem for NFS access.


Note! This command requires you to have administrator priviliges (sudo access)

on your host.

Press return to continue

/home/nikita/ti-processor-sdk-linux-automotive-j7-evm-07_00_01/targetNFS already NFS exported, skipping..


[ ok ] Stopping nfs-kernel-server (via systemctl): nfs-kernel-server.service.

[ ok ] Starting nfs-kernel-server (via systemctl): nfs-kernel-server.service.

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

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

Which directory do you want to be your tftp root directory?(if this directory does not exist it will be created for you)

[ /tftpboot ]

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


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

This step will set up the tftp server in the /tftpboot directory.


Note! This command requires you to have administrator priviliges (sudo access)

on your host.

Press return to continue


/tftpboot already exists, not creating..


/tftpboot/*Image-j7-evm.bin already exists. The existing installed file can be renamed and saved under the new name.

(r) rename (o) overwrite (s) skip copy

[r] o


Successfully overwritten *Image-j7-evm.bin in tftp root directory /tftpboot


/tftpboot/k3-j721e-common-proc-board.dtb already exists. The existing installed file can be renamed and saved under the new name.

(o) overwrite (s) skip copy

[o] o


Successfully overwritten k3-j721e-common-proc-board.dtb in tftp root directory /tftpboot


/tftpboot/k3-j721e-proc-board-tps65917.dtb already exists. The existing installed file can be renamed and saved under the new name.

(o) overwrite (s) skip copy

[o] o


Successfully overwritten k3-j721e-proc-board-tps65917.dtb in tftp root directory /tftpboot


/tftpboot/k3-j721e-common-proc-board-infotainment.dtbo already exists. The existing installed file can be renamed and saved under the new name.

(o) overwrite (s) skip copy

[o] o


Successfully overwritten k3-j721e-common-proc-board-infotainment.dtbo in tftp root directory /tftpboot


/tftpboot/k3-j721e-common-proc-board-jailhouse.dtbo already exists. The existing installed file can be renamed and saved under the new name.

(o) overwrite (s) skip copy

[o] o


Successfully overwritten k3-j721e-common-proc-board-jailhouse.dtbo in tftp root directory /tftpboot


/tftpboot/k3-j721e-pcie-backplane.dtbo already exists. The existing installed file can be renamed and saved under the new name.

(o) overwrite (s) skip copy

[o] o


Successfully overwritten k3-j721e-pcie-backplane.dtbo in tftp root directory /tftpboot


/tftpboot/k3-j721e-vision-apps.dtbo already exists. The existing installed file can be renamed and saved under the new name.

(o) overwrite (s) skip copy

[o] o


Successfully overwritten k3-j721e-vision-apps.dtbo in tftp root directory /tftpboot


/tftpboot/ti-sci-firmware-j721e-gp.bin already exists. The existing installed file can be renamed and saved under the new name.

(o) overwrite (s) skip copy

[o] o


Successfully overwritten ti-sci-firmware-j721e-gp.bin in tftp root directory /tftpboot


/etc/xinetd.d/tftp already exists..

/tftpboot already exported for TFTP, skipping..


Restarting tftp server

[ ok ] Stopping xinetd (via systemctl): xinetd.service.

[ ok ] Starting xinetd (via systemctl): xinetd.service.

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


--------------------------------------------------------------------------------"

This step will set up minicom (serial communication application) for

SDK development



For boards that contain a USB-to-Serial converter on the board such as:

* BeagleBone

* Beaglebone Black

* AM335x EVM-SK

* AM57xx EVM

* K2H, K2L, and K2E EVMs


the port used for minicom will be automatically detected. By default Ubuntu

will not recognize this device. Setup will add a udev rule to

/etc/udev/ so that from now on it will be recognized as soon as the board is

plugged in.


For other boards, the serial will defualt to /dev/ttyS0. Please update based

on your setup.


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



NOTE: If your using any of the above boards simply hit enter

and the correct port will be determined automatically at a

later step. For all other boards select the serial port

that the board is connected to.

Which serial port do you want to use with minicom?

[ /dev/ttyS0 ] /dev/ttyUSB0


Copied existing /home/nikita/.minirc.dfl to /home/nikita/.minirc.dfl.old


Configuration saved to /home/nikita/.minirc.dfl. You can change it further from inside

minicom, see the Software Development Guide for more information.

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


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

This step will set up the u-boot variables for booting the EVM.

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

Autodetected the following ip address of your host, correct it if necessary

[ 10.10.10.50

172.18.0.1

172.17.0.1 ]


Select Linux kernel location:

1: TFTP

2: SD card


[ 1 ]


Select root file system location:

1: NFS

2: SD card


[ 1 ]


Available kernel images in /tftproot:

Image-j7-evm.bin

k3-j721e-common-proc-board-infotainment.dtbo

k3-j721e-common-proc-board-jailhouse.dtbo

k3-j721e-common-proc-board.dtb

k3-j721e-pcie-backplane.dtbo

k3-j721e-proc-board-tps65917.dtb

k3-j721e-vision-apps.dtbo

ti-sci-firmware-j721e-gp.bin


Which kernel image do you want to boot from TFTP?

[ Image-j7-evm.bin ]

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

Would you like to create a minicom script with the above parameters (y/n)?

[ y ]


Successfully wrote /home/nikita/ti-processor-sdk-linux-automotive-j7-evm-07_00_01/bin/setupBoard.minicom


Detecting connection to board... /dev/ttyUSB0


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

Would you like to run the setup script now (y/n)?


Please connect the ethernet cable as described in the Quick Start Guide.

Once answering 'y' on the prompt below, you will have 300 seconds to connect

the board and power cycle it before the setup times out


After successfully executing this script, your EVM will be set up. You will be

able to connect to it by executing 'minicom -w' or if you prefer a windows host

you can set up Tera Term as explained in the Software Developer's Guide.

If you connect minicom or Tera Term and power cycle the board Linux will boot.


[ y ]

[sudo] password for nikita:

Device /dev/ttyUSB0 is locked.

/home/nikita/ti-processor-sdk-linux-automotive-j7-evm-07_00_01

You can manually run minicom in the future with this setup script using: minicom -S ./bin/setupBoard.minicom

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

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

TISDK setup completed!

Please continue reading the Software Developer's Guide for more information on

how to develop software on the EVM

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

Error boot log:

nikita@VERBITSKY-N:~$ minicom -S ./ti-processor-sdk-linux-automotive-j7-evm-07_00_01/bin/setupBoard.minicom


bin/setupBoard.minicom



Welcome to minicom 2.7.1


OPTIONS: I18n

Compiled on Aug 13 2017, 15:25:34.

Port /dev/ttyUSB0, 11:47:29


Press CTRL-A Z for help on special keys



U-Boot SPL 2020.01-gf9b0d030d3 (Jun 17 2020 - 15:08:08 +0000)

SYSFW ABI: 3.0 (firmware rev 0x0014 '20.04.1-v2020.04a (Terrific Lla')

Trying to boot from MMC2

Loading Environment from MMC... *** Warning - No MMC card found, using default environment


Remoteproc 2 started successfully

Starting ATF on ARM64 core...


NOTICE: BL31: v2.3():07.00.00.005-dirty

NOTICE: BL31: Built : 14:33:55, Jun 17 2020


U-Boot SPL 2020.01-gf9b0d030d3 (Jun 17 2020 - 14:34:25 +0000)

SYSFW ABI: 3.0 (firmware rev 0x0014 '20.04.1-v2020.04a (Terrific Lla')

Detected: J7X-BASE-CPB rev E3

Detected: J7X-VSC8514-ETH rev E2

Trying to boot from MMC2



U-Boot 2020.01-gf9b0d030d3 (Jun 17 2020 - 14:34:25 +0000)


SoC: J721E SR1.0

Model: Texas Instruments K3 J721E SoC

Board: J721EX-PM2-SOM rev E7

DRAM: 4 GiB

not found for dev hbmc-mux

Flash: 0 Bytes

MMC: sdhci@4f80000: 0, sdhci@4fb0000: 1

Loading Environment from MMC... OK

In: serial@2800000

Out: serial@2800000

Err: serial@2800000

Detected: J7X-BASE-CPB rev E3

Detected: J7X-VSC8514-ETH rev E2

Net:

Warning: ethernet@046000000 using MAC address from ROM

eth0: ethernet@046000000

Hit any key to stop autobo 0

=>env default -f -a

## Resetting to default environment

=>saveenv

Saving Environment to MMC... Writing to MMC(0)... OK

=>reset

resetting ...�

U-Boot SPL 2020.01-gf9b0d030d3 (Jun 17 2020 - 15:08:08 +0000)

SYSFW ABI: 3.0 (firmware rev 0x0014 '20.04.1-v2020.04a (Terrific Lla')

Trying to boot from MMC2

Loading Environment from MMC... *** Warning - No MMC card found, using default environment


Remoteproc 2 started successfully

Starting ATF on ARM64 core...


NOTICE: BL31: v2.3():07.00.00.005-dirty

NOTICE: BL31: Built : 14:33:55, Jun 17 2020


U-Boot SPL 2020.01-gf9b0d030d3 (Jun 17 2020 - 14:34:25 +0000)

SYSFW ABI: 3.0 (firmware rev 0x0014 '20.04.1-v2020.04a (Terrific Lla')

Detected: J7X-BASE-CPB rev E3

Detected: J7X-VSC8514-ETH rev E2

Trying to boot from MMC2



U-Boot 2020.01-gf9b0d030d3 (Jun 17 2020 - 14:34:25 +0000)


SoC: J721E SR1.0

Model: Texas Instruments K3 J721E SoC

Board: J721EX-PM2-SOM rev E7

DRAM: 4 GiB

not found for dev hbmc-mux

Flash: 0 Bytes

MMC: sdhci@4f80000: 0, sdhci@4fb0000: 1

Loading Environment from MMC... OK

In: serial@2800000

Out: serial@2800000

Err: serial@2800000

Detected: J7X-BASE-CPB rev E3

Detected: J7X-VSC8514-ETH rev E2

Net:

Warning: ethernet@046000000 using MAC address from ROM

eth0: ethernet@046000000

Hit any key to stop autobo 0

=>setenv serverip 10.10.10.50 172.18.0.1 172.17.0.1

## Error: flags type check failure for "serverip" <= "10.10.10.50 172.18.0.1 172.17.0.1" (type: i)

## Error inserting "serverip" variable, errno=1

=>setenv nfs_root /home/nikita/ti-processor-sdk-linux-automotive-j7-evm-07_00_01/targetNFS

=>setenv name_kern Image-j7-evm.bin

=>setenv bootcmd 'run findfdt; run envboot; run setup_${kern_boot}; run init_${rootfs_boot}; run get_kern_${kern_boot}; run get_fdt_${ke'

=>setenv init_net 'run args_all args_net; setenv autoload no; dhcp'

=>setenv args_net 'setenv bootargs console=${console} ${optargs} rootfstype=nfs root=/dev/nfs rw nfsroot=${serverip}:${nfs_root},${nfs_o'

=>setenv get_kern_net 'tftp ${loadaddr} ${name_kern}'

=>setenv get_fdt_net 'tftp ${fdtaddr} ${name_fdt}'

=>setenv get_overlay_net 'fdt address ${fdtaddr};fdt resize 0x100000;for overlay in ${overlay_files};do;tftp ${overlayaddr} ${overlay};f'

=>setenv nfs_options 'nolock,v3,tcp,rsize=4096,wsize=4096'

=>setenv setup_mmc ''

=>setenv setup_net 'setenv autoload no; dhcp'

=>setenv kern_boot net

=>setenv rootfs_boot net

=>saveenv

Saving Environment to MMC... Writing to redundant MMC(0)... OK

=>boot

switch to partitions #0, OK

mmc1 is current device

SD/MMC found on device 1

0 bytes read in 1 ms (0 Bytes/s)

Loaded env from uEnv.txt

Importing environment from mmc1 ...

link up on port 1, speed 1000, full duplex

BOOTP broadcast 1

BOOTP broadcast 2

DHCP client bound to address 10.10.10.49 (673 ms)

link up on port 1, speed 1000, full duplex

BOOTP broadcast 1

DHCP client bound to address 10.10.10.49 (274 ms)

link up on port 1, speed 1000, full duplex

*** ERROR: `serverip' not set

link up on port 1, speed 1000, full duplex

*** ERROR: `serverip' not set

libfdt fdt_check_header(): FDT_ERR_BADMAGIC

No FDT memory address configured. Please configure

the FDT address via "fdt addr <address>" command.

Aborting!

Bad Linux ARM64 Image magic!

=>

5. Is it possible to add desctiption of U-boot configure options in section `Run setup script` of PSDKLA Instruction?

Best regards,

Nikita.

  • Hi Nikita,

    It is not clear to me on what you are trying and what is the problem.

    Can you please attached the ./bin/setupBoard.minicom script that you are launching with?

    Please note that the ./setup.sh script is just to run the high level setup of the SDK (it is done once per installation) and it is independent of your minicom connection which you may do several times during the course of the day or development.

    Regards

    Karthik

  • Hi Karthik,

    1. The main problem is that running the `minicom-S ./bin/setupBoard.minicom ' command breaks the variables for normal Linux OS loading on TDA4VM (see “Error boot log”). And you have to reset the loader settings to the default settings. I don't understand what the setupBoard.minicom file is generated for.

    2. The second problem is that the instructions on the link https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/latest/exports/docs/linux/Overview/Run_Setup_Scripts.html do not contain information about the U-boot settings of setup.sh script. The instructions are written only before the minicom configuration step. Is there any information about the U-Boot settings for the script (setup.sh) with a description of what they affect?

    Can not to upload setupBoard.minicom.

    Content of file setupBoard.minicom:

    timeout 300
    verbose on
    expect {
        "stop autoboot:"
    }
    send " "
    
    expect {
        "=>"
    }
    send "env default -f -a"
    
    expect {
        "=>"
    }
    send "saveenv"
    
    expect {
        "=>"
    }
    send "reset"
    
    expect {
        "stop autoboot:"
    }
    send " "
    
    expect {
        "=>"
    }
    send "setenv serverip 10.10.10.50 172.18.0.1 172.17.0.1"
    
    expect {
        "=>"
    }
    send "setenv nfs_root /home/nikita/ti-processor-sdk-linux-automotive-j7-evm-07_00_01/targetNFS"
    
    expect {
        "=>"
    }
    send "setenv name_kern Image-j7-evm.bin"
    
    expect {
        "=>"
    }
    send "setenv bootcmd 'run findfdt; run envboot; run setup_${kern_boot}; run init_${rootfs_boot}; run get_kern_${kern_boot}; run get_fdt_${kern_boot}; run get_overlay_${kern_boot}; run run_kern'"
    
    expect {
        "=>"
    }
    send "setenv init_net 'run args_all args_net; setenv autoload no; dhcp'"
    
    expect {
        "=>"
    }
    send "setenv args_net 'setenv bootargs console=${console} ${optargs} rootfstype=nfs root=/dev/nfs rw nfsroot=${serverip}:${nfs_root},${nfs_options} ip=dhcp'"
    
    expect {
        "=>"
    }
    send "setenv get_kern_net 'tftp ${loadaddr} ${name_kern}'"
    
    expect {
        "=>"
    }
    send "setenv get_fdt_net 'tftp ${fdtaddr} ${name_fdt}'"
    
    expect {
        "=>"
    }
    send "setenv get_overlay_net 'fdt address ${fdtaddr};fdt resize 0x100000;for overlay in ${overlay_files};do;tftp ${overlayaddr} ${overlay};fdt apply ${overlayaddr}; done'"
    
    expect {
        "=>"
    }
    send "setenv nfs_options 'nolock,v3,tcp,rsize=4096,wsize=4096'"
    
    expect {
        "=>"
    }
    send "setenv setup_mmc ''"
    
    expect {
        "=>"
    }
    send "setenv setup_net 'setenv autoload no; dhcp'"
    
    expect {
        "=>"
    }
    send "setenv kern_boot net"
    
    expect {
        "=>"
    }
    send "setenv rootfs_boot net"
    
    expect {
        "=>"
    }
    send "saveenv"
    
    expect {
        "=>"
    }
    send "boot"

    Regards

    Nikita

  • Hi Nikita,

    Let me look through this and come back to you by Monday.

    Regards

    Karthik

  • Nikita,

    Sorry about coming back late on this thread.

    We did try to replicate what you are trying to do but we are not successful to get to the same point.

    If this issue is still relevant, we can discuss the details further and determine the next steps.

    Regards

    Karthik