EmbLogic's Blog

Sending 4k data using Circular buffer through IEEE EIA/TIA – 232E specification and associated serial port device driver(Implementing RS 232 Protocol)

RCS file: header.h,v
Working file: header.h
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
—————————-
revision 1.1 locked by: root;
date: 2014/11/20 04:42:02; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: declaration.h,v
Working file: declaration.h
head:
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 0
description:
=============================================================================
RCS file: initilization.c,v
Working file: initilization.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
Implemented check_region(), release_region() and request_region()
—————————-
revision 1.1 locked by: root;
date: 2014/11/20 04:45:10; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: cleanup.c,v
Working file: cleanup.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
Implemented release_region()
—————————-
revision 1.1 locked by: root;
date: 2014/11/20 04:46:32; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: dev_open.c,v
Working file: dev_open.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
—————————-
revision 1.1 locked by: root;
date: 2014/11/20 04:47:34; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: dev_release.c,v
Working file: dev_release.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
—————————-
revision 1.1 locked by: root;
date: 2014/11/20 04:48:34; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: dev_write.c,v
Working file: dev_write.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
Made One Scull_dev and one qset_array.
Implemented circular buffer
Written data on circular buffer and outb() data serially.
—————————-
revision 1.1 locked by: root;
date: 2014/11/20 04:52:21; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: dev_read.c,v
Working file: dev_read.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
Retrieve data serially from circular buffer
implemented inb() to read data serially
—————————-
revision 1.1 locked by: root;
date: 2014/11/20 04:54:00; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: file_op.h,v
Working file: file_op.h
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
—————————-
revision 1.1 locked by: root;
date: 2014/11/20 04:54:47; author: root; state: Exp;
Initial revision
=============================================================================
Write synopsis:
Here Implementing Circular buffer. noq is the no .of quantum written to the circular buffer.
label:

for(i=0;i<noq;i++)
{

if(idata[i],ubuff(lv*QUANTUM_SIZE),QUANTUM_SIZE);
for(j=0;j<8;j++)
{
printk(KERN_INFO "data[%d] = %c\n",i,ch1);
while((inb(0x3f8+5)&0×60)!=0×60);
outb(ch1,0x3f8);
}
lv++;
}

printk(KERN_INFO "noq = %d\n",noq);
printk(KERN_INFO "QUANTUM_SIZE =%d, i = %d\n",QUANTUM_SIZE,i);
if(i<QUANTUM_SIZE-1)
{
printk(KERN_INFO "Inside if for next quantum\n");
noq = noq- QUANTUM_SIZE;
i = 0;
goto label;
}
}

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>