|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、硬件操作平台介绍
- W* K |- z: _: Z! `2 d) A% O
9 z5 ^7 H, s4 }/ S3 RFETT507-C核心板集成全志T507四核车规级处理器设计开发,Cortex-A53架构,主频1.5GHz,集成G31 GPU,内存2GB DDR3L,存储8GB eMMC。整板工业级运行温宽,支持绝大部分当前流行的视频及图片格式解码,具有稳定可靠的工业级产品性能、低功耗以及丰富的用户接口等优势,搭载Linux、Android、Ubuntu*操作系统,适用于车载电子、电力、医疗、工业控制、物联网、智能终端等领域。
: Y) `, @* {# k2 W9 t/ s4 P) S, x6 [/ D/ G3 R( f; k
2 t: n! F" Z7 L8 ?+ @) S6 b" h+ V0 o p9 J7 D9 Z _+ t
" ?: k$ j! X Z- h* u
! ~" }( \" } x } ~8 ~( v
# Y3 l, F U& ^7 C$ {/ m) G( [0 t' j8 U: ]' I# R
0 h( e4 ^7 z( h B/ k
/ H3 w5 Y! |- v! U3 I8 X6 i. B本文不再对硬件参数进行叙述,在参考本文进行软件开发前请阅读飞凌嵌入式提供的全志T507用户手册 ,路径为“用户资料\手册\硬件手册”,以了解产品命名规则和您所使用产品的硬件配置信息,这样有助于您对本产品的使用。
+ W+ P) [8 j$ i5 }- V7 G, ]7 K
( w) d, O5 V2 O本文介绍了全志T507屏幕切换控制的两种方式。9 O$ v: R5 p- ~' e! W
- Q3 F; @- n, V9 G
8 Z- e8 _* Q2 ?7 `5 \- z; c
; }+ ?8 N( e+ s: `! U! e
二、屏幕切换
9 n! m! `& D1 h2 L% G
* f# p- A1 @* p. {OKT507-C开发板支持MIPI DSI、HDMI、TV等多种屏幕接口,同时可以进行两个屏幕的同显和异显,可灵活指定HDMI接口支持4K输出。目前屏幕切换控制方式有两种:内核设备树指定;uboot菜单动态控制。
; C# ^ G) O% g4 n9 i; D" k2 z; h+ r9 a
目前OKT507-C支持HDMI、LVDS 1280x800、LCD7 1024x600、LCD7 800x480电容屏、LCD7 800x480电阻屏。6 y" N( l1 m9 W5 }
" Z" v! p+ e/ @. R1、 内核设备树指定: E# a; ^4 g6 h7 c
3 k/ V2 F1 e! e% k; q1 V# D
该方式不需要连接串口终端,系统镜像默认为所期望的配置选择,适合量产。但需要手工修改设备树,重新生成一次系统镜像。该方式优先级高于uboot屏幕选单。. P, q3 P2 C. C$ i5 T
7 V! s, l& P- ~; n+ ~" v# M9 D
设备树路径为:linux-4.9/arch/ARM64/boot/dts/sunxi/OKT507-C-Common.dtsi7 J" o- h; [# X
; {3 z3 y0 A6 P; Q, { X
内核源码中,打开设备dts文件,找到如下节点:
! W. G7 T. K( E( K- f* z* r f& H6 X
6 A" r. ^' z" u
5 z) v4 b: z4 |3 s" Q5 D8 D2 j a6 I$ ]$ M0 ]
- m! w( W. r* D. q; Z; \
# U7 Z7 n5 J3 o
; e7 M: b, [% Z, L
* }4 k- ~1 x7 f1 O
该status节点默认disabled状态,需要改为okay使能节点。- M5 R8 ]0 z4 y
( E) o3 T" h( \: ?7 [$ m6 I! A. H
用户根据需求更改设置参数,保存后,需要重新编译生成镜像。
0 u) u0 L7 x- {( y
6 K, ?" T0 t/ {/ u参数说明:
$ [$ X0 x- p# J" y C; e
7 V6 e( e9 t& q" t- D4 M) a- mdisp_lcd_type:描述lcd接口类型;* i0 ~, m8 F+ w' j; ~/ }
( o* m$ Q7 K3 b! U, t* H6 Pdisp_lcd_type
/ K$ x7 [" H. S! s L1 l3 V. T$ V- I) K4 Z# b1 F6 d
| lcd接口类型
4 ?3 v+ j z$ f/ o r- Q& w& H
0 `4 ~( M a0 Q2 b& @" Z | lcd7_800_480_cap
/ \7 s! M" v, |: h) M5 m9 k; c' o, C
| 7寸800x480电容屏% j0 q) _4 ~ b2 v
) M! B+ _) V$ ^2 L- S+ }3 I | lcd7_800_480_res; W3 z! g! u% P" |4 k
; P/ l* Q3 f b/ A# D | 7寸800x480电阻屏) h5 w5 [2 h. C" [ O: ?, P3 l
6 o; ~# d* R9 K" F
| rgb24; O( k7 R% Z* ~! X' e7 F
* y0 f0 e6 a! } | 7寸1024x600电容屏
( [" q2 p$ p; K' z0 X; \3 |: b0 x, H/ W1 }
| lvds$ C( J: Q* r/ [8 i) x/ @
1 m( e9 N' e# f" k" R* k9 ~# Y! | E | 10.1寸1280x800电容屏
7 z8 l. D4 ?/ [9 ^7 Y1 i# V2 c6 k( G& F4 V2 t
| 4 v4 V/ M2 e5 ?+ D( p$ e( w V
lcd_resolution:描述lcd屏分辨率;
; ~: E: U2 O) f2 H# @/ H# ^7 R3 l/ e# ~& f$ Q3 g2 V+ P
tv_resolution: 描述tv屏分辨率;
- A; x8 @3 c ?- ~1 d. C) K0 {! ^5 ~1 ^7 k( N6 r
disp_dvi_hdmi_type:描述hdmi接口还是dvi接口;1 G! j0 a0 z d. d9 t
8 S0 p; P2 F% Q. F
hdmi_resolution: 描述hdmi或dvi接口屏分辨率;. Q, Q* F! c" a& t
) Y' `/ o: [" Z9 V/ r1 C% E( ouboot_disp_mode:描述显示类型0代表单显LCD,1代表单显hdmi,3代表异显,5代表同显4 `4 j; l. [/ J
! E5 D+ G1 J3 |. [" I* ?2 c/ n- W
举例: Q, L' b/ F4 G! r+ R
( b# W* @) p( W) X0 n C9 T将T507配置成同显模式,主屏为电容屏1024x600,副屏为dvi接口屏1920x1080P60。8 q/ Q4 e/ c; V3 f5 M4 \
9 w6 H! i4 c1 A$ B& \
~8 g/ Y- ^4 Z+ V' K: s- h
3 s, j4 A$ \# C j Q* \! A- T' ]( y![]()
5 I8 D7 @9 v( t4 h! q0 ~
+ {. _* N7 I1 F! z6 U( F t9 J' C0 N7 f( F$ Q/ s- f7 [. k! S
, C$ z) t3 q, Z% |. k& j+ f1 |7 O
注意:6 b, u+ A, d: ~6 V' v5 A" w
1 C0 \' q5 r; Z7 x. ~1. lcd_resolution和tv_resolution只能存在一个,默认使用lcd_resolution。
" O# o) k; L q J3 ?/ E
4 k" Z( W) U- F+ e2.对于MIPI屏幕种类多,可能现有时序和控制字不能满足要求,需要自行更改dsi节点下的lcd0。但任何和显示相关的节点status属性,均按照默认处理,程序会自动控制。/ J) a; z" G$ Q4 E7 s9 j
S+ ^# V# o- N) q2 C7 L9 N
2、uboot菜单动态控制
5 I |9 A- A3 [- I& O. C9 o" h
. s# e" z- p7 U; @. N1 O& n该方式在T507现有已支持屏幕的基础上不需要重新编译和烧写,即可切换屏幕。8 E$ B, B% C$ L2 { G' ?+ e6 r2 }
: N- q+ l# X# u! A$ b* R' ^
1、屏幕控制一级菜单7 v: d1 N4 `3 @9 `1 a1 S0 _
0 a0 w6 a" `& S
在uboot自启动过程中串口终端按下空格键,即可弹出控制选项:0 T R% f5 t( L
' u/ Z' g% f* \% A. k; d4 _
2 K1 b/ o0 \0 q1 I) }+ i. O0 R/ k+ ^0 ]& T' J- T! M* N) B* _) b
6 i% `" S9 T) Y8 V }
( i, ]3 d, p2 _8 v: u8 S. y
( D. D+ l1 ], ]1 {3 s4 Q2 V0 O' }4 [: ~' A( \* x2 s
输入”0”:
: S) A) _" K3 S
W: U# E2 T H输入”1”:开发板重启;, l( c' }1 ^$ i; F4 B
1 m: M6 p! K# u0 r8 j
输入”2”:进入屏幕控制子菜单。
/ Z' d% s, g; f) e, ~4 [7 i) i+ F; N' b
2、屏幕控制二级菜单
) @9 z6 J; G( Q9 Y. ~& y+ O7 N$ N5 c! ]+ S0 y T/ `
屏幕控制子菜单,如下图:% F3 f6 j% `# P9 G* a
7 C* K1 _/ ]3 J0 W% K
' y1 S; l2 U* o5 M: \
& m4 P. b- _1 Z5 a8 D. ~' `![]()
$ {9 M) F/ u M7 B U& J7 A
7 h) ]! X& d8 N$ J! u* g+ _! \0 Z' R5 H" F# Q6 q2 ?/ E! l1 Z
2 Z4 s2 o1 x. C- p2 J
输入”0”:退出,返回上级菜单;
: X; P( S' z6 H# Z, B' r
" V" d2 [4 S: o. o7 @8 I输入”1”:进入LCD屏显示参数配置;4 w. ?' N/ Y7 o: l, G: P
0 j3 M) Q3 b2 N5 Y6 r0 b' u
输入”2”:进入HDMI屏显示参数配置;
. c$ B2 A6 u/ P4 _; t* {* v
1 e) q: `; [& g5 ?3 B, _4 {输入”3”:进入TV显示参数配置;
* R8 l5 P2 I n3 q
8 f* v2 c7 ~" }; O% w% Y9 i输入”4”:进入显示模式配置子菜单2 Y9 x; t6 A4 z1 p- J/ F' G$ Y
$ x3 S% n- j$ P0 a& h1 q% S3、屏幕控制三级菜单# b/ G& h* H I! z2 j5 w/ w
9 J# G% N: J7 N
显示模式配置子菜单:
* \' [6 O- E6 T; l7 Y( H
5 Z+ W; V" A( l: M) {' R" ^屏幕参数选择前,首先由屏幕控制二级菜单终端输入”2”,进入显示模式选择菜单,如下图:
, h) B* j, {9 \4 c6 C3 ~+ Q, r3 H) \ H
5 l4 @* X+ n3 Z0 \, @
2 n6 {) O4 K$ }+ }, c2 j![]()
j8 M% I, F* v4 Z* y! c! f
# }1 J6 |" t8 @4 F/ Q' Z
$ F! c5 q6 N* T4 A: r$ h l
1 V: r5 L5 c+ B; f7 v* C; ]终端输入数字1到7对应显示模式类型:; ^6 m: [- O: i) X3 v5 i6 H, X% B
& u8 L& H7 |; D# \3 {$ a* o$ Q; {
输入”0”代表单显,返回上级菜单;. g, W5 T* u0 J) ^" \& q2 S# n$ V9 n
3 H* F! }6 T$ \7 n
输入”1”代表单显,LCD屏显示;
$ G- {9 r% W/ W
5 _4 V, Q% z# e9 n2 k( `输入”2”代表单显,HDMI屏显示;
3 a. P* R( `, E# O( r: T, P: A1 T2 Y2 h4 W6 Q) X8 V
输入”3”代表单显,TVOUT屏显示;( I1 B& o) b" t8 U: Q
2 ]& k3 P* f, q& j; s7 K/ J
输入”4”代表异显,主屏为LCD/TVOUT,副屏为HDMI;' m" c' r8 N, x1 j
- ]* x* ]* \9 x8 Y7 p
输入”5”代表同显,主屏为LCD/TVOUT,副屏为HDMI;9 t* l; o8 y! E6 ]
) j' D. h' _3 L5 h( [& k& _
输入”6”代表异显,主屏为LCD,副屏为TVOUT;$ j; A6 J A. `9 v
8 T% p+ R' V0 ?/ A. M输入”7”代表同显,主屏为LCD,副屏为TVOUT。* s7 c, G/ n- L- q
7 g/ Q* f$ X! V; `9 _LCD屏显示参数配置:
$ p- c8 S! d+ Y6 X
$ i7 k* }; Q- S2 Z7 R+ C1 {1 x由屏幕控制二级菜单终端输入”1”,可进入LCD屏显示参数菜单进行选择LCD屏分辨率:
7 C7 Q ?6 Y1 G p
) F: W4 {) G1 t3 o+ W/ o1 ^" J2 ~9 M9 U& ?7 b1 f) o
: L% _/ x3 ~8 g v1 n
![]()
0 `4 H$ I7 ^6 N" t: o4 T6 Y: T2 j
' I3 P) |7 ]; I4 H+ Z2 U
5 q4 c. K$ m- N+ s2 E0 m* x! @; K& l, ~( R/ s
HDMI或者DVI分辨率参数配置:
! t- `8 y& R" s7 m
$ w5 h, L$ I% T$ a4 S+ @: r由屏幕控制二级菜单终端输入”2”,可进HDMI或者DVI显示参数菜单进行分辨率选择:
! J# E. F) {8 f" H" \& m q( p5 P+ ?% M* ~: D% H
6 m, D, ?5 ?& N4 L( r) L% Y' e! z) s. ^: W: ?% X0 V6 M# s* k
- N8 L5 |1 S0 ?
: \" f' C! [4 m; ~
3 g( e# V" ^7 F" y1 w
1 o2 t) L% }' `
输入”0”代表单显,返回上级菜单;
5 [" x: l% U% m# K: `" D7 [8 G0 r, y- O% k( Z( F( L r5 q
输入”1”代表屏幕分辨率是1280x720帧数50;
$ K$ y E, ^- A r7 ~& v' @$ I! J. i
输入”2”代表屏幕分辨率是1280x720帧数60;$ i* H6 r9 R7 c. @: w9 c
+ G! F/ L0 {/ d- i/ `4 s
输入”3”代表屏幕分辨率是1920x1080帧数50;0 [: v3 S& S+ O, u% r, f& X/ O
- C! I. l& O% I. `" X4 P
输入”4”代表屏幕分辨率是1920x1080帧数60;/ i8 o) ?$ Y/ I. E0 f. J1 g
4 z( [0 {! _$ a1 G输入”5”代表屏幕分辨率是3840x2160帧数50;
6 I/ n' X% ?1 h, x
2 z6 A A0 r }! ]输入”6”代表屏幕分辨率是3840x2160帧数60;3 q5 N, A9 F: T+ R: l* Q
1 x+ y6 a" f. u
输入”7”代表屏幕分辨率4096x2160帧数50;
' @5 S7 o" U" [6 Y, V! K
8 r$ T9 p3 `$ k D输入”8”代表屏幕分辨率4096x2160帧数60;" l6 L' m, s% ~
8 s. s; g6 ~. \ @* R
输入”d”代表使用DVI接口;4 X& L( K& B+ _
: J3 i9 O4 \& ~6 |5 r- _4 J输入”h”代表使用HDMI接口。
! j! L4 p3 a, `8 A+ N5 O5 m6 H: D: Z. ]$ Y
TV分辨率参数配置:
5 |& m8 a! A2 q8 s
, e! g. n) S1 W3 d3 o由屏幕控制二级菜单终端输入”3”,可进TV显示参数菜单进行分辨率选择,当前只支持720x576分辨率:
; _% Z- R& m) ~% K
- T8 w& n7 p3 X3 x9 o) E9 L& Q1 u V0 L1 h2 l+ u
6 F+ t A$ c/ U2 v/ W' n 1 b- `) ^7 G7 o3 v: h4 q
* J @, {) D% {' Z/ E+ ]* H0 O3 f' `! ]5 x$ H+ I* Y
: M5 C" M$ ~( ~% d4 S n
, Q, A" J, J7 [+ s$ p8 x7 `
: `; r, [2 Z$ q# c2 d# C注意:
' x0 P" `1 E H- o3 Y C
5 x- I$ O9 d2 `/ u [( y" `1. 选择完成后,按复位键重新启动,重新启动后生效;, O3 P. ? F/ L2 z( c4 v
7 J, s% _8 t9 o( t" k, V' P0 b
2. 当前版本将TVOUT配置成主屏时,请将logo文件bootlogo.bmp分辨率修改成720x576,更改logo方法请参考T507”logo更换方式”,不在赘述。& M/ c. l6 B. O
# C, e* M1 b+ N3 g) a: H& E
1 P' u ~; c1 e' r/ R
1 I, T6 m+ {( A; I& ]0 X6 L9 y3 e. |7 ]5 N6 N9 G0 A3 h
1 p5 }: i O9 o; r
" o: Q2 [0 c$ K r/ E# I! Z+ I! h
|
|