搜索墙首页  编程技术  java  asp  ajax  php  c/c#/c++  数据库  oracle  mysql  db2  操作系统  windows  linux  股吧
首页 > 操作系统 > linux
 1         
1楼  zhanghonghu84 2010-04-05

最近要写at91sam9260与tms320vc5409的HPI驱动。
初步方案(简单实现功能):
(1)vmalloc()申请内存
(2)带并发控制的字符设备驱动
(3)中断编程,并使用poll/select
 
优化方案:
(1)利用slab与内存池;
(2)利用内存映射;普通的字符设备驱动传输大数据时相对慢一些
 
初步方案的程序写的差不多了,就差poll/select了。
 
HPI接口的控制寄存器HPIC中的hint可由DSP写1中断主机,也可由主机写1清0 hint.但是dspint只能由主机写1中断DSP,不管是主机读还是DSP读都是0;所以
DSP-->ARM   写完数据,置位HINT  然后ARM收到中断,读完数据,清0 HINT。DSP继续写数据时先读下HINT,如果HINT为1,就不继续写数据;稍后继续;若HINT为0,则可以写数据了。
 
ARM-->DSP  写完数据,置位DSPINT,然后DSP收到中断,读数据,但是DSPINT不能清0,怎么做呢?
 
目前暂时是约定一个地址,里面放一个flag,1标志数据未读,不能写;0标志数据已读,可写。
 
为了统一,ARM和DSP收到中断后,都检查flag。
 
 
2楼  lishiyong110  2010-04-11 21:09:35

你好,我现在也在写hpi的驱动。但是关于中断,我不知道怎么用,能否指点下。中断一定需要用吗?
3楼  zhanghonghu84  2010-04-12 21:22:41

lishiyong110 ,你好。
中断怎么用?这个范围比较广。
比如HPI驱动中,DSP的hint脚接到ARM的一个普通IO上,然后在linux下申请中断,中断函数里面再利用tasklet或者工作队列之类的来实现底半部机制。

中断当然可以不用了,但是你就要不断的查询,比较浪费CPU了
4楼  lishiyong110  2010-04-12 23:24:36

恩 这两天把HPI的内容详细看了下 了解了他的工作方式。谢谢你的回答

以后驱动还有问题再向你请教,谢谢了!
 1         
您的发言将按有关规定都会存档,您须为所发表后果负责,请您遵纪守法并注意语言文明。
标题:HPI驱动
热门关注
标题回复点击
d7se77dy/77dy电影. 77dy是77dy宽频和77dy1331673
黄网最新地址0903
IPP2P模块修改版,最新0.99.16440828
zeh 4.p patch on RHEL 30744
将 Puppy Linux 4.00 安装在U盘里 打造随身系统2695
Apache 超全0689
gcc glibc kernel 版本兼容性 reference0684
[保留]7667
d7se77dy/77dy电影. 77dy是77dy宽频和77dy156650
linux 有啥低级格式化硬盘的软件1644
搜索墙@2009 www.pkwall.com all rights reserved QQ:276471788 [京ICP备09111534号]
声明:本站部分数据来源于网络,仅供参考,如有版权问题,请联系我们,我们将及时删除!转载本站请注明来源