|
请教一个windml初始化的问题,和一个网络传输速度与CPU时钟的问题
[复制链接]
首先我想求一个WINDML支持SPI设备的DEMO,多简单都行,关键是初始化的部分.手上的DEMO全都是PCI设备的,PCI设备我没有作过,初始化有一小块看不懂
以EPSON目录下的一个direct 16bit设备,好象是什么806什么的那套DEMO
在xxxDevCreate程序中会调用uglGraphicsDevOpen.这个函数,里面带了3个参数,vender id componentId 什么的.
之后在对应的sysWindMLDevGet函数并没有EPSON的代码,但是其他几套代码中可以看到pciFindClass pciConfigInWord findDeviceInstance这几个函数.在PCI设备库中找到了这俩函数,但是看不明白.
从我个人的理解来看,这个uglGraphicsDevOpen感觉应该是从windml已经支持的设备表中找到对应的设备,如果没有则打开最接近的一个,然后再得到一些对应的参数写到结构中.
那么如果是想加入一个SPI的设备这里应该使用什么呢?或者说一个自定义的设备需要得到一些什么东西就算uglGraphicsDevOpen顺利完成了呢??
因为windml代码我才看了一小部分,我怕如果少加了什么东西那么后边的windml 2D或者其他什么API中需要对应的东西就就麻烦了.
另外请问哪位有使用SPI总线挂LCD驱动芯片的DEMO?只要初始化部分就行,如果可以发给我一份看一看的话万分感谢
我的email: heavenscloud2005@gmail.com
还有一个问题就是,只要uglInitialize中调用自己独立的.c中的xxxDevCreate,并且完成那个函数表中所有的函数,是否就算可以正常支持WINDML那些其他高级库中的API了呢??有没有什么特别需要注意的地方,比如硬件抽象层的东西需要完成那些特定的接口呢?
以上是第一个要请教的问题
第二个问题是这样,有款还算有名的CPU MIPS的ADM5120,在tornado中有支持.
该CPU中支持175MHZ和200MHZ两种工作模式,175为默认.以前所有的开发都在这里.
现在遇到一个陆游转发速度不够快的问题,正在从各个方面寻找原因.(做的都是包收上来后由CPU决定转发到哪个PORT)CPU工作频率的改变直接靠上电时两条地址线上拉下拉完成.经过改动后已经把CPU设置为200MHZ了,其他的东西都没改,包括BSP和时钟部分.结果拿去测试发现CPU性能25MHZ提高,但是陆游转发能力完全没提升.
我在想是否和CPU以及TICK的关系有关:
原先175MHZ,每个CPU CLK为t1,200mhz时每个cpu clk为t2,t1>t2;
那么如果BSP的tickannounce不变,当CPU从175变200的时候,平均一秒tick数增加了.如果再对BSP进行修正后会不会对陆游速度有帮助??
还有从哪些地方下手来提高速度呢??我已经尽量找驱动部分可能慢的地方,包括从新修改DMA,使用零拷贝之类,请问还有没有其他什么可以改进的地方呢??
|
|