我是靠谱客的博主 心灵美小白菜,最近开发中收集的这篇文章主要介绍FBTFT driver St7789v LCD 移植简介Linux/drivers/staging/fbtft/,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

   

1     配置GPIO, In .. arm-linux-3.3linux-3.3-fadriversspiftssp010_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配置,

修改fbtftfbtft-io.c fbtft_write_spi();
修改fbtftfbtft-core.cfbtft_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 移植简介Linux/drivers/staging/fbtft/的全部内容,希望文章能够帮你解决FBTFT driver St7789v LCD 移植简介Linux/drivers/staging/fbtft/所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部