thnosi 发表于 2014-01-03 10:06

求大神!虚拟波形发生器驱动程序设计

设计内容:
(1)设计一个无需硬件的波形发生器,该波形发生器是一个虚拟的字符类型设备,当应用程序读写该设备时,可获得至少三种以上波形的数据,如正弦波、方波等。要求设计该虚拟字符设备的驱动程序,并加载到PXA270内核, 并进行相应的测试。
(2)以一个简单图形化的应用程序测试当前的虚拟驱动工作是否正常。
(3)提示:可采用内核定时器,定时向驱动程序中定义的缓冲区中写入波形数据。

knightlyj 发表于 2014-01-03 10:24

期末作业吧,自己认真做:victory:

wwxxxxll 发表于 2014-01-03 14:13

本帖最后由 wwxxxxll 于 2014-01-03 14:13 编辑

你的作业确实有点操蛋玩意
1. 可能涉及浮点运算,这个要配置内核。
2. 涉及sin\cos,内核没有。
解决:
1. 可以不去配置内核,把数据扩大10的n次方。这样先乘后除。这个方法我以前在8为的单片机上常用。
2. sin\cos可以展开为幂级数:
cosx=1-(x^2)/(2!)+(x^4)/(4!)-(x^6)/(6!)+...    x属于(负无穷,正无穷)
sinx=x-(x^3)/(3!)+(x^5)/(5!)-(x^7)/(7!)+...    x属于(负无穷,正无穷)
//网上的实现。
http://www.doc88.com/p-807578141601.html

这样的算法放在内核,真不是好东西。

其他的定时器,界面,缓存(如果你有兴趣可以试试mmap)、字符设备(就要简单的misc吧),还是比较简单的。
如果你真的喜欢学习驱动:
驱动群:163617970

linyunxian 发表于 2014-01-07 09:44

回复 3# wwxxxxll


    可以考虑用空间来保存这些值。定时器时间到了就取相应的数好了~
页: [1]
查看完整版本: 求大神!虚拟波形发生器驱动程序设计