<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>EmbLogic &#187; vaibhav</title>
	<atom:link href="https://www.emblogic.com/blog/author/vaibhav/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.emblogic.com/blog</link>
	<description>Embedded System and ARM Training</description>
	<lastBuildDate>Tue, 03 Mar 2020 13:00:06 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>Install google Chrome For Fast Browsing Internet</title>
		<link>https://www.emblogic.com/blog/07/install-google-chrome-for-fast-browsing-internet/</link>
		<comments>https://www.emblogic.com/blog/07/install-google-chrome-for-fast-browsing-internet/#comments</comments>
		<pubDate>Sat, 14 Jul 2012 08:20:21 +0000</pubDate>
		<dc:creator><![CDATA[vaibhav]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=3899</guid>
		<description><![CDATA[use This Command on your terminal to install google chrome #yum localinstall &#8211;nogpgcheck -y https://dl.google.com/linux/direct/google-chrome-stable_current_i386.rpm]]></description>
				<content:encoded><![CDATA[<p>use This Command on your terminal to install google chrome</p>
<p>#yum localinstall &#8211;nogpgcheck -y https://dl.google.com/linux/direct/google-chrome-stable_current_i386.rpm </p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/install-google-chrome-for-fast-browsing-internet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Solution ]Ethernet and Network Controller (Realtek and Intel(device 0896 rev34)) Problem</title>
		<link>https://www.emblogic.com/blog/04/ethernet-and-network-controller-realtek-and-inteldevice-0896-rev34/</link>
		<comments>https://www.emblogic.com/blog/04/ethernet-and-network-controller-realtek-and-inteldevice-0896-rev34/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 07:46:48 +0000</pubDate>
		<dc:creator><![CDATA[vaibhav]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=2432</guid>
		<description><![CDATA[00:00.0 Host bridge: Intel Corporation Sandy Bridge DRAM Controller (rev 09) 00:02.0 VGA compatible controller: Intel Corporation Sandy Bridge Integrated Graphics Controller (rev 09) 00:16.0 Communication controller: Intel Corporation Cougar Point HECI Controller #1 (rev 04) 00:1a.0 USB Controller: Intel &#8230; <a href="https://www.emblogic.com/blog/04/ethernet-and-network-controller-realtek-and-inteldevice-0896-rev34/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>00:00.0 Host bridge: Intel Corporation Sandy Bridge DRAM Controller (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation Sandy Bridge Integrated Graphics Controller (rev 09)<br />
00:16.0 Communication controller: Intel Corporation Cougar Point HECI Controller #1 (rev 04)<br />
00:1a.0 USB Controller: Intel Corporation Cougar Point USB Enhanced Host Controller #2 (rev 04)<br />
00:1b.0 Audio device: Intel Corporation Cougar Point High Definition Audio Controller (rev 04)<br />
00:1c.0 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 1 (rev b4)<br />
00:1c.3 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 4 (rev b4)<br />
00:1d.0 USB Controller: Intel Corporation Cougar Point USB Enhanced Host Controller #1 (rev 04)<br />
00:1f.0 ISA bridge: Intel Corporation Cougar Point LPC Controller (rev 04)<br />
00:1f.2 SATA controller: Intel Corporation Cougar Point 6 port SATA AHCI Controller (rev 04)<br />
00:1f.3 SMBus: Intel Corporation Cougar Point SMBus Controller (rev 04)<br />
<strong>01:00.0 Network controller: Intel Corporation Device 0896 (rev 34)</strong><br />
<strong>02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI </strong>Express Gigabit Ethernet controller (rev 06)</p>
<p>This The Basic <strong>$lspci</strong> output of my Samsung Laptop:</p>
<p><strong>For Ethernet Controller :-</strong></p>
<p>Actully Realtek Ethernet controller driver rtl8169 Driver is supported by fedora but here we need r8168 driver do just download the <strong>package r8168-8.029.00.tar.bz2</strong></p>
<p>and then go to your Download directory and use commands<br />
<strong>#cd r8168</strong><br />
<strong>#./autorun.sh</strong><br />
It will rmmod yr rtl8169 driver and then load newly build driver r8168<br />
Now your ethernet Controller will work successfully</p>
<p><strong>//For Wireless</strong></p>
<p>Driver is supported by fedora for the Network Controller : Intel Device 0896(rev 34) but its firmware is missing . So we need to load that firmware in our system .</p>
<p>just download a file name -  <strong> iwlwifi-6000g2b-5.ucode</strong></p>
<p>and now put these file in /lib/firmware/ directory . and reboot your system<br />
<strong>#cp  iwlwifi-6000g2b-5.ucode /lib/firmware/</strong></p>
<p>or<br />
you can usr</p>
<p><strong>#yum install iwl6000g2b-firmware.noarch</strong><br />
and then reboot your System</p>
<p>Thts All you need to do</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/ethernet-and-network-controller-realtek-and-inteldevice-0896-rev34/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Embedded Linux Booting and Beagleboard</title>
		<link>https://www.emblogic.com/blog/03/embedded-linux-booting-and-beagleboard/</link>
		<comments>https://www.emblogic.com/blog/03/embedded-linux-booting-and-beagleboard/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 06:31:12 +0000</pubDate>
		<dc:creator><![CDATA[vaibhav]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=2167</guid>
		<description><![CDATA[BeagleBoard The Beagle Board is a pocket-sized reference board containing a Texas Instruments OMAP3530 system-on-a-chip (SoC) processor (ARM Cortex A-8 core) running at up to 600MHz. (Find a link to more system specs in Resources later in this article.) Tiny &#8230; <a href="https://www.emblogic.com/blog/03/embedded-linux-booting-and-beagleboard/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><span style="text-decoration: underline"><strong>BeagleBoard</strong></span></p>
<p>The Beagle Board is a pocket-sized reference board containing a Texas Instruments OMAP3530 system-on-a-chip (SoC) processor (ARM Cortex A-8 core) running at up to 600MHz. (Find a link to more system specs in Resources later in this article.) Tiny reference boards are not themselves necessarily newsworthy—companies such as Gumstix have been providing similar boards for several years, including some based on the OMAP3530 processor. I picked the Beagle Board because it is an inexpensive platform for learning how Linux and small systems work. It is a reasonable alternative for hobbyists designing projects for themselves, academics creating projects for classes, and professionals designing low-cost appliances or thin clients.</p>
<p>For More Board Information visit:</p>
<p><a href="http://beagleboard.org/static/BBSRM_latest.pdf">www.beagleboard.org/static/BBSRM_latest.pdf </a></p>
<p><span style="text-decoration: underline"><strong>Required Items To Bring-up</strong></span> :</p>
<p>Three items are required to boot the Beagle Board:<br />
1.A desktop or laptop computer with a serial port (see the sidebar Notes on host platforms for more information)<br />
2.A serial connector<br />
3.A USB device cable, standard-A to mini-A</p>
<p>The Beagle Board comes with no cables or connectors. See the Beagle Board Shopping List (in Resources) for a list of required and optional items, as well as links to them. Most of the items shown here are available individually or as a package.</p>
<p><span style="text-decoration: underline"><strong>Serial connection:</strong></span></p>
<p>For the serial connection, you need the following components:<br />
1.IDC10-to-DB9M serial cable<br />
2.DB9F-to-DB9F null modem cable<br />
3.DB9M-to-USB cable (optional if your host platform has an RS-232 port)<br />
4.USB mini-B male-to-USB A male cable</p>
<p>The combination of the first three cables gives you a serial connection, which enables you to watch and interact with the board&#8217;s bootloader and operating system through a terminal emulation program on your host platform.</p>
<p><span style="text-decoration: underline"><strong>Input and output</strong></span>:</p>
<p>For input and output, you need the following items:<br />
1. Powered USB 3-port hub with Ethernet<br />
2. 5mm barrel power plug-to-USB A male adapter<br />
3. USB mini-A-to-USB A female On-The-Go (OTG) cable (optional; lets it be powered over its USB connection)</p>
<p>These items give you the maximum benefit from using a Linux distribution on your Beagle Board. The built-in Ethernet gives you a network connection. The hub itself gives you a USB port for providing power to the Beagle Board with the 5mm power plug.</p>
<p><span style="text-decoration: underline"><strong>Keyboard, video, mouse</strong></span> :</p>
<p>For keyboard-video-mouse (KVM) functionality, you need the following items:<br />
1. HDMI male-to-DVI-D male cable<br />
2. Digital monitor<br />
3. USB keyboard<br />
4. USB mouse</p>
<p>You may be tempted to use a PS/2 keyboard with a converter. Take my advice: buy a USB keyboard. A PS/2 keyboard would probably work with the Ångström Linux distribution, the demo described in this article, but you may well go further than this in the future, and not all distributions include a PS/2 driver.</p>
<p>You may also be tempted to try to use an analog (VGA) monitor or a DVI-D-to-VGA conversion cable. The Beagle Board does not emit the analog signal that would drive this setup, so using a converter or analog monitor would be fruitless. If your monitor does not accept digital (HDMI or DVI-D) input, consider using a TV and a 4-pin S-video cable, instead. Also note that audio does not work acceptably yet on Ångström, so don&#8217;t spend too much time trying to track down speakers or headphones.</p>
<p><span style="text-decoration: underline"><strong>SD cards :</strong></span></p>
<p>You need at least one SD card to store Linux and its bootloaders. If you do not want to go through the process of downloading the software and partitioning the card, Special Computing (see Resources for a link) has a deal: You can order a 4GB SD card with the Ångström demo preloaded.</p>
<p><span style="text-decoration: underline"><strong>Connecting the components :</strong></span></p>
<p>When you have all of the parts, it&#8217;s time to start plugging things in. First, connect the serial port by performing the following steps:<br />
1. Plug the IDC10 cable into the Beagle Board with the cable&#8217;s pin 1 going to pin 1 of the connector (the pink wire on the ribbon cable faces the outer corner of the board).<br />
2. Plug the DB9M end into the null-modem DB9F/DB9F cable.<br />
3. Plug the DB9F/DB9F cable into your host platform, if it has a DB9 port. Otherwise, plug the cable into a DB9M/USB cable, then plug that into the host.</p>
<p><span style="text-decoration: underline"><strong>Next, connect USB and power:</strong></span><br />
1. Plug the USB mini-A end of the mini-A/USB A female cable into the Beagle Board&#8217;s USB mini-A connector.<br />
2. Plug the powered USB hub into the USB A female end of the same cable.<br />
3. Plug the USB end of the USB/5mm barrel cable into the hub.<br />
4. Plug the 5mm barrel end into the Beagle Board&#8217;s barrel connector.</p>
<p>Note: Do not connect power to the hub yet.</p>
<p><span style="text-decoration: underline"><strong>Now, connect the keyboard, mouse, and video:</strong></span><br />
1. Plug the HDMI end of video cable into the Beagle Board&#8217;s HDMI connector.<br />
2. Plug the DVI-D end into your monitor.<br />
3. Plug the USB keyboard into the hub.<br />
4. Plug the USB mouse into the hub.</p>
<p><span style="text-decoration: underline"><strong>Setting up the operating system</strong></span>:</p>
<p>The host system is ready and the Beagle Board is set up. All you need now is an operating system.</p>
<p>Downloadable binaries exist for many Linux distributions that run on the Beagle Board, with Ångström, Maemo, Ubuntu, and Android being the most popular. All are under active development, and all have been demonstrated in public by professionals and hobbyists alike. This article covers the Ångström distribution, which is well tested and lean enough that it turns the Beagle Board into a viable Linux desktop machine and not-so-thin client. See Resources for links to video demonstrations as well as to the Ångström binary download.</p>
<p><span style="text-decoration: underline"><strong>The Ångström Linux distribution :</strong></span></p>
<p>1. First-stage bootloader<br />
2. Second-stage bootloader<br />
3. Linux boot image (uImage)<br />
4. Linux file system</p>
<p>The Beagle Board&#8217;s firmware contains a first-stage bootloader called X-loader. X-loader can also be loaded from a removable storage space (such as an SD card) in a signed file called MLO. X-loader bootstraps the system only enough to load the second-stage bootloader, which otherwise would not fit into memory.</p>
<p>The second-stage bootloader provided in flash memory on the Beagle Board is U-boot, although most distributions provide their own version of U-boot in a file called u-boot.bin. U-boot initializes the system, then boots the Linux kernel. It can also be run from the console.</p>
<p>The Linux boot image, named uImage, finally boots the Linux kernel, which resides in the Linux file system in the /boot directory.</p>
<p>There are several ways to set up the file system; the method shown here requires a bit of work at the beginning but is flexible. Also note that this is the way the pre-built Ångström SD cards arrive if you order them from Special Computing.</p>
<p><span style="text-decoration: underline"><strong>How Linux Boot (For Intel x86 Architecture) :</strong></span><strong> </strong><strong></strong></p>
<p><span style="text-decoration: underline"><strong>Stage 1 Boot Loader : </strong></span></p>
<p>The primary boot loader that resides in the MBR is a 512-byte image containing both program code and a small partition table (see Figure 2). The first 446 bytes are the primary boot loader, which contains both executable code and error message text. The next sixty-four bytes are the partition table, which contains a record for each of four partitions (sixteen bytes each). The MBR ends with two bytes that are defined as the magic number (0xAA55). The magic number serves as a validation check of the MBR.</p>
<p>The job of the primary boot loader is to find and load the secondary boot loader (stage 2). It does this by looking through the partition table for an active partition. When it finds an active partition, it scans the remaining partitions in the table to ensure that they&#8217;re all inactive. When this is verified, the active partition&#8217;s boot record is read from the device into RAM and executed.</p>
<p><span style="text-decoration: underline"><strong>Stage 2 Bootloader :</strong></span></p>
<p>The secondary, or second-stage, boot loader could be more aptly called the kernel loader. The task at this stage is to load the Linux kernel and optional initial RAM disk.</p>
<p>The first- and second-stage boot loaders combined are called Linux Loader (LILO) or GRand Unified Bootloader (GRUB) in the x86 PC environment. Because LILO has some disadvantages that were corrected in GRUB, let&#8217;s look into GRUB.</p>
<p>The great thing about GRUB is that it includes knowledge of Linux file systems. Instead of using raw sectors on the disk, as LILO does, GRUB can load a Linux kernel from an ext2 or ext3 file system. It does this by making the two-stage boot loader into a three-stage boot loader. Stage 1 (MBR) boots a stage 1.5 boot loader that understands the particular file system containing the Linux kernel image. Examples include reiserfs_stage1_5 (to load from a Reiser journaling file system) or e2fs_stage1_5 (to load from an ext2 or ext3 file system). When the stage 1.5 boot loader is loaded and running, the stage 2 boot loader can be loaded.</p>
<p>With stage 2 loaded, GRUB can, upon request, display a list of available kernels (defined in /etc/grub.conf, with soft links from /etc/grub/menu.lst and /etc/grub.conf). You can select a kernel and even amend it with additional kernel parameters. Optionally, you can use a command-line shell for greater manual control over the boot process.</p>
<p>With the second-stage boot loader in memory, the file system is consulted, and the default kernel image and initrd image are loaded into memory. With the images ready, the stage 2 boot loader invokes the kernel image.</p>
<p><span style="text-decoration: underline"><strong>Kernel Image : </strong></span></p>
<p>With the kernel image in memory and control given from the stage 2 boot loader, the kernel stage begins. The kernel image isn&#8217;t so much an executable kernel, but a compressed kernel image. Typically this is a zImage (compressed image, less than 512KB) or a bzImage (big compressed image, greater than 512KB), that has been previously compressed with zlib. At the head of this kernel image is a routine that does some minimal amount of hardware setup and then decompresses the kernel contained within the kernel image and places it into high memory. If an initial RAM disk image is present, this routine moves it into memory and notes it for later use. The routine then calls the kernel and the kernel boot begins.</p>
<p>When the bzImage (for an i386 image) is invoked, you begin at ./arch/i386/boot/head.S in the start assembly routine (see Figure 3 for the major flow). This routine does some basic hardware setup and invokes the startup_32 routine in ./arch/i386/boot/compressed/head.S. This routine sets up a basic environment (stack, etc.) and clears the Block Started by Symbol (BSS). The kernel is then decompressed through a call to a C function called decompress_kernel (located in ./arch/i386/boot/compressed/misc.c). When the kernel is decompressed into memory, it is called. This is yet another startup_32 function, but this function is in ./arch/i386/kernel/head.S.</p>
<p>In the new startup_32 function (also called the swapper or process 0), the page tables are initialized and memory paging is enabled. The type of CPU is detected along with any optional floating-point unit (FPU) and stored away for later use. The start_kernel function is then invoked (init/main.c), which takes you to the non-architecture specific Linux kernel. This is, in essence, the main function for the Linux kernel.</p>
<p>With the call to start_kernel, a long list of initialization functions are called to set up interrupts, perform further memory configuration, and load the initial RAM disk. In the end, a call is made to kernel_thread (in arch/i386/kernel/process.c) to start the init function, which is the first user-space process. Finally, the idle task is started and the scheduler can now take control (after the call to cpu_idle). With interrupts enabled, the pre-emptive scheduler periodically takes control to provide multitasking.</p>
<p>During the boot of the kernel, the initial-RAM disk (initrd) that was loaded into memory by the stage 2 boot loader is copied into RAM and mounted. This initrd serves as a temporary root file system in RAM and allows the kernel to fully boot without having to mount any physical disks. Since the necessary modules needed to interface with peripherals can be part of the initrd, the kernel can be very small, but still support a large number of possible hardware configurations. After the kernel is booted, the root file system is pivoted (via pivot_root) where the initrd root file system is unmounted and the real root file system is mounted.</p>
<p>The initrd function allows you to create a small Linux kernel with drivers compiled as loadable modules. These loadable modules give the kernel the means to access disks and the file systems on those disks, as well as drivers for other hardware assets. Because the root file system is a file system on a disk, the initrd function provides a means of bootstrapping to gain access to the disk and mount the real root file system. In an embedded target without a hard disk, the initrd can be the final root file system, or the final root file system can be mounted via the Network File System (NFS).</p>
<p><span style="text-decoration: underline"><strong>Root File System (Init Process):</strong></span></p>
<p>After the kernel is booted and initialized, the kernel starts the first user-space application. This is the first program invoked that is compiled with the standard C library. Prior to this point in the process, no standard C applications have been executed.</p>
<p>In a desktop Linux system, the first application started is commonly /sbin/init. But it need not be. Rarely do embedded systems require the extensive initialization provided by init (as configured through /etc/inittab). In many cases, you can invoke a simple shell script that starts the necessary embedded applications.</p>
<p><span style="text-decoration: underline"><strong>Resources : </strong></span></p>
<p>http://www.ibm.com/developerworks/linux/library/l-beagle-board/</p>
<p>http://www.ibm.com/developerworks/linux/library/l-linuxboot/</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/embedded-linux-booting-and-beagleboard/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Embedded Linux With ARM Processor</title>
		<link>https://www.emblogic.com/blog/02/embedded-linux-with-arm-processor/</link>
		<comments>https://www.emblogic.com/blog/02/embedded-linux-with-arm-processor/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 15:48:20 +0000</pubDate>
		<dc:creator><![CDATA[vaibhav]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=2021</guid>
		<description><![CDATA[What is Embedded Linux? Embedded Linux is one of the emerging fields in Embedded Systems allowing the engineers to be flexible in implementation of bigger tasks. It is mingled with day to day life such as mobile phones, home security &#8230; <a href="https://www.emblogic.com/blog/02/embedded-linux-with-arm-processor/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>What is Embedded Linux?</strong><br />
Embedded Linux is one of the emerging fields in Embedded Systems allowing the engineers to be flexible in implementation of bigger tasks.<br />
It is mingled with day to day life such as mobile phones, home security systems and house hold equipments. It also has a great impact on achieving difficult tasks such as missile launching.<br />
To make it clear, it is nothing but the implementation of RTOS Linux kernel (core) in the processor for doing difficult tasks.</p>
<p><strong>Systems</strong></p>
<p>There are two types of system</p>
<p><strong>1. General Purpose Systems</strong><br />
These systems refer to the computers which we are using in the houses and offices. General purpose systems act as a general platform for programming and performing certain other tasks.<br />
General purpose systems prefer an operating system which may be UNIX, GNU/LINUX or Windows.<br />
Here are some of the advantages of LINUX over other Operating System:<br />
• Free of cost (usually called open source).<br />
• Supports multi-user (First operating system to support multi user. In olden days one server carried an OS while other shares the same processor in the server).<br />
• Flexible for programming.<br />
• Better Security (It has the best security than any other operating system).<br />
General purpose systems can perform any task but in small applications there<br />
Is no need for bigger OS and hardware system. To overcome this concept Embedded System came, which is explained in the following section.<br />
<strong>2 . Embedded Systems</strong><br />
Embedded Systems are different from that of the general purpose system. This system is generally of resources constrained. The resources refer to the hardware components.<br />
Embedded Systems may or may not require an RTOS, whereas general purpose systems always do need an OS.</p>
<p><strong>Difference between RTOS and OS</strong><br />
In general we hear the term OS which is nothing but the Operating System. Most of us are familiar in using the Operating Systems such as Windows 98, Windows XP etc. There is a new term used in the Embedded Systems named RTOS which is a Real Time OS.</p>
<p><strong>Embedded OS</strong><br />
Operating systems are widely used in general purpose systems which may be LINUX or Windows. All operating systems uses an important concept called Time Sharing.<br />
Time Sharing is nothing but performing many operations at a time, this has been take care by the OS.<br />
The concept of time sharing can be best understood from the following figure.</p>
<p>The concept of DMA also comes into the picture in time sharing. In general purpose systems the tasks are allocated at different time slots. The user does not have any idea when the task will be completed.</p>
<p><strong>Embedded RTOS</strong><br />
The RTOS are similar to the operating system but has smaller kernel (core of the operating system) size. It also uses the time sharing concept.<br />
In general purpose the allocation of time can be adjusted by the OS, but in RTOS the time cannot be adjusted.</p>
<p><strong>Processors</strong><br />
The General purpose systems use x86 processor.<br />
Embedded Systems use controllers or processors such as ARM, FPGA etc.</p>
<p><strong>Compiling and Cross Compiling</strong><br />
The RTOS cannot be used as such like an operating system. It has to be cross compiled for the particular processor. Other packages such as BIOS programming, Boot loader and Root file system also has to be used in Embedded linux environment.</p>
<p><strong>BIOS</strong><br />
Basic Input Output System is the firmware that initializes the system. BIOS Programming has to be written and stored in to the flash memory.</p>
<p><strong>Boot loader</strong><br />
An important package which is responsible for the kernel on the memory.<br />
In General Purpose System Linux uses GRUB boot loader whereas the Embedded Linux system uses the U-boot bootloader.</p>
<p><strong>Linux kernel</strong><br />
Lot of Linux kernel versions are available which can be cross-compiled for particular processor.</p>
<p><strong>Root file system</strong><br />
Root file system contains all the binaries of the operating system.</p>
<p>Steps to make an Embedded Linux System to boot up<br />
<strong>Hardwares used</strong><br />
Processor – s3c2440<br />
Nor flash<br />
Nand flash<br />
SDRAM<br />
Software packages<br />
Linux kernel 2.6.29<br />
u-boot bootloader<br />
busy box</p>
<p><strong>Compilation steps for linux kernel</strong><br />
<strong>Step 1:</strong><br />
tar –xvvzf arm-linux-gcc.tar.gz<br />
unpacking the gcc compiler.<br />
<strong>Step 2:</strong><br />
Export PATH=$PATH:~/usr/local/arm/4.3.2/bin<br />
The tool chain for compiler is set<br />
<strong>Step 3:</strong><br />
Tar –xvzf linux-2.6.29.tar.gz.<br />
Unpacking the kernel<br />
<strong>Step 4:</strong><br />
Make ARCH=arm CROSS_COMPILE=~/usr/local/arm/4.3.2/bin/<br />
<strong>Step 5:</strong><br />
Make ARCH=arm CROSS_COMPILE=~/usr/local/arm/4.3.2/bin/ uImage</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/embedded-linux-with-arm-processor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Makefile</title>
		<link>https://www.emblogic.com/blog/12/makefile-2/</link>
		<comments>https://www.emblogic.com/blog/12/makefile-2/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 07:20:17 +0000</pubDate>
		<dc:creator><![CDATA[vaibhav]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=1413</guid>
		<description><![CDATA[When you give make command then the makefile creates its files according to the functionality of makefile in current directory but if you want to make the resultant executable in your defined path then you have to define &#8216;install: &#8216; &#8230; <a href="https://www.emblogic.com/blog/12/makefile-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>When you give make command then the makefile creates its files according to the functionality of makefile in current directory but if you want to make the resultant executable in your defined path then you have to define &#8216;install: &#8216; label inside the makefile and after giving the make command give command make install then the resultant executable will go to your path OR you can directly give the command make install on your command prompt to make the executable on your path</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/makefile-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>error:while cross-compiling the gcc for arm-board</title>
		<link>https://www.emblogic.com/blog/09/errorwhile-cross-compiling-the-gcc-for-arm-board/</link>
		<comments>https://www.emblogic.com/blog/09/errorwhile-cross-compiling-the-gcc-for-arm-board/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 09:37:34 +0000</pubDate>
		<dc:creator><![CDATA[vaibhav]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=858</guid>
		<description><![CDATA[configure: creating cache ./config.cache checking build system type&#8230; arm-unknown-linux-gnu checking host system type&#8230; arm-unknown-linux-gnu checking target system type&#8230; arm-unknown-linux-gnu checking LIBRARY_PATH variable&#8230; ok checking GCC_EXEC_PREFIX variable&#8230; ok checking whether to place generated files in the source directory&#8230; no checking whether &#8230; <a href="https://www.emblogic.com/blog/09/errorwhile-cross-compiling-the-gcc-for-arm-board/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>configure: creating cache ./config.cache<br />
checking build system type&#8230; arm-unknown-linux-gnu<br />
checking host system type&#8230; arm-unknown-linux-gnu<br />
checking target system type&#8230; arm-unknown-linux-gnu<br />
checking LIBRARY_PATH variable&#8230; ok<br />
checking GCC_EXEC_PREFIX variable&#8230; ok<br />
checking whether to place generated files in the source directory&#8230; no<br />
checking whether a default linker was specified&#8230; no<br />
checking whether a default assembler was specified&#8230; no<br />
checking for arm-linux-gcc&#8230; arm-linux-gcc<br />
checking for C compiler default output file name&#8230; a.out<br />
checking whether the C compiler works&#8230; configure: error: cannot run C compiled programs.<br />
If you meant to cross compile, use `&#8211;host&#8217;.<br />
See `config.log&#8217; for more details.<br />
make: *** [configure-gcc] Error 1</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/errorwhile-cross-compiling-the-gcc-for-arm-board/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>how can i insert a space using module_param through commandline??</title>
		<link>https://www.emblogic.com/blog/05/how-can-i-insert-a-space-using-module_param-through-commandline/</link>
		<comments>https://www.emblogic.com/blog/05/how-can-i-insert-a-space-using-module_param-through-commandline/#comments</comments>
		<pubDate>Sat, 28 May 2011 11:11:31 +0000</pubDate>
		<dc:creator><![CDATA[vaibhav]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=712</guid>
		<description><![CDATA[Here is my source code &#8212;- #include #include #include #include #include #include #ifndef DEBUG #define DEBUG #endif MODULE_LICENSE(&#8220;GPL&#8221;); MODULE_AUTHOR(&#8220;VAIBHAV&#8221;); MODULE_DESCRIPTION(&#8220;Simple Modules init and exit&#8221;); static short int data=4; static int i=2; static long int j=1; static char *si=&#8221; vaibhav &#8220;; &#8230; <a href="https://www.emblogic.com/blog/05/how-can-i-insert-a-space-using-module_param-through-commandline/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Here is my source code &#8212;-</p>
<p>#include<br />
#include<br />
#include<br />
#include<br />
#include<br />
#include</p>
<p>#ifndef DEBUG<br />
#define DEBUG<br />
#endif</p>
<p>MODULE_LICENSE(&#8220;GPL&#8221;);<br />
MODULE_AUTHOR(&#8220;VAIBHAV&#8221;);<br />
MODULE_DESCRIPTION(&#8220;Simple Modules init and exit&#8221;);</p>
<p>static short int data=4;<br />
static int i=2;<br />
static long int j=1;<br />
static char *si=&#8221; vaibhav &#8220;;</p>
<p>static int pvtdata __initdata=1234;</p>
<p>static int __init vaibhav(void)<br />
        {<br />
         #ifdef DEBUG<br />
         printk(KERN_INFO &#8220;Begin !%s  \n&#8221;,__func__);<br />
         #endif<br />
         #ifdef DEBUG<br />
         printk(KERN_ALERT &#8220;hello kernel !\n&#8221;);<br />
         #endif<br />
         #ifdef DEBUG<br />
         printk(KERN_ALERT &#8220;data=%d \t i=%d \t j=%ld\t si=%s\t pvtdata=%d\n&#8221;,data,i,j,si,pvtdata);<br />
         #endif<br />
         #ifdef DEBUG<br />
         printk(KERN_ALERT &#8220;The process is %s and its pid is %d \n&#8221;,current-&gt;comm,current-&gt;pid );<br />
         #endif<br />
         #ifdef DEBUG<br />
         printk(KERN_INFO &#8220;%s End\n&#8221;,__func__);<br />
         #endif<br />
         return 0;<br />
        }<br />
module_init(vaibhav);<br />
module_param(data,short,S_IRUGO);<br />
module_param(i,int,S_IRUGO );<br />
module_param(j,long,S_IRUGO);<br />
module_param(si,charp,S_IRUGO);<br />
module_param(pvtdata,int,S_IRUGO);</p>
<p>static void __exit vaibhav1(void)<br />
        {<br />
         #ifdef DEBUG<br />
         printk(KERN_INFO &#8220;Begin !%s  \n&#8221;,__func__);<br />
         #endif<br />
         #ifdef DEBUG<br />
         printk(KERN_ALERT &#8220;Execution compleate \n&#8221;);<br />
         #endif<br />
         #ifdef DEBUG<br />
         printk(KERN_INFO &#8220;%s End \n&#8221;,__func__);<br />
         #endif<br />
        }</p>
<p>module_exit(vaibhav1);</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/05/how-can-i-insert-a-space-using-module_param-through-commandline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FILE TRANSFER PROTOCOL</title>
		<link>https://www.emblogic.com/blog/05/file-transfer-protocol/</link>
		<comments>https://www.emblogic.com/blog/05/file-transfer-protocol/#comments</comments>
		<pubDate>Mon, 23 May 2011 10:41:28 +0000</pubDate>
		<dc:creator><![CDATA[vaibhav]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=689</guid>
		<description><![CDATA[FTP:- File Transfer Protocol is a network protocol used to transfer(copy) file from one host to another using Tcp/ip network . It is basically based on client server architecture model. It has 2 basic lines between the clint and server &#8230; <a href="https://www.emblogic.com/blog/05/file-transfer-protocol/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>FTP:-<br />
	File Transfer Protocol is a network protocol used to transfer(copy) file from one host to another using Tcp/ip network . It is basically based on client server architecture model. It has 2 basic lines between the clint and server . One is called as Control line and another is Data line . Control line is used for the authentication . first this protocol authenticate the user by userneme and password through the control line by port no.21 . The second connection calld as Data connection opened then on port 20 . The data connection is used in 2 modes active and passive.If a firewall is existed then is used it passively. passively means that a new ip+port generated by the server to the client which used by server but its not client&#8217;s actual ip+port.In passive mode we use the command PASV to establish connection . In active mode simply the server gets the client&#8217;s ip+port for the file transfer.</p>
<p>	when we authenticate the server request then server respond wth a three digit code to tell that your (client&#8217;s) last command was successfull then data line gets the control .Then file transfer in progress over the data connection. File transfer can be interrupted by sending a interrupt on the control line . The transfer rate of this protocol depends on the freq.,size of packts (transferring), bandwidth and traffic on the network.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/05/file-transfer-protocol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
