阅读:2327回复:6
关于2440lcd 24bpp显示问题[我在移置2440的Bootload中的lcd驱动时候,设置24bpp Mode显示,现在屏幕上显示的内容为屏幕的上半边水平依次显示了两个一摸一样的我欲显示的开机画面,下半部分无任何显示,请问应该调节那几个参数啊。 我显示16bpp mode时候可以正常显示并调试通过了。 |
|
沙发#
发布于:2009-11-10 17:37
修改为24BPP要改三个地方
1、EBOOT中初始化LCD 2、OAL中的OEMInit中初始化LCD 3、NK加载后显示驱动 你所描述的现象应是只改了EBOOT而没有改OAL |
|
板凳#
发布于:2009-11-10 19:42
alien75 :你好,我现在只是在Bootloader下用ADS调的,我想先在最简单的情况下调出来
还有就是 请问各位谁有把24位BMP位图转化成16进制数组的软件呢? 麻烦发出来给大家共享一下,谢谢了。 因为现在网上只有把16位BMP位图(RGB565)转化成16进制数组的软件:PIC2RAW 。 |
|
地板#
发布于:2009-11-11 12:16
如果只是bootloader显示24BPP位图,可以关注以下几点:
1、LCD控制器只支持非压缩模式的位图,就是说24BPP一个点是4byte,而24BPP的位图是3byte,看你有没有进行相应处理。同理,显存也应该对应大小 2、LCD控制器16BPP的模式支持Half Word Swap,而24BPP不支持,另外还有一个LSB和MSB区别,你也要注意。 至于转换软件,了解一下BMP的结构应该可以自己写一个。这样会加深对BMP的了解 |
|
地下室#
发布于:2009-11-11 13:28
真的很感谢 alien75 的热情,关于你的建议
1:“24BPP一个点是4byte,而24BPP的位图是3byte,看你有没有进行相应处理“ 这个要怎么处理? 我已经编写一个软件可以24位位图生产16进制的数组了,显存也注意到了。 2:对于你的第二点建议,我在此过程中做了处理。 所以最后,想问一下,“24BPP一个点是4byte,而24BPP的位图是3byte”怎么处理,现在没想到什么好方法 麻烦说说此思维过程是怎样的 |
|
5楼#
发布于:2009-11-11 14:35
你看datasheet就能明白,24BPP的一个点在显存中占用的4byte有3byte是R/G/B值,1 byte是dummy;位图中3byte是R/G/B值,没有dummy。想一想怎么实现? 呵呵
|
|
6楼#
发布于:2009-11-11 15:13
呵呵,我想呢,这个dummy Byte填充0x00,,看看可不可以。
|
|