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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Swift 自己主动引用计数机制ARC「建议收藏」

    Swift 自己主动引用计数机制ARC

    2022年2月4日
    49
  • python udp发送数据(http视频传输)

    一、前言最近想写一个实时的视频传输程序,然后上网找了很久没有找到合适的我想用OpenCV进行图像采集,然后用pygame将视频信号转化为可通过UDP网络传输的字符流,然后到达终端后再通过pygame对字符流进行解析,进而将图像显示出来之所以使用UDP传输而不是TCP传输,是因为UDP在视频传输方面拥有快速、无需连接等优点,适合密集传送大量信息的场合但UDP传输有一个问题,…

    2022年4月13日
    170
  • CPU后缀字母性能[通俗易懂]

    CPU后缀字母性能[通俗易懂]Intel桌面级CPUK代表此款CPU是不锁倍频的,是可以超频的,用户可以通过超频来提升CPU性能(需要搭配可超频的主板)。X:intel带X的CPU很少,是extreme,也就是代表着“极限“。只有当时intel的旗舰级CPU才有可能带X,代表同一时代性能最强的CPU。C:在Broadwell酷睿的时代,Intel搞出的一个新花样。代表了反CPU性能发展规律:CPU性能退步/最强集显GP…

    2022年5月30日
    47
  • 设计模式实例(Lua)笔记之六(Adapter模式)

    设计模式实例(Lua)笔记之六(Adapter模式)

    2022年3月4日
    43
  • 2020美赛A题翻译

    2020美赛A题翻译对于一些生活在海洋里的物种,全球海洋温度影响它们栖息地的质量。当对于它们的后续繁衍来说温度改变太大的时候,这些物种就会迁徙去寻找新的栖息地去更好地安放当前和未来的生殖繁衍。一个例子就是美国缅因州的龙虾的种群,它缓慢地往加拿大北部迁徙,那六更低的温度提供一个合适的栖息地环境。这种地理上的人口转移可能会对那些依赖海洋生物稳定性的公司的生计造成严重的破坏。您的团队已被苏格兰北大西洋渔业…

    2022年5月25日
    30
  • git中Please enter a commit message to explain why this merge is necessary.

    git中Please enter a commit message to explain why this merge is necessary.

    2021年10月27日
    37

发表回复

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

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