点屏DEMO

sdk/verify/application/jpeg2disp为一个播放图片的demo,通过它可以验证我们的屏幕显示是否正常,从而得到正确的屏参。
从sdk/verify/application/app.mk可以看到,要编译jpeg2disp,需要把verify_jpeg2disp设置为enable:

# vi sdk/verify/application/app.mk

此变量可以在project/release/customer_tailor/nvr_i2m_display_glibc_tailor.mk中设置:

# vi project/release/customer_tailor/nvr_i2m_display_glibc_tailor.mk

这样,默认就会编译jpeg2disp了。
接下来就是配置我们的demo了:

# cd sdk/verify/application/jpeg2disp/
# cd src

找到一个也是RGB且分辨率也是1024*600的屏参头文件SAT070CP50_1024x600.h,我们的屏参就在它的基础上修改:

# cp SAT070CP50_1024x600.h CC0702I50R_1024x600.h
# vi CC0702I50R_1024x600.h

根据规格书的信息,修改时钟参数:

修改sstardisp.c,把我们的屏参头文件包含进去:

# vi sstardisp.c

根据image.mk,了解到播放的图片是res/logo1024x600.jpg:

重新编译并更新固件:

# cd ../.././../../../
# ./Release_to_customer.sh -f nand -p ssd201

报错提示找不到-ljpeg,即libjpeg.so,但是在找到libjpeg.so.7:

# ls sdk/verify/application/jpeg2disp/lib

做一个软链接即可:

# cd sdk/verify/application/jpeg2disp/lib
# ln -s libjpeg.so.7 libjpeg.so
# ln -s libz.so.1 libz.so

重新编译并更新固件:

# cd -
# ./Release_to_customer.sh -f nand -p ssd201

进入系统后,发现没有显示内容,手动执行logo:

# cd /customer
# ./logo

# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/customer/lib
# ./logo

依然没有显示,只是屏幕与微微的闪烁:

检查原理图,发现有一个电源没有打开:

正常工作下,FUART_RTS拉高,需要配置DTS:

# vi infinity2m-ssc011a-s01a-padmux-display.dtsi

# vi infinity2m-ssc011a-s01a-display.dtsi

同时,在drivers/sstar/include/infinity2m/gpio.h中了解到FUART_RTS的GPIO_NUM=18:

# vi ../../../../drivers/sstar/include/infinity2m/gpio.h

重新编译并更新kernel:

# cd ../../../../../
# ./Release_to_customer.sh -f nand -p ssd201
# cat images/scripts/\[\[kernel.es

进入系统后,我们先把FUART_RTS拉高:

# echo 18 > /sys/class/gpio/export
# echo out > /sys/class/gpio/gpio18/direction
# echo 1 > /sys/class/gpio/gpio18/value

FUART_RTS拉高后,屏幕能够显示图片了,但颜色不对:

通过检查屏参头文件的值和阅读文档panel开发参考.pdf第24页,找到问题原因:

# cd sdk/verify/application/jpeg2disp/src/
# vi CC0702I50R_1024x600.h

m_bPanelSwapEven_GB值为1时,说明主控和屏的数据是反向的(比如主控R0接屏R7,主控R7接屏R0),而根据原理图,数据没有反向,因此m_bPanelSwapEven_GB的值设置为0:

# vi CC0702I50R_1024x600.h

同时,把FUART_RTS拉高的操作放在logo执行前:

# vi ../run.sh


重新编译并更新customer:

# cd -
# ./Release_to_customer.sh -f nand -p ssd201
# cat images/scripts/\[\[customer.es

进入系统后,可以看到显示正常了:

我把修改好的屏参头文件放到了IDO_SSD20X/开发板/IDO-SBC2D07/开发文档/panel/下。
至此,点屏demo调试完成。

文档更新时间: 2021-07-13 10:16   作者:Aeeditor