你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32MP1板卡试用】+FB_TFT

[复制链接]
liuxingkeji 发布时间:2021-7-8 21:14
首先为啥移植这个,因为之前移植QT的时候是想着自己编译一个包放进去,但是没有成功因为缺少FB设备。恰巧我们开发板自己走的是GPU,所以没有传统的FB设备出现。这次借助spi_tft实现传统的FB设备。
1.png
2.png
首先就是修改我们的设备树,尝试多次后发现这个是可以使用的。
3.png
上面就是我们使用到的所有IO口。
4.jpg
板子大概是这样的,还有需要修改的地方,比如需要给sck和mosi两个管脚加上上拉电阻,这样方可通信成功。
其此我们是用应该叫ST7789VW。因为这个屏幕的分辨率是240*240的。内核驱动里面的是不一致的会导致不显示或者显示出问题。其次就是还需要修改驱动。
fb_st7789v.c
  1. static int init_display(struct fbtft_par *par), R5 l& A$ L$ D* @

  2.   T) {+ [1 |2 x. z0 a; U
  3. {
    1 s! @  ~' h& D- z  \8 q9 b& i
  4. ! P7 a' k' ^3 p* q: p8 Y1 a
  5.     par->fbtftops.reset(par);
    0 Q; K9 M; a7 p5 \4 ~

  6. : I, p0 g) _6 Z: F+ N
  7.     mdelay(50);
    & E7 \. X. g* ^1 x& s
  8. 7 R/ K$ S& ]3 I! r+ g: j% b
  9.     write_reg(par,0x36,0x00);: d8 _' B  u% D' z
  10. % P0 W6 U5 n2 E5 ?1 q+ p; O
  11.     write_reg(par,0x3A,0x05);
    ; h" f  F% `" D0 h6 `  U

  12. : i3 P5 B" J$ ]7 t/ E2 W
  13.     write_reg(par,0xB2,0x0C,0x0C,0x00,0x33,0x33);  ~  u; x& @  [, a0 J# V; e, z1 Q

  14. % `0 [3 ?3 H! b9 G+ x6 C
  15.     write_reg(par,0xB7,0x35);
    : n, C+ s9 h- u% U6 v5 K7 b
  16. 4 A0 U4 ~+ v/ u7 ?! z$ o* @% ~7 q
  17.     write_reg(par,0xBB,0x19);
    * O7 h9 U' e1 l6 U, X* @
  18. ( N/ |) K) n! b$ E& d: u
  19.     write_reg(par,0xC0,0x2C);
    / f  o- r; V  n
  20. ) _+ N. c3 E4 O1 P+ ?( K" T# o9 r" a
  21.     write_reg(par,0xC2,0x01);
    : b  S$ G  B1 c0 L* S* a9 f; |
  22. 0 T5 P; N- D: j' _% e$ q6 b& s6 X2 Q
  23.     write_reg(par,0xC3,0x12);4 x  i! C( X3 Y% j; X, E
  24. 5 Q' T' w/ N2 A
  25.     write_reg(par,0xC4,0x20);% j# b* I3 N0 \$ r9 i; V: w

  26. 4 h- l3 x; @+ Q) B; \1 w
  27.     write_reg(par,0xC6,0x0F);, D, u8 ^& P1 l) L1 X+ ]

  28. + A) f0 E9 J' \7 B5 r0 ?
  29.     write_reg(par,0xD0,0xA4,0xA1);
    1 C9 T9 N1 O& q- e4 m" ~
  30. 8 O3 u' N3 O8 n! R: |
  31.     write_reg(par,0xE0,0xD0,0x04,0x0D,0x11,0x13,0x2B,0x3F,0x54,0x4C,0x18,0x0D,0x0B,0x1F,0x23);3 C9 X7 i/ T6 j3 G3 ^# _
  32. 5 ]- W) c1 y- T+ m4 j2 `9 |
  33.     write_reg(par,0xE1,0xD0,0x04,0x0C,0x11,0x13,0x2C,0x3F,0x44,0x51,0x2F,0x1F,0x1F,0x20,0x23);' M: q# X& ?# g, T) Z6 S0 n
  34. & m+ t# P5 G0 A/ [
  35.     write_reg(par,0x21);
    ' [4 t0 e4 @) S
  36. 3 s  b3 [$ ^2 L* z  `
  37.     write_reg(par,0x11);7 q) H+ ?; m* G9 d# l6 a/ j
  38. + h+ z: z4 q! W, i- u
  39.     mdelay(50);& K" y& g) T( w& g2 D# i
  40. $ g2 }/ P, h0 a& U9 K
  41.     write_reg(par,0x29);0 b3 t* P; t2 e8 G/ i' y0 `

  42. ' t6 Q, @( a4 A' N2 S+ r6 l
  43.     mdelay(200);
    : N+ H9 {* y1 b

  44. - ^' C% j+ `" V
  45. return 0;
    7 y9 Q- _# w" h0 O: Q

  46. ; [9 m9 X7 M6 l  c- q
  47. }
复制代码

8 @* a1 T+ H1 M) }$ z' i
初始化显示给修改了。
fbtft-core.c里面也需要修改。这个可以参考网上的教程。
5.png
之后在这个路径下把驱动使能。
6.png
我们还可以让其显示内核logo。不过我们这里就不修改了。直接用其自带的图片。
7.jpg
可以看到两个小企鹅,因为MP157是双核CPU。
之后启动。
8.png
我们可以把我们自己制作的QT解压到目录,然后用命令设置环境变量。之后就可以启动测试了。我们编译的里面包含例程。所以直接运行例程。
9.jpg
这样我们之前自己编译的也就成功了。
还可以用命令测试设备。
如fb-test
10.jpg
fb-rect显示随机色块。
11.jpg

3 |& P2 ~2 ?: D5 o9 g! a1 A
收藏 评论0 发布时间:2021-7-8 21:14

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版