Wednesday, August 15, 2012

In Embedded system, First we need to flash loader & then we need to install boot loader (U-BOOT).UBOOT  will configure the kernel  (also pass kernel arguments).


1. what is loader ?
A loader is the part of an operating system that is responsible for loading programs. It is one of the essential stages in the process of starting a program, as it places programs into memory and prepares them for execution. Loading a program involves reading the contents of executable file, the file containing the program text, into memory, and then carrying out other required preparatory tasks to prepare the executable for running. Once loading is complete, the operating system starts the program by passing control to the loaded program code.

2.why we are doing NAND ERASE/NAND WRITE commands for writing loader/U-BOOT/kernel in embedded linux?

In Embedded linux/devices, bootloader is flashed into flash memory.To write kernel/bootloader into flash memory, we
are using NAND ERASE/WRITE.NAND ERASE/WRITE are the commands to reprogram the ROM chips.


Flash memory is a non-volatile computer storage chip that can be electrically erased and reprogrammed. It was developed from EEPROM
(electrically erasable programmable read-only memory) and must be erased in fairly large blocks before these can be rewritten with new data.
The high density NAND type must also be programmed and read in (smaller) blocks, or pages,
while the NOR type allows a single machine word (byte) to be written or read independently.

Example for Flash memory: ROM, EPROM,EEPROM
Wiki:http://en.wikipedia.org/wiki/Flash_memory


3.what is Samba file system ?
   In windows, we can access the shared folder in a network. But in linux, if we want to share the folder across the network, we need to install the samba.
So that from any machine in the network, we can access the files as like local folder.

4.In Embedded system, First we need to flash loader & then we need to install boot loader (U-BOOT).UBOOT  will configure the kernel  (also pass kernel arguments).

5.we can use U-Boot to load kernel or other file from TFTP into RAM
6.tftp in embedded linux:
   For transfering the kernel/long files to embedded device,we can use
                 i)tftp
ii) serial port access
        But tftp will give faster data transfer of files. Reason is that tftp acts on ethernet/network.Ethernet gives 10 Mbps data transfer speed.
 Maximum data transfer in Serial port is 128Kbps or 192 kbps.
But tftp needs
          i) IP configuration [Ethernet hardware]
          ii)tftp client

7. NFS  [Network file system]:

Network file system will boot system files/libraries from the server. NFS client wont have any libraries.
It will just load the required system files/libraries from server.

  NFS use in Embedded system:
         i)In embedded system, instead of flashing binary every time to embedded device, we can just configure the development system's compiled library path in embedded device.
For every compilation, libraries got updated and embedded device will boot libraries everytime from development system.

  Things needed for accessing NFS:
    i) Ethernet[hardware for IP address]
    ii) NFS client

8. ADB CONNECT
    If we want to get logs from android mobile/consumer device, what we can do ?

   i)we can connect the android mobile consumer device to system via USB and we can get logs via "adb logcat".
   ii) For android development, if we are using putty from windows system to access the Linux server which has source code.
But my device is connected to windows system. In such a scenario, we are able to take android logs from Linux server or windows system.
(But the android device should have IP address.)
How it is possible ?

  if the android consumer device is having IP address[ethernet support],we can connect to the device via IP address
          "adb connect android_device_ipaddress" can be used to connect to android device.Next if we are putting logs,we can get logs via adb logcat.

9.Embedded linux boot sequence:
   ROM Code -> BootStrap/Loader -> U Boot -> Kernel -> RootFiles








No comments: