Difference between revisions of "Hawkboard/BeginnersGuide"

From eLinux.org
Jump to: navigation, search
(Download Kernel & Root FS)
(Installing and configuring NFS Server (Needed for loading RootFS to Board))
Line 188: Line 188:
  
  
==Installing and configuring NFS Server (Needed for loading RootFS  to Board)==
+
==Installing and configuring (Network File System)NFS Server (Needed for loading RootFS  to Board)==
In This method Root Filesystem remains on host PC and is remotely mounted on hawkboard,
+
RootFilesytem can be loaded to Hawkboard either using SD/MMC or NFS.
 +
 
 +
If you want to use SD Card or USB Pendrive for loading the RootFS ,you can skip this section
 +
and proceed to SD/USB Drive Booting section.
 +
 
 +
In NFS Boot method Root Filesystem remains on host PC & is shared using NFS Server
 +
This is then mounted as root-file system by Hawkboard kernel (uImage)
 
So files can be accessed from Hawkboard else-well as Host Machine,any changes is  
 
So files can be accessed from Hawkboard else-well as Host Machine,any changes is  
 
reflected on both.This method do not require you to Copy RootFS on SD Card/USB Drive.
 
reflected on both.This method do not require you to Copy RootFS on SD Card/USB Drive.
Line 200: Line 206:
  
 
   
 
   
Using NFS as option to load RootFS on hawkboard  
+
Using NFS as option to load RootFS on hawkboard
 
 
If you want to use SD Card or USB Pendrive for loading the RootFS ,you can skip this section
 
and
 
 
 
 
 
 
 
 
 
  
 
==Getting Started==
 
==Getting Started==

Revision as of 03:44, 25 April 2010

Hawkboard hw.jpg

Introduction

Hawkboard is a open-hardware project which uses Texas Instrument's (TI) OMAP Processor(OMAPL-L138) (Which contains both DSP and ARM Processor)

  • ARM-This Normally runs Operating System Such as Linux or Android etc.ARM in OMAPL-138 ,is ARMV5/ARM926
  • DSP-This is normally used to perform Audio/Video encoding and Decoding as it is specifically designed to perform these operations faster.DSP in OMAPL-138 ,is C674x Floating Point DSP.

Mix of ARM & DSP (OMAP) gives high performance and low power computing platform,Which are normally used in embedded Devices Like Mobile etc.

A Similar kind and very popular Open-hardware platform is beagleboard that uses Faster OMAP from TI.

Command prompts in this guide

In this guide, commands are preceded by prompts that indicate the environment where the command is to be typed. For example:

  • host$
Indicates command to be typed into the shell window of the host Linux workstation.
  • Hawkboard.org>
Indicates commands to be typed into the U-Boot shell in a console window connected to the Hawkboard's serial port.
  • target$
Indicates commands to be typed into the Linux shell in the terminal window connected to the Hawkboard's serial port or TTY..

Getting Started

Things you will need

1. Hawkboard

2. 5V 1Ampere Power Supply (Higher than 1A recommended)

3. USB Hub (Hub that provides external power supply is recommended) Since in future you might want to connect multiple peripherals like Keyboard,mouse ,USB Storage devices.A USB Hub is highly recommended.

4. Cross Cable DB-9 Female at both ends See wiring diagram below how to make one.

5. SD Card or USB Pendrive (1GB Minimal)

6. Ethernet Cable

7. Ethernet HUB or Switch If you PC/laptop/Router has only one LAN Port which is already in use ,Then might consider purchasing it.

8.System Running Linux either on Real Machine or Vmware/VirtualBOX

<templatestyles src="Note/styles.css" />

This guide assume ,that Linux is Ubuntu Jaunty (9.10)


Preparing Hawkboard

Before all first thing is to check that the board is properly working or not.

a) Connect a 5V and 1A Power supply (Inner Pin +Ve and Outer GND)

<templatestyles src="Note/styles.css" />

mini-USB(USB OTG) port provided on board can also be used to power the device ,but since USB port of PC/Laptop doesn't provide enough current,Hawkboard will not function properly

b) Connect VGA monitor cable to Hawkboard VGA Port

c) Power on the Device ,you will see Hawkboard Logo on the monitor as below ,this is due to Bootloader (U-boot) present in the Hawkboard. Hawk vga logo.jpg

d) Further Also check whether you are receiving the Data from Hawkboard UART/Serial port to PC/Laptop Serial port. Serial port will be used to tell bootloader(u-boot) where the Kernel image & File-system (Rootfile system) is present.

For this Connect UART/serial port of Hawkboard on to PC by NULL cable which has DB-9 Female at both ends & It must be crossed i.e and 2 & 3 .

Below is Wiring Diagram

NULL CABLE HB.jpg

e) Once cable has been connected open following software depending on your system.

  • Hyperterminal or Teraterm -if you are using windows.
  • Cutecom or minicom -if you are using Linux
  • Using Cutecom (Linux)
 apt-get install cutecom
 cutecom &
 ScreenShot below  
 /dev/ttyS0 -COM1 
 /dev/ttyUSB0 -USB RS232 
  • Using Hypertermincal (Windows)
Start->Run->hypertrm
or   Start-All program-Accessories-Communication-Hyper 
terminal select appropriate Comport


