<?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; Anil Kumar</title>
	<atom:link href="https://www.emblogic.com/blog/author/anilrocks/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>Article on POSIX THREADS</title>
		<link>https://www.emblogic.com/blog/12/article-on-posix-threads/</link>
		<comments>https://www.emblogic.com/blog/12/article-on-posix-threads/#comments</comments>
		<pubDate>Thu, 05 Dec 2013 12:43:22 +0000</pubDate>
		<dc:creator><![CDATA[Anil Kumar]]></dc:creator>
				<category><![CDATA[Project 04: FTP based Client Server using Threads and Sockets]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7663</guid>
		<description><![CDATA[Thread Progrmming Thread:Multiple strands of execution in a single program are called threads. A more precise definition is that athread is a sequence of control within a process.All processes have at least one thread of execution.When a process executes a &#8230; <a href="https://www.emblogic.com/blog/12/article-on-posix-threads/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Thread Progrmming<br />
Thread:Multiple strands of execution in a single program are called threads. A more precise definition is that athread is a sequence of control within a process.All processes have at least one thread of execution.When a process executes a fork call, a new copy of the process is created with its own variables and its own PID. This new process is scheduled independently, and (in general)executes almost independently of the process that created it. When we create a new thread in aprocess, in contrast, the new thread of execution gets its own stack (and hence local variables) butshares global variables, file descriptors, signal handlers, and its current directory state with the process that created it.</p>
<p>Advantages of Threads:</p>
<p>1.The overhead cost of creating a new thread is significantly less than that of creating a newprocess (though Linux is particularly efficient at creating new processes compared with many other operating systems).</p>
<p>2.Switching between threads requires the operating system to do much less work thanswitching between processes.<br />
3.Multiple threads are much less demanding on resourcesthan multiple processes, and it is more practical to run programs that logically require many<br />
threads of execution on single-processor systems.</p>
<p>Drawbacks of Threads:<br />
1.Debugging a multithreaded program is much, much harder than debugging a single-threadedone, because the interactions between the threads are very hard to control.</p>
<p>2.A program that splits a large calculation into two and runs the two parts as different threadswill not necessarily run more quickly on a single processor machine, unless the calculation truly allows multiple parts to be calculated simultaneously and the machine it is executing on has<br />
multiple processor cores to support true multiprocessing.</p>
<p>How to create Thread:</p>
<p>Threads are created by using system call phtread_create.The first argument of pthread_create is a poniter to thread object,second argument is the attributes of threads,third argument is thread_function and last argument is used to provide argument to the thread_function.</p>
<p>How to join Thread:</p>
<p>Threads are join by using system call phtread_join.The first parameter is the thread for which to wait, the identifier that pthread_create filled in foryou. The second argument is a pointer to a pointer that itself points to the return value from the thread. Like pthread_create, this function returns zero for success and an error code on failure.</p>
<p>how to exit Thread:When a thread terminates, it calls the pthread_exit function, much as a process calls exit when it ter-minates. This function terminates the calling thread, returning a pointer to an object. Never use it to returna pointer to a local variable, because the variable will cease to exist when the thread does so, causing aserious bug.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/article-on-posix-threads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>c..</title>
		<link>https://www.emblogic.com/blog/08/c-2/</link>
		<comments>https://www.emblogic.com/blog/08/c-2/#comments</comments>
		<pubDate>Sat, 10 Aug 2013 06:08:14 +0000</pubDate>
		<dc:creator><![CDATA[Anil Kumar]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7089</guid>
		<description><![CDATA[Done successfully 4 assignments in C. Working 5th assignment and c++. regards]]></description>
				<content:encoded><![CDATA[<p>Done successfully 4 assignments in C. Working 5th assignment and c++.</p>
<p>regards</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/c-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Character Driver</title>
		<link>https://www.emblogic.com/blog/07/character-driver-16/</link>
		<comments>https://www.emblogic.com/blog/07/character-driver-16/#comments</comments>
		<pubDate>Sat, 20 Jul 2013 16:35:52 +0000</pubDate>
		<dc:creator><![CDATA[Anil Kumar]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Mr.Pravjot sir]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=6878</guid>
		<description><![CDATA[CHARACTER DRIVER:- I have been working on device driver(character driver) since almost last three weeks. FIrst of all in device driver,I need to know what is device driver and why we need device driver?Device driver is nothing what a piece &#8230; <a href="https://www.emblogic.com/blog/07/character-driver-16/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>CHARACTER DRIVER:- I have been working on device driver(character driver) since almost last three weeks. FIrst of all in device driver,I need to know what is device driver and why we need device driver?Device driver is nothing what a piece of code(called module) as a part of kernel.The device driver can be classified into three basic categories.<br />
1) Character driver 2) Block driver 3 ) Network or Pipe driver.<br />
1)Character driver:- A character device is one that can be accessed as a stream of bytes i.e. character by character.<br />
As we know that it is kernel which is directly interect with the hardware and if any application want to interect with the hardware then we need a driver in the kernel space.  As we know that our applications  are in the user space and hardware is place in the kernel space and no application can directly access the hardware in the kernel space.so we create a named pipe(called fifo) between user space and kernel space using mknod.<br />
Device Driver Implementation:-<br />
In device driver implementation, firstly I used two modules called module_init(initilization_func ) and module_exit(cleanup_func). The module_init is used to load the module into the kenel and module_exit is used to unload the module from the kernel.For module_init and module_exit we need two header files, which are  and .After loading and unloading our module next step is to register our driver. The registration of driver is done in two ways i.e. dyanamic registration and static registration.The dyanamic registration is done by using alloc_chrdev_region.The alloc_chrdev_region(&amp;dev,minorno,nod,dev_name) take four arguments,first argument is the pointer to dev ,second argument is the minor number ,third argument is the number of devices for which we have register our driver and fourth argument is our device name.we used dynamic registration so that the kernel provieded maximum available major no to our device.The static registration is done by using register_chrdev_region(dev,nod,dev_name);.it will return maximum available major no to our device. After the registration of our device we have to unregister our device  using unregister_chrdev_region(dev,nod).for registe and unregister we used header file . After registeration and unregistration we need to prepare Scull memory for our device.For preparing scull memory we define struct Sculldev. Struct Sculldev contain scullqset which points to the next scullqset. The scullqset points to the qset and qset points to the quantums.After preparing the scull we have to initilize the scull by using cdev_init and cdev_add.<br />
After preparing scull we perform file operations like open,close ,read and write.finally i have done my char driver with lseek operation.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/character-driver-16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>project 10: successfully bring up the olinuxino board</title>
		<link>https://www.emblogic.com/blog/05/project-10-successfully-bring-up-the-olinuxino-board/</link>
		<comments>https://www.emblogic.com/blog/05/project-10-successfully-bring-up-the-olinuxino-board/#comments</comments>
		<pubDate>Fri, 03 May 2013 08:27:41 +0000</pubDate>
		<dc:creator><![CDATA[Anil Kumar]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[pravjot sir]]></category>
		<category><![CDATA[Varun sir]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=6441</guid>
		<description><![CDATA[I have successfully bring up the olinuxino board and i&#8217;m try to bring up the giu on the same board]]></description>
				<content:encoded><![CDATA[<p>I have successfully bring up the olinuxino board and i&#8217;m try to bring up the giu on the same board</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/05/project-10-successfully-bring-up-the-olinuxino-board/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sucessfully bringup the olinuxino board</title>
		<link>https://www.emblogic.com/blog/05/sucessfully-bringup-the-olinuxino-board/</link>
		<comments>https://www.emblogic.com/blog/05/sucessfully-bringup-the-olinuxino-board/#comments</comments>
		<pubDate>Fri, 03 May 2013 08:19:31 +0000</pubDate>
		<dc:creator><![CDATA[Anil Kumar]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[pravjot sir]]></category>
		<category><![CDATA[Varun sir]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=6424</guid>
		<description><![CDATA[i have successfully bring up the olinuxino board. i did the two partition of sd card successfully.]]></description>
				<content:encoded><![CDATA[<p>i have successfully bring up the olinuxino board.<br />
i did the two partition of sd card successfully.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/05/sucessfully-bringup-the-olinuxino-board/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>successfully bring up the beagleboard_xm</title>
		<link>https://www.emblogic.com/blog/05/successfully-bring-up-the-beagleboard_xm/</link>
		<comments>https://www.emblogic.com/blog/05/successfully-bring-up-the-beagleboard_xm/#comments</comments>
		<pubDate>Wed, 01 May 2013 17:32:32 +0000</pubDate>
		<dc:creator><![CDATA[Anil Kumar]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[pravjot sir]]></category>
		<category><![CDATA[Varun sir]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=6418</guid>
		<description><![CDATA[did successfully the bring up of beagleboard_xm did the two partiotions of sd card and format first partition with fat32 format and second partition with ext3. Move MLO,u-boot.bin and uImage to the first partition. Move file system to second partition.]]></description>
				<content:encoded><![CDATA[<p>did successfully the bring up of beagleboard_xm<br />
did the two partiotions of sd card and format first partition with fat32 format and second partition with ext3.<br />
Move MLO,u-boot.bin and uImage to the first partition.<br />
Move file system to second partition.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/05/successfully-bring-up-the-beagleboard_xm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
