<?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; amit.verma</title>
	<atom:link href="https://www.emblogic.com/blog/author/amit-verma/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>problem in character driver &#8212;errors and warnings</title>
		<link>https://www.emblogic.com/blog/05/problem-in-character-driver-errors-and-warnings/</link>
		<comments>https://www.emblogic.com/blog/05/problem-in-character-driver-errors-and-warnings/#comments</comments>
		<pubDate>Wed, 30 May 2012 16:31:22 +0000</pubDate>
		<dc:creator><![CDATA[amit.verma]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=2984</guid>
		<description><![CDATA[these are the errors and warnings quoted by the kernel [root@averma nd1]# make make -C /lib/modules/2.6.38.8/build M=/home/amit/averma/drivers/nd1 modules make[1]: Entering directory `/usr/src/linux-2.6.38.8&#8242; CC [M] /home/amit/averma/drivers/nd1/lk.o /home/amit/averma/drivers/nd1/lk.c: In function ‘scull_open’: /home/amit/averma/drivers/nd1/lk.c:26:68: warning: initialization makes pointer from integer without a cast [enabled &#8230; <a href="https://www.emblogic.com/blog/05/problem-in-character-driver-errors-and-warnings/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>these are the errors and warnings quoted by the kernel </p>
<p>[root@averma nd1]# make<br />
make  -C /lib/modules/2.6.38.8/build M=/home/amit/averma/drivers/nd1 modules<br />
make[1]: Entering directory `/usr/src/linux-2.6.38.8&#8242;<br />
  CC [M]  /home/amit/averma/drivers/nd1/lk.o<br />
/home/amit/averma/drivers/nd1/lk.c: In function ‘scull_open’:<br />
/home/amit/averma/drivers/nd1/lk.c:26:68: warning: initialization makes pointer from integer without a cast [enabled by default]<br />
/home/amit/averma/drivers/nd1/lk.c: In function ‘hello_init’:<br />
/home/amit/averma/drivers/nd1/lk.c:23:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]<br />
  Building modules, stage 2.<br />
  MODPOST 1 modules<br />
  CC      /home/amit/averma/drivers/nd1/lk.mod.o<br />
  LD [M]  /home/amit/averma/drivers/nd1/lk.ko<br />
make[1]: Leaving directory `/usr/src/linux-2.6.38.8&#8242;</p>
<p>the program is as follows:</p>
<p>#include&#8221;header.h&#8221;</p>
<p>/*static int scull_open(struct inode *inde,struct file *filep)<br />
{<br />
}*/<br />
struct scull_dev *re;<br />
static int hello_init(void)</p>
<p>        {</p>
<p>        ret = alloc_chrdev_region(&amp;dev,0,NOD,DEVICE_NAME); //device registeration<br />
        printk(KERN_INFO&#8221;device registered in kernel sucessfully\n&#8221;);<br />
        dev = MKDEV(major,minor);<br />
        printk(KERN_INFO&#8221;major no is : %d\n minorno is : %d\n&#8221;,major,minor);//device reg. done<br />
        re = (struct scull_dev*)kmalloc(sizeof(struct scull_dev)*100,GFP_KERNEL);<br />
        if(re == NULL)<br />
        {<br />
        printk(KERN_ERR&#8221;kmalloc: memory not allocated\n&#8221;);<br />
        }<br />
        printk(KERN_INFO&#8221;kamlloc : memory allocated\n&#8221;);<br />
        memset(re,&#8221;,sizeof(struct scull_dev));</p>
<p>        int scull_open(struct inod *inode,struct file *filp)<br />
                {<br />
                struct scull_dev *dev;<br />
                dev = container_of (inode-&gt;i_cdev,struct scull_dev,cdev);<br />
                filp-&gt;private_data=dev;<br />
                return 0;<br />
                }</p>
<p>        int scull_release(struct inode *inode,struct filep *filp)<br />
        {<br />
        return 0;<br />
        }<br />
        kfree(re);<br />
        return 0;<br />
        }</p>
<p>static void hello_exit(void)<br />
        {</p>
<p>        unregister_chrdev_region(dev,1);<br />
        printk(KERN_ALERT&#8221;bye kernel&#8221;);<br />
        }</p>
<p>module_init(hello_init);<br />
module_exit(hello_exit);</p>
<p>and the header file is:</p>
<p>#include<br />
#include<br />
#include<br />
#include<br />
#include<br />
#include</p>
<p>MODULE_LICENSE(&#8220;GPL&#8221;);</p>
<p>#define DEVICE_NAME &#8220;AVERMA&#8221;<br />
#define NOD 1</p>
<p>dev_t dev;<br />
int ret;<br />
int major;<br />
int minor;</p>
<p>//static int scull_open(struct inode *inode ,struct file *filp);<br />
//static int scull_release(struct inode *inode ,struct file *filp);</p>
<p>struct inod<br />
        {<br />
        dev_t i_rdev;<br />
        dev_t i_cdev;<br />
        };<br />
struct filep<br />
        {<br />
        struct file_operations *fops;<br />
        void *private_data;<br />
        };</p>
<p>struct c_dev<br />
        {<br />
        const struct file_operations *ops;<br />
        struct module * owner;<br />
        dev_t dev ;<br />
        unsigned int count;<br />
        };</p>
<p>struct scull_dev<br />
        {<br />
        struct cdev cdev;<br />
        struct scull_qset *data;<br />
        int quantum;<br />
        int qset;</p>
<p>        };</p>
<p>struct file_operations  fops=</p>
<p>        {<br />
//      .open   =scull_open,<br />
//      .release =scull_release,<br />
        };</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/05/problem-in-character-driver-errors-and-warnings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>array assignment problem</title>
		<link>https://www.emblogic.com/blog/05/array-assignment-problem/</link>
		<comments>https://www.emblogic.com/blog/05/array-assignment-problem/#comments</comments>
		<pubDate>Sun, 13 May 2012 11:18:38 +0000</pubDate>
		<dc:creator><![CDATA[amit.verma]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[array problem]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=2775</guid>
		<description><![CDATA[#include #define size 4 int main (void) { int val1=44; int arr[size]; int val2=88; int i; printf(&#8220;value1 = %d,value2= %d\n&#8221;,val1,val2); for(i=-1;i&#60;=size;i++) arr[i]=2*i+1; printf(&#34;value1 =%d,value2=%d\n&#34;,val1,val2); for(i=-1;i&#60;7;i++) printf(&#34;%2d %d\n&#34;,i , arr[i]); printf(&#34;value1 =%d,value2=%d\n&#34;,val1,val2); printf(&#34;value1 =%d,value2=%d\n&#34;,val1,val2); return 0; } value1 = 44,value2= 88 &#8230; <a href="https://www.emblogic.com/blog/05/array-assignment-problem/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>#include<br />
#define size 4<br />
int main (void)<br />
{<br />
int val1=44;<br />
int arr[size];<br />
int val2=88;<br />
int i;</p>
<p>printf(&#8220;value1 = %d,value2= %d\n&#8221;,val1,val2);<br />
for(i=-1;i&lt;=size;i++)<br />
arr[i]=2*i+1;<br />
printf(&quot;value1 =%d,value2=%d\n&quot;,val1,val2);<br />
for(i=-1;i&lt;7;i++)<br />
printf(&quot;%2d %d\n&quot;,i , arr[i]);<br />
printf(&quot;value1 =%d,value2=%d\n&quot;,val1,val2);<br />
printf(&quot;value1 =%d,value2=%d\n&quot;,val1,val2);<br />
return 0;<br />
}</p>
<p>value1 = 44,value2= 88<br />
-1 -1<br />
 0 1<br />
 1 3<br />
 2 5<br />
 3 7<br />
 4 9<br />
 5 44<br />
 6 6<br />
value1 =44,value2=9<br />
in the result why does the value of value2 has changed to 9<br />
and<br />
 in array arr[i] what i sthe calculation going on for arr[6] and arr[7]. </p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/05/array-assignment-problem/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DEVICE DRIVERS</title>
		<link>https://www.emblogic.com/blog/03/device-drivers/</link>
		<comments>https://www.emblogic.com/blog/03/device-drivers/#comments</comments>
		<pubDate>Sun, 04 Mar 2012 08:41:10 +0000</pubDate>
		<dc:creator><![CDATA[amit.verma]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=2076</guid>
		<description><![CDATA[Basic Driver Implemented &#8211;By Ovais Fareed (my blog account is not working)]]></description>
				<content:encoded><![CDATA[<p>Basic Driver Implemented <img src="https://www.emblogic.com/blog/wp-includes/images/smilies/icon_biggrin.gif" alt=":D" class="wp-smiley" /> </p>
<p>&#8211;By Ovais Fareed (my blog account is not working)</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/device-drivers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Driver implemented</title>
		<link>https://www.emblogic.com/blog/03/driver-implemented/</link>
		<comments>https://www.emblogic.com/blog/03/driver-implemented/#comments</comments>
		<pubDate>Sun, 04 Mar 2012 08:33:44 +0000</pubDate>
		<dc:creator><![CDATA[amit.verma]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=2074</guid>
		<description><![CDATA[Driver implemented.]]></description>
				<content:encoded><![CDATA[<p>Driver implemented. <img src="https://www.emblogic.com/blog/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/driver-implemented/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>this program on pipes is not wroking , can anyone tell me why ??</title>
		<link>https://www.emblogic.com/blog/02/this-program-on-pipes-is-not-wroking-can-anyone-tell-me-why/</link>
		<comments>https://www.emblogic.com/blog/02/this-program-on-pipes-is-not-wroking-can-anyone-tell-me-why/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 18:09:02 +0000</pubDate>
		<dc:creator><![CDATA[amit.verma]]></dc:creator>
				<category><![CDATA[Linux Internals and System Programming]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=1956</guid>
		<description><![CDATA[#include #include #include int main() { char buff[10]; char tx[]=&#8221;hello wor\n&#8221;; int fd[2],t; pid_t pd; printf(&#8220;\n %s&#8221;,tx); pipe(fd); pd = fork(); if (pd == 0 ) { printf(&#8220;\n parent cerated : %d&#8221;,getpid()); close(fd[0]); write (fd[1],tx,sizeof(tx)); } else if(pd == 1) &#8230; <a href="https://www.emblogic.com/blog/02/this-program-on-pipes-is-not-wroking-can-anyone-tell-me-why/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>#include<br />
#include<br />
#include</p>
<p>int main()<br />
{<br />
char buff[10];<br />
         char tx[]=&#8221;hello wor\n&#8221;;<br />
         int fd[2],t;<br />
         pid_t pd;<br />
        printf(&#8220;\n %s&#8221;,tx);</p>
<p>        pipe(fd);<br />
        pd = fork();<br />
        if (pd == 0 )<br />
        {<br />
                printf(&#8220;\n parent cerated : %d&#8221;,getpid());<br />
                close(fd[0]);<br />
        write (fd[1],tx,sizeof(tx));<br />
        }<br />
        else if(pd == 1)<br />
        {<br />
                printf(&#8220;\n child cerated : %d&#8221;,getpid());<br />
                close(fd[1]);</p>
<p>        printf(&#8220;\n %s&#8221;,buff);<br />
        read(fd[0],buff,sizeof(buff));<br />
        printf(&#8220;the received string is :%s&#8221;,buff);<br />
        }<br />
         return (0);</p>
<p>}</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/this-program-on-pipes-is-not-wroking-can-anyone-tell-me-why/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>compression of data</title>
		<link>https://www.emblogic.com/blog/01/compression-of-data/</link>
		<comments>https://www.emblogic.com/blog/01/compression-of-data/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 18:04:58 +0000</pubDate>
		<dc:creator><![CDATA[amit.verma]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=1711</guid>
		<description><![CDATA[given below is just a program to fetch data from a file with datat: &#8220;she sells sea shells on the sea shore&#8221; the problem is i need to fetch the characters from the sentence one by on in a manner &#8230; <a href="https://www.emblogic.com/blog/01/compression-of-data/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>given below is just a program to fetch data from a file<br />
with datat:<br />
&#8220;she sells sea shells on the sea shore&#8221;</p>
<p>the problem is i need to fetch  the characters from the sentence<br />
one by on in a manner that each char is fetched  only once :</p>
<p>#include<br />
 #include<br />
 #include<br />
 #include </p>
<p>int main()<br />
{<br />
 int fd,i,j;<br />
 char ch;<br />
 int ma[100];<br />
 fd=open(&#8220;file.txt&#8221;,O_RDONLY);<br />
 for(i=0;i&lt;=37;i++)<br />
 {<br />
 read(fd,&amp;ch,1);<br />
 ma[i]=ch;<br />
 }</p>
<p> for(j=0;j&lt;37;j++)<br />
 printf(&quot;%d %c\n&quot;,ma[j],ma[j]);</p>
<p> return 0;<br />
}</p>
<p>can anyone  help</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/01/compression-of-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
