当前位置: 技术问答>linux和unix
谁在ARM9平台上写过基于linux的单色LCD的驱动?
来源: 互联网 发布时间:2016-07-11
本文导语: RT,有前辈做过吗?有的话我单独开贴请教。。。。 | 没做过 up | 没有,只有在裸机上玩过 | 单色的LCD应该更简单吧,起码设置的东西要少一些。 彩...
RT,有前辈做过吗?有的话我单独开贴请教。。。。
|
没做过
up
up
|
没有,只有在裸机上玩过
|
单色的LCD应该更简单吧,起码设置的东西要少一些。
彩色的我做过。lcd基本上没什么,因为它是单向输出的,根据cpu手册和lcd屏硬件手册,
把各个寄存器设置好了。然后映射一个内存空间给lcd的缓存。所谓的驱动就完成。
以后的工作就是你用应用程序不停的把图像写入到那个内存空间就好了。
最重要的就是看手册设置寄存器了,比如lcd的长宽,刷新频率,色彩模式等等都要通过
寄存器设置来告诉cpu,因为人家cpu是为广大lcd设计的。不是单为你这单色的lcd设计的。
彩色的我做过。lcd基本上没什么,因为它是单向输出的,根据cpu手册和lcd屏硬件手册,
把各个寄存器设置好了。然后映射一个内存空间给lcd的缓存。所谓的驱动就完成。
以后的工作就是你用应用程序不停的把图像写入到那个内存空间就好了。
最重要的就是看手册设置寄存器了,比如lcd的长宽,刷新频率,色彩模式等等都要通过
寄存器设置来告诉cpu,因为人家cpu是为广大lcd设计的。不是单为你这单色的lcd设计的。
|
linux下的驱动同裸机的区别就是,linux有个框架,让结构看起来更有逻辑。比如它规定了每一个驱动应该对外提供的api,最终的显存地址。这样对于不同的驱动对图形库提供的接口才能一样。才会有x11,gtk,qt图形库什么。因为他们不需要了解具体怎么控制lcd,只要调用驱动的api就可以了。例如,生成完一屏数据后,要写到哪里去。
其实驱动来讲,真正干活的还是那些寄存器设置。你可以看看源代码。
arm连接lcd当然要用GPIO了,手册里有对应的lcd控制器。英文的,我英文不太好,经常看不懂。
其实驱动来讲,真正干活的还是那些寄存器设置。你可以看看源代码。
arm连接lcd当然要用GPIO了,手册里有对应的lcd控制器。英文的,我英文不太好,经常看不懂。