您尚未登录。

楼主 # 2025-05-21 22:11:04

执念执战
会员
注册时间: 2018-11-27
已发帖子: 24
积分: 54

F1C200S屏幕移植请教

熬了好久了,还是没搞定,再次来请教。
屏幕是ST7701,分辨率是 320*960(没找到横屏的方法),SPI信号使用的是外挂的单片机实现的,已经使用F1C200S裸机调通了屏幕,LVGL和触摸测试都没问题,所以硬件是没问题的。然后移植Linux。目前测试了两个SDK,都没调通,目标能调通任意一个就行了。

1:使用了 https://whycan.com/t_5221.html 的SDK,这个SDK很好用,一键编译。
我硬件参考的荔枝派的硬件,所以直接使用 make  sipeed_lichee_nano_defconfig,然后修改编译后下载到nor flash,正常启动,黑屏。
测试命令如下:

# fbset -fb /dev/fb0

mode "800x480-0"
        # D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz
        geometry 800 480 800 480 32
        timings 0 0 0 0 0 0 0
        accel true
        rgba 8/16,8/8,8/0,0/0
endmode
# cat /sys/class/graphics/fb0/name
sun4i-drmdrmfb
# cat /dev/urandom > /dev/fb0
cat: write error: No space left on device

屏幕是能显示雪花的,只是中间竖着有几列规则的横条,说明分辨率没改对。我已经把board文件夹下所有的uboot的dts都改了,也尝试在output文件夹下找到simple-panel.c修改里面对应屏幕的参数然后make,上面的800x400没有任何变化。所以需要请教这个SDK想要修改LCD分辨率还需要改哪里?改完后直接用make编译吗?


2:使用了 荔枝派nano 的官方教程 https://wiki.sipeed.com/soft/Lichee/zh/Nano-Doc-Backup/build_sys/build_flash_copy.html
uboot经过简单移植,已经能够正常显示了,具体可以看 https://whycan.com/t_11984.html ,但是启动kernel后就黑屏了。

# fbset -fb /dev/fb0
mode "320x960-0"
        # D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz
        geometry 320 960 320 960 32
        timings 0 0 0 0 0 0 0
        accel true
        rgba 8/16,8/8,8/0,0/0
endmode

# cat /sys/class/graphics/fb0/name

# cat /dev/urandom > /dev/fb0
cat: write error: No space left on device

虽然这个命令显示320x960,但是下面的查name 命令没有反馈,写入随机数也没有任何反应,这个参数是修改panel-simple.c文件的对应屏幕的参数,改完之后分辨率确实跟着变,但就是没法显示。我使用menuconfig想配置一下,但是一保存后编译就需要重新选所有的配置项,一路默认就会卡死,一个一个选,选花眼了都。后面我直接参考另一个sdk的配置文件修改这个的config文件,但没有任何有用的效果。

所以还是请教有经验的大佬,哪里是我没注意到的地方。总感觉显示都就差临门一脚了,但就是没找着门。

最后,就是请教,这个st7701没有横屏的硬件配置,Linux中有没有办法实现横屏?

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn