点屏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调试完成。