FBTFT driver St7789v LCD 移植简介「建议收藏」

St7789vLCD移植

大家好,又见面了,我是你们的朋友全栈君。

移植ST7789VLCD controller,程序修改步骤简要介绍如下: 

   

1     配置GPIO, In ..\ arm-linux-3.3\linux-3.3-fa\drivers\spiftssp010_spi.c

2     下载 开源 TFT LCD display modules from the below link:

http://lxr.free-electrons.com/source/drivers/staging/fbtft/?v=4.4

Linux/drivers/staging/fbtft/

3   Installation ,Modify the Kconfig / Makefile 

    source : https://github.com/notro/fbtft

4 进入menuconfig, 修改内核配置 Device Drivers ->Graphics support,  选中选项
->Low level LCD controls / Low level Backlight controls
-><M> FB driver for the ST7789V LCD Controller
-><M>Module to for adding FBTFT devices
选择‘M-模块编译’,这样生成KO文件,便于模块加载卸载调试。之后保存设置后退出,重新编译(如遇到‘fb_info 结构体成员缺失’ 等编译错误<见附后>,这是编译环境及内核版本不一致引起的编译错误,可以根据其提示信息修改内核源程序相应部分)。重新编译最终得到所需KO文件:fbtft_device.KO/fb_st7789v.KO :

5     修改下载到的fbtft模块中的源程序文件.

  配置  GPIO Configure , 请参考文档《GPIO_User_Guide_V1.0》。

/* set as input or output */   //value: 1-high 0-low

    intgpio_direction_input(unsigned gpio);

    intgpio_direction_output(unsigned gpio, int value);

/* GPIO INPUT:  return zero or nonzero */

    intgpio_get_value(unsigned gpio);

    /*GPIO OUTPUT */

    voidgpio_set_value(unsigned gpio, int value);

Please note it must use gpio_request()to control the pin.

In fbtft/fbtft_device.C文件中添加头文件及LCD controller 控制引脚GPIO配置,

修改fbtft\fbtft-io.c\ fbtft_write_spi();
修改fbtft\fbtft-core.c\fbtft_update_display;

6  编译运行内核后,加载得到的FBTFT模块两个KO文件
Insmod KO Module :  / fbtft_device.KO/fb_st7789v.KO
参数命令及运行结果如下:
insmod fbtft_device.ko busnum=1 name=admatec_c-berry28 cs=0 gpios=reset:1,led:2 custom=1 speed=6000000 width=320 height=240 buswidth=9 mode=0  
insmod fb_st7789v.ko

FBTFT driver St7789v LCD 移植简介「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126575.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 常用的CSS[持续更新]

    常用的CSS[持续更新]

    2021年8月20日
    52
  • 基于深度学习的图像超分辨率重建技术的研究

    1超分辨率重建技术的研究背景与意义图像分辨率是一组用于评估图像中蕴含细节信息丰富程度的性能参数,包括时间分辨率、空间分辨率及色阶分辨率等,体现了成像系统实际所能反映物体细节信息的能力。相较于低分辨率图像,高分辨率图像通常包含更大的像素密度、更丰富的纹理细节及更高的可信赖度。但在实际上中,受采集设备与环境、网络传输介质与带宽、图像退化模型本身等诸多因素的约束,我们通常并不能直接得到具有边缘锐化、无成块模糊的理想高分辨率图像。提升图像分辨率的最直接的做法是对采集系统中的光学硬件进行改进,但这种做法.

    2022年4月9日
    47
  • linux centos安装wine qq,ubuntu安装wine QQ「建议收藏」

    linux centos安装wine qq,ubuntu安装wine QQ「建议收藏」题外话:在使用win7,8的时候,发现如果硬盘存有大量文件的时候,笔记本自带的渣渣机械硬盘读取会很慢。而win10在硬盘读取方面的优化,确实比前几个版本好。但是,随之出现的问题是,内存不够用。后来上手linux,才发现这才是真爱。装过ubuntu,centos。总结ubuntu更适合日常的使用。顺带说一句,16.04TLS,装入很多大型IDE和虚拟机的时候,4G也是有点抗不住。开始正题:首先,安装…

    2025年9月18日
    3
  • endnote转化成纯文本后_EndNote X7如何去掉域代码生成纯文本文件

    endnote转化成纯文本后_EndNote X7如何去掉域代码生成纯文本文件满意答案czpunk2016.08.17采纳率:58%等级:9已帮助:2963人现在很多杂志都要求作者提供电子文稿。格式化后的文稿含有大量域代码,有可能与杂志社的软件不兼容,因此提交前需要去掉文稿里的域代码。方法是从Word的工具栏里进入“EndNote7.0”子菜单选择点击“RemoveFieldCodes”,出现一个提示框告诉你“该操作将创建一个新的去掉了所有域代码的Word文档,…

    2022年5月28日
    54
  • Visual Studio 连接SQL Server数据库[通俗易懂]

    Visual Studio 连接SQL Server数据库[通俗易懂]VisualStudio连接SQLServer数据库在visualStudio开发环境中,从菜单中选择“工具”->“链接到数据库”命令,然后弹出图(1)所示窗口,点击更改按钮,选择你所使用的数据源类型,如下图(2)所示,点击确定。图(1)更改数据源类型图(2)选择数据源类型此时可以点击“浏览”按钮添加数据库文件,如下图(3)所示…

    2022年7月24日
    25
  • mysql smalldatetime_datetime与smalldatetime之间的区别

    mysql smalldatetime_datetime与smalldatetime之间的区别1、一直以为smalldatetime和datetime的差别只是在于时间范围:smalldatetime的有效时间范围1900/1/1~2079/6/6datetime的有效时间范围1753/1/1~9999/12/31所以我判断如果该值不用到太远的日期范围,就会使用smalldatetime。2、但我忽略了更关键的差别,那就是smalldatetime只精准到分,而datetime则可精准到3…

    2022年5月12日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号