<?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; Pooja Gaur</title>
	<atom:link href="https://www.emblogic.com/blog/author/pgaur488/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>IEEE 1284-1994 std. device driver for 74LS244 Parallel port- BYTE MODE</title>
		<link>https://www.emblogic.com/blog/11/ieee-1284-1994-std-device-driver-for-74ls244-parallel-port-byte-mode/</link>
		<comments>https://www.emblogic.com/blog/11/ieee-1284-1994-std-device-driver-for-74ls244-parallel-port-byte-mode/#comments</comments>
		<pubDate>Fri, 21 Nov 2014 04:26:07 +0000</pubDate>
		<dc:creator><![CDATA[Pooja Gaur]]></dc:creator>
				<category><![CDATA[Device Drivers]]></category>
		<category><![CDATA[Parallel Port Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11825</guid>
		<description><![CDATA[RCS file: header.h,v Working file: header.h head: 1.2 branch: locks: strict root: 1.2 access list: symbolic names: keyword substitution: kv total revisions: 2; selected revisions: 2 description: File contains header file and macros used &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.2 locked by: root; &#8230; <a href="https://www.emblogic.com/blog/11/ieee-1284-1994-std-device-driver-for-74ls244-parallel-port-byte-mode/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
File contains header file and macros used<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2014/11/19 10:06:25;  author: root;  state: Exp;  lines: +3 -3<br />
ioport.h , io.h<br />
add delay.h for msleep<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/19 10:03:05;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_operation.h,v<br />
Working file: file_operation.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
File contains application operations mapping to driver operations<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2014/11/19 10:03:05;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: declaration.h,v<br />
Working file: declaration.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
File contains function declaration and variable declaration<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2014/11/19 10:03:05;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: driver.c,v<br />
Working file: driver.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
File contains driver init module<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2014/11/19 10:08:27;  author: root;  state: Exp;  lines: +1 -1<br />
Check region at 0&#215;378</p>
<p>if not free, release region<br />
Request for region<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/19 10:03:05;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: devopen.c,v<br />
Working file: devopen.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
File contains implementation of container_of<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2014/11/19 10:03:05;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: devwrite.c,v<br />
Working file: devwrite.c<br />
head: 1.5<br />
branch:<br />
locks: strict<br />
	root: 1.5<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 5;	selected revisions: 5<br />
description:<br />
File conatains implementation of copy_from_user<br />
user sent data which is copied to SCULL<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5	locked by: root;<br />
date: 2014/11/19 10:23:13;  author: root;  state: Exp;  lines: +1 -1<br />
Sent strobe that data is valid<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/11/19 10:17:14;  author: root;  state: Exp;  lines: +1 -1<br />
check if reader is free, by receiving Acknowlegement<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/11/19 10:15:30;  author: root;  state: Exp;  lines: +1 -1<br />
sent character to data register<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/19 10:14:13;  author: root;  state: Exp;  lines: +1 -1<br />
Initialy set control register 0&#215;00<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/19 10:03:05;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================<br />
RCS file: devread.c,v<br />
Working file: devread.c<br />
head: 1.8<br />
branch:<br />
locks: strict<br />
	root: 1.8<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 8;	selected revisions: 8<br />
description:<br />
File read the data from register and copy to user application<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8	locked by: root;<br />
date: 2014/11/19 11:04:15;  author: root;  state: Exp;  lines: +1 -1<br />
Copy to user application<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/11/19 11:02:37;  author: root;  state: Exp;  lines: +1 -1<br />
Receieve character from data register<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/11/19 11:00:46;  author: root;  state: Exp;  lines: +2 -2<br />
Reset strobe to 0<br />
Set 5 bit high for bidirectional in control register<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/11/19 10:59:32;  author: root;  state: Exp;  lines: +1 -1<br />
Check for Acknowledgement that the coming data is valid<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/11/19 10:58:01;  author: root;  state: Exp;  lines: +1 -1<br />
After 5 sec sent strobe, receiver is free<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/11/19 10:56:37;  author: root;  state: Exp;  lines: +1 -1<br />
reader sleep for 5 seconds<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/19 10:55:26;  author: root;  state: Exp;  lines: +1 -1<br />
Sent strobe that the receiver is busy in control register<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/19 10:53:45;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: removedriver.c,v<br />
Working file: removedriver.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
File contains exit module<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2014/11/19 10:25:09;  author: root;  state: Exp;  lines: +1 -0<br />
Release region when driver is removed<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/19 10:05:00;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/11/ieee-1284-1994-std-device-driver-for-74ls244-parallel-port-byte-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Command to know CPU Architecture &amp; Endianness</title>
		<link>https://www.emblogic.com/blog/11/command-to-know-cpu-architecture-endianness/</link>
		<comments>https://www.emblogic.com/blog/11/command-to-know-cpu-architecture-endianness/#comments</comments>
		<pubDate>Sat, 15 Nov 2014 08:02:27 +0000</pubDate>
		<dc:creator><![CDATA[Pooja Gaur]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11807</guid>
		<description><![CDATA[lscpu: lscpu gathers CPU architecture information like number of CPUs, threads, cores, sockets, NUMA nodes, information about CPU caches, CPU family, model, bogoMIPS, byte order and stepping from sysfs and /proc/cpuinfo, and prints it in a human-read?able format. Cmd to &#8230; <a href="https://www.emblogic.com/blog/11/command-to-know-cpu-architecture-endianness/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>lscpu: lscpu  gathers CPU architecture information like number of CPUs, threads, cores, sockets, NUMA nodes, information about CPU caches, CPU family, model, bogoMIPS, byte order and stepping from sysfs and /proc/cpuinfo, and prints it in  a  human-read?able  format.<br />
Cmd to know system endianness:<br />
1. file a.out<br />
2. lscpu | grep -i byte<br />
3.readelf -h libname //command to check particular library info<br />
<a href="http://www.emblogic.com/blog/wp-content/uploads/2014/11/Screenshot-1.png"><img src="http://www.emblogic.com/blog/wp-content/uploads/2014/11/Screenshot-1-300x169.png" alt="Screenshot-1" width="300" height="169" class="alignnone size-medium wp-image-11809" /></a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/11/command-to-know-cpu-architecture-endianness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IEEE std. 1284-1994 std. Signaling method for 74LS244 &#8211; NIBBLE MODE</title>
		<link>https://www.emblogic.com/blog/11/ieee-std-1284-1994-std-signaling-method-for-74ls244-nibble-mode/</link>
		<comments>https://www.emblogic.com/blog/11/ieee-std-1284-1994-std-signaling-method-for-74ls244-nibble-mode/#comments</comments>
		<pubDate>Thu, 13 Nov 2014 05:19:15 +0000</pubDate>
		<dc:creator><![CDATA[Pooja Gaur]]></dc:creator>
				<category><![CDATA[Device Drivers]]></category>
		<category><![CDATA[Parallel Port Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11785</guid>
		<description><![CDATA[RCS file: header.h,v Working file: header.h head: 1.2 branch: locks: strict root: 1.2 access list: symbolic names: keyword substitution: kv total revisions: 2; selected revisions: 1 description: This is header file, which contains all the header file used in driver &#8230; <a href="https://www.emblogic.com/blog/11/ieee-std-1284-1994-std-signaling-method-for-74ls244-nibble-mode/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 1<br />
description:<br />
This is header file, which contains all the header file used in driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2014/11/12 12:26:12;  author: root;  state: Exp;  lines: +1 -0<br />
Add linux/ioport.h<br />
add asm/io.h<br />
add linux/delay.h<br />
=============================================================================</p>
<p>RCS file: declaration.h,v<br />
Working file: declaration.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
This file contains all the functions declaration<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2014/11/12 12:08:53;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_operation.h,v<br />
Working file: file_operation.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
This file contains operation mapping.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2014/11/12 12:08:53;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: driver.c,v<br />
Working file: driver.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 1<br />
description:<br />
This file contains allocation of region in memory<br />
Add device with major and minor<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2014/11/12 12:11:23;  author: root;  state: Exp;  lines: +1 -0<br />
Check for parallel port region<br />
if occupied, release region<br />
then, request for region<br />
=============================================================================</p>
<p>RCS file: devopen.c,v<br />
Working file: devopen.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
use container of<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2014/11/12 12:08:53;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: devwrite.c,v<br />
Working file: devwrite.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
	root: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;	selected revisions: 3<br />
description:<br />
This file allocates memory for quantum &amp; qset in scull<br />
data sent from write application is stored in quantum<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3	locked by: root;<br />
date: 2014/11/12 12:43:56;  author: root;  state: Exp;  lines: +1 -1<br />
For second nibble shift the character by 4<br />
same steps are followed for second nibble<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/12 12:38:50;  author: root;  state: Exp;  lines: +1 -1<br />
set 0&#215;00 at control register<br />
&amp; character from quantum with 0x0f, for first nibble<br />
sent first nibble<br />
checking status of reader, if free or not<br />
if received strobe from reader, that the reader is free now<br />
sent the strobe that data is valid<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/12 12:38:06;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: devread.c,v<br />
Working file: devread.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
	root: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;	selected revisions: 3<br />
description:<br />
This file read the character from port, and copy to the user application<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3	locked by: root;<br />
date: 2014/11/12 13:12:17;  author: root;  state: Exp;  lines: +1 -1<br />
Shift the second nibble received by 3<br />
Shift the received charcter by 4 to make it msb<br />
|(or) with previous stored chracter in first nibble.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/12 13:02:10;  author: root;  state: Exp;  lines: +1 -1<br />
First make the reader busy, then after 5 sec free the reader<br />
sent the strobe signal that the reader is free<br />
wait for acknowlegement the data going to be received is valid or not<br />
when receives the strobe, from writer that the data is valid<br />
set the control register 32 for bidirectional<br />
receives the first nibble and &amp; with 0&#215;78<br />
shift the receive nibble by 3, &amp; with 0x0f<br />
store the character in other variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/12 13:00:27;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: devrelease.c,v<br />
Working file: devrelease.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
This file free the allocated memory for device<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2014/11/12 12:08:53;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: removedriver.c,v<br />
Working file: removedriver.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
unregister allocated region<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2014/11/12 12:12:56;  author: root;  state: Exp;  lines: +1 -0<br />
File contains release region when driver is removed<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/12 12:08:53;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/11/ieee-std-1284-1994-std-signaling-method-for-74ls244-nibble-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CREATING STATIC LIBRARY</title>
		<link>https://www.emblogic.com/blog/11/creating-static-library/</link>
		<comments>https://www.emblogic.com/blog/11/creating-static-library/#comments</comments>
		<pubDate>Mon, 10 Nov 2014 17:32:00 +0000</pubDate>
		<dc:creator><![CDATA[Pooja Gaur]]></dc:creator>
				<category><![CDATA[Linux Internals and System Programming]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11753</guid>
		<description><![CDATA[Static libraries are collection of ordinary object files. For a static library, the actual code is extracted from the library by the linker and used to build the final executable at the point you compile/build your application. Steps: 1.Creates .c &#8230; <a href="https://www.emblogic.com/blog/11/creating-static-library/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Static libraries are collection of ordinary object files. For a static library, the actual code is extracted from the library by the linker and used to build the final executable at the point you compile/build your application.<br />
Steps:<br />
1.Creates .c file, that contains functions in your library and application.<br />
2.Create object file.eg<br />
    gcc -c add.c -o add.o<br />
                  //-c means to create an intermediary object file, rather than an executable.<br />
3.Create static library.This step is to bundle multiple object files in one static library.<br />
    ar rcs libststlib.a add.o sub.o<br />
                 //r means to insert with replacement, c means to create a new archive,<br />
                                           and s means to write an index.<br />
NOTE: A static library must start with &#8216;lib&#8217; and have the suffix &#8216;.a&#8217;.<br />
4.Making Executable and linking with library.<br />
    gcc -o operation operation.o -L. -lststlib<br />
Note: -L. is used to tell that the static library is in current folder or you can provide the path too.<br />
      -l searches for the library named <em>library</em> at the time of linking. Linker searches and processes libraries and object files in the order they are specified.<br />
5. Run the program.</p>
<p>Note:<br />
1.You can see the list of object files in your library using<br />
    ar -t libststlib.a<br />
2.ar is archive is single file holding a collection of other files.<br />
<a href="http://www.emblogic.com/blog/wp-content/uploads/2014/11/Screenshot-from-2014-11-11-04_20_321.png"><img src="http://www.emblogic.com/blog/wp-content/uploads/2014/11/Screenshot-from-2014-11-11-04_20_321-300x169.png" alt="Screenshot from 2014-11-11 04_20_32" width="300" height="169" class="alignnone size-medium wp-image-11755" /></a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/11/creating-static-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IEEE 1284 device driver for 74LS244 parallel port- Compatibility mode</title>
		<link>https://www.emblogic.com/blog/11/ieee-1284-device-driver-for-74ls244-parallel-port-compatibility-node/</link>
		<comments>https://www.emblogic.com/blog/11/ieee-1284-device-driver-for-74ls244-parallel-port-compatibility-node/#comments</comments>
		<pubDate>Mon, 10 Nov 2014 04:54:41 +0000</pubDate>
		<dc:creator><![CDATA[Pooja Gaur]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11750</guid>
		<description><![CDATA[Implementing read and write operations for Compatibility mode.In compatibility mode , the data is sent character by character on a hardware which consists of 8 led. It is tested by sending data on LEDs connected on a hardware. RCS file: &#8230; <a href="https://www.emblogic.com/blog/11/ieee-1284-device-driver-for-74ls244-parallel-port-compatibility-node/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Implementing read and write operations for Compatibility mode.In compatibility mode , the data is sent character by character on a hardware which consists of 8 led. It is tested by sending data on LEDs connected on a hardware.</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
add linux/ioport.h<br />
add asm/io.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2014/11/06 12:47:01;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: declaration.h,v<br />
Working file: declaration.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
This is DECLATAION file<br />
all the function prototypes,declared in this file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2014/11/06 12:47:01;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_operation.h,v<br />
Working file: file_operation.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
this file contains the mapping of devwrite file to write called from application<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2014/11/06 12:47:01;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: devopen.c,v<br />
Working file: devopen.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2014/11/06 12:47:01;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: driver.c,v<br />
Working file: driver.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
this file contains the initialization of module<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2014/11/06 12:50:22;  author: root;  state: Exp;  lines: +1 -0<br />
check if region is free i.e. at address 0&#215;378<br />
if not free, request for region<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/06 12:47:01;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: devwrite.c,v<br />
Working file: devwrite.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
allocate region for scull in memory, and store data write from application in quantum of scull<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2014/11/06 12:55:39;  author: root;  state: Exp;  lines: +2 -2<br />
Initially reset data lines by outb(0&#215;00)<br />
character sent in loop at interval of 5 sec<br />
character are write in quantum from application, and in each loop one character is outb<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/06 12:47:01;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: removedriver.c,v<br />
Working file: removedriver.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
this file contains exit module when driver is removed<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2014/11/06 12:52:36;  author: root;  state: Exp;  lines: +1 -0<br />
region is released when driver is removed<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/06 12:47:01;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/11/ieee-1284-device-driver-for-74ls244-parallel-port-compatibility-node/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Difference between Hardlink &amp; Softlink/Symbolic link</title>
		<link>https://www.emblogic.com/blog/11/difference-between-hardlink-softlinksymbolic-link/</link>
		<comments>https://www.emblogic.com/blog/11/difference-between-hardlink-softlinksymbolic-link/#comments</comments>
		<pubDate>Mon, 03 Nov 2014 07:27:20 +0000</pubDate>
		<dc:creator><![CDATA[Pooja Gaur]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11653</guid>
		<description><![CDATA[Hard link is a directory reference or pointer to a file. Hardlink is a label stored in a directory structure that refers the operating system to the file data when it is accessed. Symbolic links are automatically resolved by the &#8230; <a href="https://www.emblogic.com/blog/11/difference-between-hardlink-softlinksymbolic-link/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Hard link is a directory reference or pointer to a file. Hardlink is a label stored in a directory structure that refers the operating system to the file data when it is accessed.<br />
Symbolic links are automatically resolved by the file system. Any software programs, upon accessing a symbolic link, will see the target instead, whether the program is aware of symbolic links or not. symlinks are like shortcuts.<br />
Difference:<br />
Hardlink creates the file with same inode number,size, &amp; file permission of original file whereas Softlink creates the file with diferent inode number, size, &amp; file permissions<br />
when original file deleted, hardlink file still remain same but softlink file contents will lost.</p>
<p><a href="http://www.emblogic.com/blog/wp-content/uploads/2014/11/new.png"><img src="http://www.emblogic.com/blog/wp-content/uploads/2014/11/new-300x225.png" alt="new" width="300" height="225" class="alignnone size-medium wp-image-11661" /></a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/11/difference-between-hardlink-softlinksymbolic-link/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Program of concatenate 2 string without strcat</title>
		<link>https://www.emblogic.com/blog/05/program-of-concatenate-2-string-without-strcat/</link>
		<comments>https://www.emblogic.com/blog/05/program-of-concatenate-2-string-without-strcat/#comments</comments>
		<pubDate>Mon, 12 May 2014 08:17:39 +0000</pubDate>
		<dc:creator><![CDATA[Pooja Gaur]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=10025</guid>
		<description><![CDATA[RCS file: fun_3.c,v Working file: fun_3.c head: branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 0 description: Program to concatenate two strings without strcat =============================================================================]]></description>
				<content:encoded><![CDATA[<p>RCS file: fun_3.c,v<br />
Working file: fun_3.c<br />
head:<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 0<br />
description:<br />
Program to concatenate two strings without strcat<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/05/program-of-concatenate-2-string-without-strcat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