& Set following parameters to see uboot messages

Bits per Second: 115200
Data Bits: 8
Parity: None
Stop Bits: 1
Flow Control: None
Transmit delay: 0 msec/char, 10 msec/line (Optional)

As shown below screenshot of Hyperterminal settings

Hawk Serial Set.JPG


Now power on the Device you should see some text message on Serial Console (Hyperterminal or minicom etc)

Hawk uboot msg.JPG

Pressing enter will again give a new "Hawkboard.org>" .

This shows that serial port is working to send and receive messages to/from hawkboard


<templatestyles src="Note/styles.css" />

If you don't see above screen There are two LEDs situated near the

serial port (one for RS232 transmit & one for RS232 receive). One of them blinks while the board boots. Showing that is transmitting data to the serial ports.

If that Led is blinking then either your cross cable should have a problem or it should be loose connection.

Introduction to uImage ,uBoot & File-system

As a normal system needs kernel and various application to be useful ,Similar and embedded devices too need a Kernel that manages/allocates resources & Schedule task & Set of Applications to perform user task.

The components here are:

  • uImage :- uImage is a Linux Kernel (2.6.x) that Bootloader(Uboot) Loads which then finally mounts the Filesytem present

can be either on SD Card / USB Drive or on Another Network PC through NFS Protocol.

  • RootFS :-Kernel itself is manager of resource and dose nothing ,you need a filesystem for Kernel to manage and you to work upon.

Filesystem is also known as Root Filesystem ,It basically contains all the application (ls,cat,vi etc ),directory structure /dev, /proc, /bin, /etc, /lib, /usr, /tmp & necessary scripts (rc, inittab, fstab etc) etc.

  • U-boot  :- There is third component Known as Bootloader that actually initially Loads Kernel in RAM

preloaded Bootloader in Hawkboard is U-boot.Similar to Like GRUB for Linux and NTLDR for Windows

Download Kernel & Root FS

Download the Sample uImage & Root Filesystem(RootFS) from The Link

Kernel will loaded through TFTP Server.Though u-boot can load this image from USB/SD Card but the Preloaded (Uboot) that comes with Hawkboard cant access USB/SD Card hence cant access & load uImage.Once the uImage is loaded it can then Access SD/MMC to load Root Filesystem as kernel as Driver to access them.


Filesystem will loaded through NFS or SD/USB Drive once uImage is loaded.

The Sample RootFS contains Ubuntu Jaunty Non-Graphical distribution ,which contains gcc,ssh vi editor and lot more . With gcc you can do native development on Hawkboard itself & No cross compiler needed.

For installing new packages you can also use "apt-get install <package_name>"

Installing and setting TFTPD on PC((Needed for uImage Transfer to Board)

Since TFTP Server is required on Host System to Transfer uImage to Hawkboard ,Install TFTP Server by following steps below:

1. Install tftpd and related packages.

host$ sudo apt-get install xinetd tftpd

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
 }

3. Make /tftpboot directory

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

4. Start tftpd through xinetd

host$ sudo /etc/init.d/xinetd restart

5.Place uImage_v1 in /tftpboot dir


Installing and configuring (Network File System)NFS Server (Needed for loading RootFS to Board)

RootFilesytem can be loaded to Hawkboard either using SD/MMC or NFS.

If you want to use SD Card or USB Pendrive for loading the RootFS ,you can skip this section and proceed to SD/USB Drive Booting section.

In NFS Boot method Root Filesystem remains on host PC & is shared using NFS Server This is then mounted as root-file system by Hawkboard kernel (uImage) So files can be accessed from Hawkboard else-well as Host Machine,any changes is reflected on both.This method do not require you to Copy RootFS on SD Card/USB Drive. Development is faster since u can directly copy files from Host machine to NFS Folder and it will reflected back on Hawkboard.

In case you dont want to boot over Network and want to USB/SD Card to store



Using NFS as option to load RootFS on hawkboard

Getting Started

1.Powering the Device: Hawkboard can be powered through USB OTG port(mini USB) or Separate 5V Source. Since the USB port of a PC/laptop or hub are often limited to 500 mA, it is advisable to use a separate power supply of 5VDC that supplies at least 1.5 A of current.

Note: It is recommended to use a separate 5VDC Power supply with at least a 1.5 Amps current rating instead of USB Power for Normal Operation of the Board

2.Connecting VGA Monitor: Once the power supply has been attached, Hawkboard boots to Uboot Bootloader and will show Hawkboard Logo on Screen.

3.Connecting UART: To transfer images to Hawkboard and to set other parameters, the UART/serial cable needs to be attached to Hawkboard and PC. A NULL Modem(Crossed Cable i.e 2 and 3 Crossed) is needed for that. Run a terminal session (such as Minicom on Linux or TeraTerm on Windows) on the Host PC and configure it to connect to that serial port with the following characteristics:

Bits per Second: 115200
Data Bits: 8
Parity: None
Stop Bits: 1
Flow Control: None
Transmit delay: 0 msec/char, 10 msec/line

Hawk Serial Set.JPG

After powering the device you should be able to see the following:

Hawk uboot msg.JPG Hawk vga logo.jpg


  • On Hyperterminal (Any other Serial Console) (Left) On VGA Monitor you will see HawkBoard Logo (Right)