For Craneboard configure to enable TFTP

TFTP(Trivial File Transfer Protocol):

TFTP is protocol which allows Client to get or put files onto or put file onto remote host(network).

If u-boot is not configure in such a way that it can transfer file (like uImage) from Client PC to craneboard, need to configure   u-boot.

To do that need to follow below steps:

1. First we need to install toolchain from below link:

To install toolchain, follow the instruction sequence mentioned below on Linux host platform.

  • $ mkdir –p /home/toolchain
  • $ cp arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2  /home/toolchain
  • $ cd /home/toolchain
  • $ tar -jxvf arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
  • $ rm arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
  • $ export $PATH=/home/toolchain/arm-2009q1/bin/:$PATH

2. Clone the sources to your local Linux build machine. Make sure that the Linux build machine is on the Network.Use      the following command to clone the sources:

LIBS += ../itbok/libitbok.a

3.  Still need to configure board support file for craneboard.

Go to craneboard-uboot -> include -> configs ->am3517_crane.h file.

Enable following macros:

#define CONFIG_CMD_NET

#define CONFIG_CMD_NFS

#define CONFIG_DRIVER_TI_EMAC_USE_RMII

#define CONFIG_DRIVER_TI_EMAC

#define CONFIG_MII

#define CONFIG_BOOTP_DEFAULT

#define CONFIG_BOOTP_DNS

#define CONFIG_BOOTP_DNS2

#define CONFIG_BOOTP_SEND_HOSTNAME

#define CONFIG_NET_RETRY_COUNT 10

  4.   Compiling for board which contains ARM processor.So take ARCH environment variable as arm.and CROSS_COMPILE environment variable takes tool-chain path from $PATH  location given above.

Compile boot-loader as shown below:

  • make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm distclean //To clean code
  • make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm am3517_crane_config  //Make configure file for Craneboard
  • make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm // Finally use make command to compile

Here uboot.bin file is generated.Put that file into Craneboard SD card’s /boot folder.

5.  Give tftp command and check whether tftp working or not.If not working then follow below steps:

Installing and Testing TFTP Server in Ubuntu:

  1. Install package using command : sudo apt-get install xinetd tftpd tftp
  2. Create /etc/xinetd.d/tftp and put this entry:

service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}

Create a folder with same name as given in the server_args argument.

$ sudo mkdir /tftpboot
$ sudo chmod -R 777 /tftpboot
$ sudo chown -R nobody /tftpboot

Restart xintetd service.

$ sudo /etc/init.d/xinetd stop
$ sudo /etc/init.d/xinetd start

Now tftp server starts.

  6.  Set Environment variable like, server ip and Craneboard ip addresses.

For example ,

setenv serverip 123.12.0.2

setenv ipaddr 123.12.0.3

Other Environment variables should also set to proper value.Below given sample environment variable setting.

AM3517_CRANE # printenv
baudrate=115200

bootargs=console=ttyO2,115200n8 omapfb.vram=0:4M,1:4M omapfb.mode=dvi:1280x800MR-32@60 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait fixrtc nohlt

bootcmd=mmc dev ${mmcdev}; if mmc rescan; then echo mmc detected; if run loadbootscript; then echo Load bootscript; run bootscript; saveenv; fi; echo SD/MMC found on device ${mmcdev}; if run loaduimage; then run mmcboot; else run nandboot; fi; else run nandboot; fi

bootdelay=5

bootfile=uImage

bootscript=echo Running bootscript from mmc …; source ${loadaddr}

console=ttyO2,115200n8
dieid#=4294000100000000015da3960401c020

ethact=DaVinci-EMAC

ethaddr=00:E0:4C:53:44:58

filesize=394

ipaddr=123.12.0.3

loadaddr=0x82000000

loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr

loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage

mmcargs=setenv bootargs console=ttyO2 omapfb.vram=0:4M,1:4M omapfb.mode=dvi:1280x800MR-32@60

root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait fixrtc nohlt

mmcboot=echo Booting from mmc …; run mmcargs; bootm ${loadaddr}

mmcdev=0

nandargs=setenv bootargs console=${console} root=/dev/mtdblock4 rw rootfstype=jffs2

nandboot=echo Booting from nand …; run nandargs; nand read ${loadaddr} 280000 400000; bootm ${loadaddr}

serverip=123.12.0.2

stderr=serial

stdin=serial

stdout=serial

Environment size: 1249/131068 bytes

7. Give tftp command.It’ll transfer data(uImage) from your /tftpboot/ folder and put file into craneboard sd card.

2wqfsia

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s