<?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; admin</title>
	<atom:link href="https://www.emblogic.com/blog/author/admin/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>Pointers</title>
		<link>https://www.emblogic.com/blog/04/pointers-7/</link>
		<comments>https://www.emblogic.com/blog/04/pointers-7/#comments</comments>
		<pubDate>Thu, 09 Apr 2015 13:15:46 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Data Structures with C]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12551</guid>
		<description><![CDATA[Pointers Pointers are just variables like any other variables we declare, the only difference is that, the so called normal variables store some sort of data like an integer,a character,a floating point number, on the other hand a pointer stores &#8230; <a href="https://www.emblogic.com/blog/04/pointers-7/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p style="margin-bottom: 0in;"><span style="font-size: xx-large;"><b>Pointers</b></span></p>
<p style="margin-bottom: 0in; font-weight: normal;">
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">Pointers are just variables like any other variables we declare, the only difference is that, the so called normal variables store some sort of data like an integer,a character,a floating point number, on the other hand a pointer stores a logical address belonging to the data or stack segment (at which some data is stored or is to be stored).</span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">A pointer provides us the ability to access and modify data from anywhere. Pointers allow faster access to memory. </span></p>
<p style="margin-bottom: 0in; font-weight: normal;">
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">Pointer declaration:</span></p>
<p style="margin-bottom: 0in; font-weight: normal;">
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">The &#8216;*&#8217; operator is used to declare a pointer for e.g. int *ptr or char *ptr</span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">In the former case ptr is a pointer which would hold the memory location of an integer similarly in the latter ptr is a pointer which would store the memory location of a character. Its important to note that the datatype preceding the identifier is not the datatype of the identifier its the datatype of the value that would be stored or is already present at the location ptr is pointing to.</span></p>
<p style="margin-bottom: 0in; font-weight: normal;">
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">Pointer Initialization:</span></p>
<p style="margin-bottom: 0in; font-weight: normal;">
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">Its important to remember that a pointer when declared does not store a valid logical address, rather it holds a garbage value and such pointers are called wild pointers and are very dangerous as they may be pointing to a location where some data is already stored and you might end up overwriting it. So its essential to give a valid address to the pointer (You shouldn&#8217;t worry too much about this as the compiler would give you a segmentation fault at run time if you try to access a wild pointer, but its a good habit to initialize the pointer as soon as you declare it).</span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">There are many ways to initialize a pointer:</span></p>
<ul>
<li>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">Suppose you declare a pointer which points to an integer value, like </span></p>
</li>
</ul>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> int *ptr, now this pointer doesn&#8217;t have a valid address. We can use the </span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> address of another variable and assign this address to our pointer like</span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> int variable1;</span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> ptr = &amp;variable1;</span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> &#8216;&amp;&#8217; ampersand is used to get memory location of the integer variable. </span></p>
<ul>
<li>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">Another way is dynamic memory allocation. In this technique pointer is </span></p>
<p style="margin-bottom: 0in;"><span style="font-size: large;"><span style="font-weight: normal;">assigned a valid address at run time from the heap segment. This is the best way to assign addresses to pointers as it gives us the flexibility of deciding the amount of memory we want our pointer to access and the type of data we will store in the block of memory. Dynamic allocation of memory is done using malloc(), calloc(),and realloc() system calls.</span></span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">For e.g. lets assign an address to ptr </span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">ptr = (int*)malloc(sizeof(int) * 10);</span></p>
</li>
</ul>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> Here, we type cast malloc to tell the compiler that we want a memory block</span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> that stores integers and we use the sizeof() function to find the size of &#8216;int&#8217; in </span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> our system and multiply it by the no. of integers we want to store in this </span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">block.</span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> ptr would store the starting address of this block of memory.</span></p>
<ul>
<li>
<p style="margin-bottom: 0in;"><span style="font-size: large;">This last method is specific to character arrays</span></p>
<p style="margin-bottom: 0in;"><span style="font-size: large;">for e.g. char *ptr = “Hello world”</span></p>
<p style="margin-bottom: 0in;"><span style="font-size: large;">&#8216;ptr&#8217; is a pointer which would store the address at which a character is to be stored. In our e.g. ptr would hold the address at which &#8216;H&#8217; is stored using this </span></p>
<p style="margin-bottom: 0in;"><span style="font-size: large;">address we access the entire string. Note that the string will be automatically terminated by &#8216;\0&#8242;. </span></p>
</li>
</ul>
<p style="margin-bottom: 0in; font-weight: normal;">
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">Reading Complicated Pointer Declarations:</span></p>
<p style="margin-bottom: 0in; font-weight: normal;">
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> We&#8217;ll use an e.g. to understand how we should interpret complicated pointer </span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> declarations.</span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> int*(*(*ptr[]) () )[] </span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> We should start from the identifier(and the innermost brace) and move right</span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;">then left until we reach </span></p>
<p style="margin-bottom: 0in; font-weight: normal;"><span style="font-size: large;"> end brace so we start from ptr:</span></p>
<ul>
<li>
<p style="margin-bottom: 0in;"><span style="font-size: large;">ptr is the identifier we can straight away conclude that ptr is an array</span></p>
<p style="margin-bottom: 0in;"><span style="font-size: large;">(on moving right) of (on moving left)pointers, after square brackets the innermost braces close. So we&#8217;re at *ptr[] </span></p>
</li>
<li>
<p style="margin-bottom: 0in;"><span style="font-size: large;">Next on moving right ptr is an array of pointers to a function (then moving left) that returns pointer. At this point we&#8217;re at</span></p>
<p style="margin-bottom: 0in;"><span style="font-size: large;">(int*(*ptr[])() )</span></p>
</li>
<li>
<p style="margin-bottom: 0in;"><span style="font-size: large;">Finally the outermost braces ptr is an array of pointers to a function returning pointer to (on moving right) an array of integer pointers(on moving left). </span></p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/pointers-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Character Device Driver</title>
		<link>https://www.emblogic.com/blog/10/character-device-driver-3/</link>
		<comments>https://www.emblogic.com/blog/10/character-device-driver-3/#comments</comments>
		<pubDate>Thu, 31 Oct 2013 07:42:59 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7414</guid>
		<description><![CDATA[RCS file: header.h,v Working file: header.h head: 1.10 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 10; selected revisions: 10 description: This is the base module. ---------------------------- revision 1.10 date: 2013/10/31 07:36:18; author: Emblogic; state: Exp; &#8230; <a href="https://www.emblogic.com/blog/10/character-device-driver-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<pre>RCS file: header.h,v
Working file: header.h
head: 1.10
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 10;	selected revisions: 10
description:
This is the base module.
----------------------------
revision 1.10
date: 2013/10/31 07:36:18;  author: Emblogic;  state: Exp;  lines: +24 -0
defined macros DEV_SIZE, DATA_SIZE, QSET_SIZE, QUANTUM_SIZE and the corresponding variables.
defined the corresponding elements of the scull too.
----------------------------
revision 1.9
date: 2013/10/31 07:10:53;  author: Emblogic;  state: Exp;  lines: +1 -1
*** empty log message ***
----------------------------
revision 1.8
date: 2013/10/31 07:10:07;  author: Emblogic;  state: Exp;  lines: +1 -0
Included file slab.h
----------------------------
revision 1.7
date: 2013/10/31 07:04:42;  author: Emblogic;  state: Exp;  lines: +16 -2
added struct file_operations
includec cdev.h
defined struct ScullDev anf struct ScullQset
----------------------------
revision 1.6
date: 2013/10/31 06:39:50;  author: Emblogic;  state: Exp;  lines: +8 -1
defined macro MINORNO
defined variable minorno and assigned to MINORNO.
removen struct file_operations.
----------------------------
revision 1.5
date: 2013/10/31 06:25:17;  author: Emblogic;  state: Exp;  lines: +1 -0
included the file fs.h
----------------------------
revision 1.4
date: 2013/10/31 06:20:58;  author: Emblogic;  state: Exp;  lines: +12 -0
defined macros like MAJORNO, DEVNAME.
defined struct file_operations.
----------------------------
revision 1.3
date: 2013/10/29 07:34:51;  author: root;  state: Exp;  lines: +6 -0
Included moduleparam.h
declared the macro NOD and variable nod.
Assigned nod = NOD.
----------------------------
revision 1.2
date: 2013/10/28 07:33:00;  author: Emblogic;  state: Exp;  lines: +6 -0
Defined macros:
MODULE_DESCRIPTION() and MODULE_AUTHOR()
Also defined Macro DEBUG for printk's.
----------------------------
revision 1.1
date: 2013/10/28 07:29:36;  author: Emblogic;  state: Exp;
Initial revision
=============================================================================</pre>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/10/character-device-driver-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Log file for Character Device Driver</title>
		<link>https://www.emblogic.com/blog/10/log-file-for-character-device-driver/</link>
		<comments>https://www.emblogic.com/blog/10/log-file-for-character-device-driver/#comments</comments>
		<pubDate>Mon, 21 Oct 2013 10:42:59 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7385</guid>
		<description><![CDATA[RCS file: header.h,v Working file: header.h head: 1.11 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 11; selected revisions: 11 description: This is the header for the base module. ---------------------------- revision 1.11 date: 2013/10/21 10:35:24; author: &#8230; <a href="https://www.emblogic.com/blog/10/log-file-for-character-device-driver/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<pre>RCS file: header.h,v
Working file: header.h
head: 1.11
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 11;	selected revisions: 11
description:
This is the header for the base module.
----------------------------
revision 1.11
date: 2013/10/21 10:35:24;  author: root;  state: Exp;  lines: +4 -1
Mapped the system calls open() and release() to corresponding driver routines scull_open() and scull_release().
----------------------------
revision 1.10
date: 2013/10/21 10:31:46;  author: root;  state: Exp;  lines: +3 -0
Gave Prototypes for scull_open() and scull_release().
----------------------------
revision 1.9
date: 2013/10/21 09:28:04;  author: root;  state: Exp;  lines: +4 -2
included cdev.h
declared file_operations structure.
declared struct cdev inside struct ScullDev.
----------------------------
revision 1.8
date: 2013/10/21 09:01:57;  author: root;  state: Exp;  lines: +2 -2
*** empty log message ***
----------------------------
revision 1.7
date: 2013/10/21 08:55:36;  author: root;  state: Exp;  lines: +13 -0
Included slab.h
defined Struct ScullDev and Struct ScullQset.
----------------------------
revision 1.6
date: 2013/10/18 08:28:56;  author: root;  state: Exp;  lines: +8 -1
defined a macro MINORNO
defined variable dev.
commented strust file_operations.
----------------------------
revision 1.5
date: 2013/10/18 08:12:07;  author: root;  state: Exp;  lines: +13 -0
Included fs.h
defined macros like DEVNAME, MAJORNO.
defined struct file_operations.
----------------------------
revision 1.4
date: 2013/10/18 07:56:13;  author: root;  state: Exp;  lines: +1 -0
Included moduleparam.h
----------------------------
revision 1.3
date: 2013/10/18 07:55:28;  author: root;  state: Exp;  lines: +7 -0
Added Module_Descriotion() macro.
----------------------------
revision 1.2
date: 2013/10/17 08:08:56;  author: root;  state: Exp;  lines: +1 -0
Added MODULE_AUTHOR
----------------------------
revision 1.1
date: 2013/10/17 07:52:39;  author: root;  state: Exp;
Initial revision
=============================================================================</pre>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/10/log-file-for-character-device-driver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jackpot &#8211; 2</title>
		<link>https://www.emblogic.com/blog/06/jackpot-2/</link>
		<comments>https://www.emblogic.com/blog/06/jackpot-2/#comments</comments>
		<pubDate>Sat, 15 Jun 2013 10:30:13 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Jackpot]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=6537</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.emblogic.com/blog/06/jackpot-2/jackpot1/" rel="attachment wp-att-6538"><img class="alignright size-full wp-image-6538" title="jackpot1" src="http://www.emblogic.com/blog/wp-content/uploads/2013/06/jackpot1.jpg" alt="" width="290" height="244" /></a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/06/jackpot-2/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Linux</title>
		<link>https://www.emblogic.com/blog/03/linux-3/</link>
		<comments>https://www.emblogic.com/blog/03/linux-3/#comments</comments>
		<pubDate>Thu, 07 Mar 2013 08:15:57 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Project 1: A Linux Administration based Project]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=6283</guid>
		<description><![CDATA[Open source operating system]]></description>
				<content:encoded><![CDATA[<p>Open source operating system</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/linux-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project 6: Client Server using Inter-process Communication Mechanism</title>
		<link>https://www.emblogic.com/blog/10/project-6-client-server-using-inter-process-communication-mechanism/</link>
		<comments>https://www.emblogic.com/blog/10/project-6-client-server-using-inter-process-communication-mechanism/#comments</comments>
		<pubDate>Tue, 02 Oct 2012 14:18:47 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Project 6: Client Server using Inter Process Communication Mechanism]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=5445</guid>
		<description><![CDATA[Inter Process Communication based Project. Please send your queries here <a href="https://www.emblogic.com/blog/10/project-6-client-server-using-inter-process-communication-mechanism/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The purpose of this discussion is to get the participants familiar with the <a href="http://emblogic.org/blog/10/project-6-client-server-using-inter-process-communication-mechanism/ipc-4/" rel="attachment wp-att-5446"><img class="alignright size-medium wp-image-5446" title="ipc" src="http://emblogic.org/blog/wp-content/uploads/2012/10/ipc1-300x164.jpg" alt="" width="300" height="164" /></a>different mechanisms that are available for communicating between two or more processes.  Inter-Process Communication, which in short is known as IPC, deals mainly with the techniques and mechanisms that facilitate communication between processes. Now, why do we need special separate mechanisms or techniques for communicating between processes? Why isn&#8217;t it possible to have information shared between two processes without using such special mechanisms?</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/10/project-6-client-server-using-inter-process-communication-mechanism/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Project 2: Multiple Data Compression and Encryption using Iterative Technique</title>
		<link>https://www.emblogic.com/blog/10/project-2-multiple-data-compression-and-encryption-using-iterative-technique/</link>
		<comments>https://www.emblogic.com/blog/10/project-2-multiple-data-compression-and-encryption-using-iterative-technique/#comments</comments>
		<pubDate>Tue, 02 Oct 2012 13:59:09 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Project 2: Multiple Data Compression and Encryption]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=5430</guid>
		<description><![CDATA[In computer science and information theory, data compression, source coding,[1] or bit-rate reduction involves encoding information using fewer bits than the original representation. Compression can be either be lossy or lossless. Lossless compression reduces bits by identifying and eliminating statistical &#8230; <a href="https://www.emblogic.com/blog/10/project-2-multiple-data-compression-and-encryption-using-iterative-technique/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In computer science and information theory, <strong>data compression</strong>, <strong>source coding</strong>,<sup id="cite_ref-0">[1]</sup> or <strong>bit-rate reduction</strong> involves encoding information using fewer bits than the original representation. Compression can be either be lossy or lossless. Lossless compression reduces bits by identifying and eliminating statistical redundancy. No information is lost in lossless compression. Lossy compression reduces bits by identifying marginally important information and removing it. The process of reducing the size of a data file is popularly referred to as data compression, although its formal name is source coding (coding done at the source of the data, before it is stored or transmitted).</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/10/project-2-multiple-data-compression-and-encryption-using-iterative-technique/feed/</wfw:commentRss>
		<slash:comments>260</slash:comments>
		</item>
		<item>
		<title>Project 00: Linux System Administration</title>
		<link>https://www.emblogic.com/blog/09/project-1-linux-system-administration/</link>
		<comments>https://www.emblogic.com/blog/09/project-1-linux-system-administration/#comments</comments>
		<pubDate>Mon, 10 Sep 2012 10:19:27 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Project 1: A Linux Administration based Project]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=5250</guid>
		<description><![CDATA[Discussions and Queries are invited for this project 1 <a href="https://www.emblogic.com/blog/09/project-1-linux-system-administration/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>A system administrator, IT systems administrator, systems administrator, or sysadmin is a person employed to maintain and operate a computer system and/or network. System administrators may be members of an information technology (IT) or Electronics and Communication Engineering department.<img class="alignright" title="Linus System Admin" src="http://www.emblogic.com//static/upload/images/1344425727-lsa.png" alt="" width="404" height="327" /></p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/project-1-linux-system-administration/feed/</wfw:commentRss>
		<slash:comments>376</slash:comments>
		</item>
		<item>
		<title>Embedded Linux</title>
		<link>https://www.emblogic.com/blog/08/embedded-linux/</link>
		<comments>https://www.emblogic.com/blog/08/embedded-linux/#comments</comments>
		<pubDate>Sat, 04 Aug 2012 04:43:53 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Embedded Linux]]></category>
		<category><![CDATA[USB Driver]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=4392</guid>
		<description><![CDATA[Embedded Linux refers to a complete system, or in the context of an embedded Linux vendor, to a distribution targeted at embedded devices. Although the term “embedded” is often also used in kernel discussions, there is no special form of &#8230; <a href="https://www.emblogic.com/blog/08/embedded-linux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: Bitstream Charter,serif;"><span style="font-size: medium;">Embedded Linux refers to a complete system, or in the context of an embedded Linux vendor, to a distribution targeted at embedded devices.</span></span></span></p>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: Bitstream Charter,serif;"><span style="font-size: medium;">Although the term “embedded” is often also used in kernel discussions, there is no special form of the Linux kernel targeted at embedded applications. Instead, the same Linux kernel source code is intended to be built for the widest range of devices, workstations, and servers imaginable, although obviously it is possible to configure a variety of optional features according to the intended use of the kernel.</span></span></span></p>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: Bitstream Charter,serif;"><span style="font-size: medium;">In the context of embedded development, you will typically encounter embedded Linux systems—devices that use the Linux kernel and a variety of other software—and embedded Linux distributions—a prepackaged set of applications tailored for embedded systems and development tools to build a complete system. It is the latter that you are paying for when you go to an embedded Linux vendor. They provide development tools such as cross-compilers, debuggers, project management software, boot image builders, and so on. A growing number of vendors have chosen to integrate much of this functionality into customized plug-ins for their own versions of the community developed Eclipse graphical IDE framework.</span></span></span></p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/embedded-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Embedded Controllers</title>
		<link>https://www.emblogic.com/blog/03/embedded-controllers/</link>
		<comments>https://www.emblogic.com/blog/03/embedded-controllers/#comments</comments>
		<pubDate>Thu, 01 Mar 2012 19:09:40 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Embedded Controllers]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=2037</guid>
		<description><![CDATA[An Embedded Controller is simply a device that performs Embedded Controlles. The embedded market is a part of the overall DAQ market. The main differentiating feature of an embedded controller is that all system operation is not controlled by external PC. &#8230; <a href="https://www.emblogic.com/blog/03/embedded-controllers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p title="Embedded Control and Data Acquisition (DAQ)">An Embedded Controller is simply a device that performs Embedded Controlles. The embedded market is a part of the overall DAQ market. The main differentiating feature of an embedded controller is that all system operation is not controlled by external PC. In fact the CPU running the system is actually built into the I/O system itself. While a typical, slaved data acquisition system is hosted by some type of general purpose Personal Computer complete with mouse, monitor and other human interface devices (HID), an Embedded Controller&#8217;s processor is usually dedicated to controlling the I/O system and often does not provide any direct human interface.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/embedded-controllers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fork</title>
		<link>https://www.emblogic.com/blog/07/fork/</link>
		<comments>https://www.emblogic.com/blog/07/fork/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 19:27:35 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Linux Internals and System Programming]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=19</guid>
		<description><![CDATA[pid_t fork(void); fork()  creates  a new process by duplicating the calling process.  The new process, referred to as the child, is an  exact  duplicate  of  the calling  process,  referred  to as the parent, except for the following points: The child &#8230; <a href="https://www.emblogic.com/blog/07/fork/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>pid_t fork(void);</p>
<p>fork()  creates  a new process by duplicating the calling process.  The new process, referred to as the child, is an  exact  duplicate  of  the calling  process,  referred  to as the parent, except for the following points:</p>
<ul>
<li>The child has its own unique process ID, and this PID does not match the ID of any existing process group.</li>
<li>The  child’s  parent  process ID is the same as the parent’s processID.</li>
<li>The child does not inherit  its  parent’s  memory  locks.</li>
<li>Process  resource  utilizations and CPU time counters are reset to zero in the child.</li>
<li>The child’s set of pending  signals  is  initially  empty.</li>
<li>The  child  does  not  inherit semaphore adjustments from its parent.</li>
<li>The child does not inherit record locks from its parent.</li>
<li>The  child  does  not  inherit timers from its parent.</li>
<li>The child does not inherit outstanding asynchronous  I/O  operations from its parent.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/fork/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Data Compression</title>
		<link>https://www.emblogic.com/blog/07/data-compression/</link>
		<comments>https://www.emblogic.com/blog/07/data-compression/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 19:20:53 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Word from Admin]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=12</guid>
		<description><![CDATA[Multiple Data Compression and Encryption <a href="https://www.emblogic.com/blog/07/data-compression/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div id="attachment_13" style="width: 310px" class="wp-caption alignright"><a rel="attachment wp-att-13" href="http://emblogic.org/blog/?attachment_id=13"><img class="size-medium wp-image-13" title="data" src="http://emblogic.org/blog/wp-content/uploads/2010/07/data-300x270.jpg" alt="" width="300" height="270" /></a><p class="wp-caption-text">Compression</p></div>
<p>Data compression is often referred to as coding, where coding is a very general term encompassing any special representation of data which satisfies a given need.</p>
<p>A simple characterization of data compression is that it involves transforming a string of characters in some representation (such as ASCII) into a new string (of bits, for example) which contains the same information  but whose length is as small as possible.  Data compression has important application in the areas of data transmission and data storage.   Many data processing applications require storage of large volumes of data, and the number of such applications is constantly increasing as the use of computers extends to new disciplines.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/data-compression/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hello Embedded Wizards</title>
		<link>https://www.emblogic.com/blog/07/hello-world/</link>
		<comments>https://www.emblogic.com/blog/07/hello-world/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 18:51:42 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Word from Admin]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=1</guid>
		<description><![CDATA[this is the excript <a href="https://www.emblogic.com/blog/07/hello-world/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>This blog is designed for the latest updates necessary for the embedded enthusiasts.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/hello-world/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
