<?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; harveen.kaur</title>
	<atom:link href="https://www.emblogic.com/blog/author/harveen-kaur/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>CHARACTER DRIVER</title>
		<link>https://www.emblogic.com/blog/05/character-driver-31/</link>
		<comments>https://www.emblogic.com/blog/05/character-driver-31/#comments</comments>
		<pubDate>Mon, 12 May 2014 12:01:26 +0000</pubDate>
		<dc:creator><![CDATA[harveen.kaur]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=10051</guid>
		<description><![CDATA[RCS file: cleanup.c,v Working file: cleanup.c head: 1.3 branch: locks: strict root: 1.3 access list: symbolic names: keyword substitution: kv total revisions: 3;     selected revisions: 3 description: unregister_chrdev to unregister the device free the memory that is allocated to device &#8230; <a href="https://www.emblogic.com/blog/05/character-driver-31/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: cleanup.c,v<br />
Working file: cleanup.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 />
unregister_chrdev to unregister the device<br />
free the memory that is allocated to device by kfree<br />
print no of node that is no of devices<br />
cdev_del to delete something<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3    locked by: root;<br />
date: 2014/05/08 10:09:08;  author: root;  state: Exp;  lines: +0 -2<br />
same can done in clanup function if number of nodes are more in number<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/05/08 10:05:50;  author: root;  state: Exp;  lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/05/08 10:00:06;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: cleanup.c,v<br />
Working file: cleanup.c<br />
head: 1.3<br />
branch:<br />
&#8220;logcleanup&#8221; 58L, 1784C                                                                                                            32,1          Top<br />
///////////////////////////////////////////////////////////////////////////////////////////////////////</p>
<p>CS file: init.c,v<br />
Working file: init.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 />
alloc_chrdev is done for registring the device<br />
kmalloc is done to allocate memory to device<br />
then memset is done<br />
before kmalloc print major and minor no that are present in dev<br />
now initilization is done means kernel provide memory<br />
cdev_add is done to add on something<br />
now again print major and minor no that are nor present in c_dev which is within struct sculldev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2    locked by: root;<br />
date: 2014/05/08 10:06:58;  author: root;  state: Exp;  lines: +2 -3<br />
if number of devices are more in number then use for loop<br />
module_param is used to pass command line arguments that is number of nodes is passed by user on the shell<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/05/08 10:00:06;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: init.c,v<br />
Working file: init.c<br />
head: 1.2<br />
branch:<br />
&#8220;loginit&#8221; 58L, 2084C                                                                                                               1,0-1         Top<br />
////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>
<p>RCS file: dec.h,v<br />
Working file: dec.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 />
we extern node number<br />
dev_t dev<br />
struct sculldev *sculldev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2014/05/08 10:00:06;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dec.h,v<br />
Working file: dec.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 />
we extern node number<br />
dev_t dev</p>
<p>struct sculldev *sculldev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2014/05/08 10:00:06;  author: root;  state: Exp;<br />
Initial revision<br />
========================////////////////////////////////////////////////////////////</p>
<p>RCS file: file_op.h,v<br />
Working file: file_op.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 />
struct file_opeartion is created where mapping of open and release functon is done<br />
include this in init functin<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2014/05/08 10:20:54;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_op.h,v<br />
Working file: file_op.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 />
struct file_opeartion is created where mapping of open and release functon is done<br />
include this in init functin<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
//////////////////////////////////////////////////////</p>
<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 />
include header files that are needed in this program<br />
struct sculldev structure is included here<br />
that include c_dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2    locked by: root;<br />
date: 2014/05/08 10:20:29;  author: root;  state: Exp;  lines: +1 -0<br />
defination of scullopen and scullrelease is given here<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/05/08 10:00:06;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<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 />
1,0-1         Top<br />
total revisions: 2;     selected revisions: 2<br />
description:<br />
include header files that are needed in this program<br />
struct sculldev structure is included here<br />
that include c_dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2    locked by: root;<br />
date: 2014/05/08 10:20:29;  author: root;  state: Exp;  lines: +1 -0<br />
defination of scullopen</p>
<p>////////////////////////////////////////////////////////</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/05/character-driver-31/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>shell script using while loop</title>
		<link>https://www.emblogic.com/blog/04/shell-script-using-while-loop/</link>
		<comments>https://www.emblogic.com/blog/04/shell-script-using-while-loop/#comments</comments>
		<pubDate>Tue, 15 Apr 2014 07:00:20 +0000</pubDate>
		<dc:creator><![CDATA[harveen.kaur]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=9798</guid>
		<description><![CDATA[2 RCS file: shel4,v 3 Working file: shel4 4 head: 1.1 5 branch: 6 locks: strict 7         root: 1.1 8 access list: 9 symbolic names: 10 keyword substitution: kv 11 total revisions: 1;     selected revisions: 1 12 description: 13 program &#8230; <a href="https://www.emblogic.com/blog/04/shell-script-using-while-loop/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>2 RCS file: shel4,v<br />
3 Working file: shel4<br />
4 head: 1.1<br />
5 branch:<br />
6 locks: strict<br />
7         root: 1.1<br />
8 access list:<br />
9 symbolic names:<br />
10 keyword substitution: kv<br />
11 total revisions: 1;     selected revisions: 1<br />
12 description:<br />
13 program of shell script using while loop<br />
14 used to print *<br />
15 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
16 revision 1.1    locked by: root;<br />
17 date: 2014/04/15 12:33:54;  author: root;  state: Exp;<br />
18 Initial revision<br />
19 ============================================================================    =<br />
20<br />
21 RCS file: shel4,v<br />
22 Working file: shel4<br />
&#8220;shell&#8221; 38L, 914C                                             1,0-1         Top<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/shell-script-using-while-loop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SHELL SCRIPTING</title>
		<link>https://www.emblogic.com/blog/04/shell-scripting-3/</link>
		<comments>https://www.emblogic.com/blog/04/shell-scripting-3/#comments</comments>
		<pubDate>Tue, 15 Apr 2014 06:10:52 +0000</pubDate>
		<dc:creator><![CDATA[harveen.kaur]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=9791</guid>
		<description><![CDATA[shell script is powerful and easy to use programming language. They are used for doing multiple jobs at a time. In shell script memory allocation is done on interpreter in the form of byte. shell script are interpreted not complied. &#8230; <a href="https://www.emblogic.com/blog/04/shell-scripting-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>shell script is powerful and easy to use programming language. They are used for doing multiple jobs at a time. In shell script memory allocation is done on interpreter in the form of byte. shell script are interpreted not complied. shell read commands from the script and search those command in the system . complier convert program into machine readable form</p>
<p>shell is a program that takes command typed by the user and calls operating system to run those commands. Commonly used commands in shell script are&#8212;</p>
<p>1. unset &#8212;-used to delete variable</p>
<p>2. echo&#8212;&#8212;used for printing</p>
<p>3. read&#8212;&#8212;preform the function of scanf</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/shell-scripting-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>THREADS(using array)</title>
		<link>https://www.emblogic.com/blog/03/threadsusing-array/</link>
		<comments>https://www.emblogic.com/blog/03/threadsusing-array/#comments</comments>
		<pubDate>Fri, 28 Mar 2014 07:57:12 +0000</pubDate>
		<dc:creator><![CDATA[harveen.kaur]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=9594</guid>
		<description><![CDATA[RCS file: thread1.c,v 3 Working file: thread1.c 4 head: 1.1 5 branch: 6 locks: strict 7         root: 1.1 8 access list: 9 symbolic names: 10 keyword substitution: kv 11 total revisions: 1;     selected revisions: 1 12 description: 13 program of &#8230; <a href="https://www.emblogic.com/blog/03/threadsusing-array/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: thread1.c,v<br />
3 Working file: thread1.c<br />
4 head: 1.1<br />
5 branch:<br />
6 locks: strict<br />
7         root: 1.1<br />
8 access list:<br />
9 symbolic names:<br />
10 keyword substitution: kv<br />
11 total revisions: 1;     selected revisions: 1<br />
12 description:<br />
13 program of threads<br />
14 array is created<br />
15 using for loop thread is created 10 times<br />
16 it run sucessfully<br />
17 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
18 revision 1.1    locked by: root;<br />
19 date: 2014/03/28 13:32:33;  author: root;  state: Exp;<br />
20 Initial revision<br />
21 =============================================================================<br />
~<br />
~<br />
~<br />
~<br />
~<br />
~</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/threadsusing-array/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MESSAGE QUEUES</title>
		<link>https://www.emblogic.com/blog/03/message-queues-6/</link>
		<comments>https://www.emblogic.com/blog/03/message-queues-6/#comments</comments>
		<pubDate>Wed, 26 Mar 2014 04:17:06 +0000</pubDate>
		<dc:creator><![CDATA[harveen.kaur]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=9346</guid>
		<description><![CDATA[MESSAGE QUEUES message queues are like pipes, only difference is that in pipes data go byte by byte. but in message queues ,message go block by block. message queues use user free space. message have 2 parts&#8212; 1. contol 2.data &#8230; <a href="https://www.emblogic.com/blog/03/message-queues-6/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>MESSAGE QUEUES<br />
message queues are like pipes, only difference is that in pipes data go byte by byte. but in message queues ,message go block by block.<br />
message queues use user free space.<br />
message have 2 parts&#8212;<br />
1. contol<br />
2.data</p>
<p>BLOCK  is define as-<br />
struct_msg<br />
{<br />
unsigned long type;<br />
char *payload;<br />
};<br />
where type is process pid<br />
payload is message.<br />
In message queues, both sender and receiver are independent of each other.<br />
MSGMAX&#8212;&#8212;-maximum size of payload<br />
MSGMNB&#8212;&#8212;-maximum number of blocks</p>
<p>1. msgget&#8211;<br />
int msgget(key_t key,int msgflg);<br />
2. msgctl&#8212;-<br />
int msgctl(int msqid,<br />
                 int command,<br />
                 struct msqid_ds *buf);<br />
commands are&#8212;&#8212;<br />
   IPC_STAT&#8212;structure initialized<br />
   IPC_SET&#8212;-assigne value to message queqe<br />
   IPC_RMID&#8212;delete message queue<br />
3. msgsend<br />
int msgsend( int msqid,<br />
                    const void *msg_ptr,<br />
                    size_t msg_sz,<br />
                    int msgflg,);</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/message-queues-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>STRUCTURES</title>
		<link>https://www.emblogic.com/blog/03/structures-2/</link>
		<comments>https://www.emblogic.com/blog/03/structures-2/#comments</comments>
		<pubDate>Mon, 03 Mar 2014 08:37:59 +0000</pubDate>
		<dc:creator><![CDATA[harveen.kaur]]></dc:creator>
				<category><![CDATA[Project 2: Multiple Data Compression and Encryption]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=8854</guid>
		<description><![CDATA[STRUCTURES is basically a user define datatype. it is a collection of elements of different datatype stored in continues memory location. SYNTAX: struct name { type element; type element; }; struct name variable; where struct is a keyword. name is &#8230; <a href="https://www.emblogic.com/blog/03/structures-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>STRUCTURES is basically a user define datatype. it is a collection of elements of different datatype stored in continues memory location.<br />
SYNTAX:<br />
struct name<br />
{<br />
type element;<br />
type element;<br />
};<br />
struct name variable;</p>
<p>where struct is a keyword.<br />
name is a name of user define data type.<br />
struct name variable is used to define variable globally.<br />
EXAMPLE:<br />
struct distance<br />
{<br />
int feet;<br />
float inches;<br />
};<br />
struct distance d;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/structures-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
