|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、硬件操作平台介绍7 y0 ^7 F2 o" ~4 y* _5 _ e
% ~4 J, [# P; RFETT507-C核心板集成全志T507四核车规级处理器设计开发,Cortex-A53架构,主频1.5GHz,集成G31 GPU,内存2GB DDR3L,存储8GB eMMC。整板工业级运行温宽,支持绝大部分当前流行的视频及图片格式解码,具有稳定可靠的工业级产品性能、低功耗以及丰富的用户接口等优势,搭载Linux、Android、Ubuntu*操作系统,适用于车载电子、电力、医疗、工业控制、物联网、智能终端等领域。
+ v7 k3 p! ?* k, a- x/ {
, V7 {8 k+ K. R0 r% l
2 T5 g5 Z$ L: U5 N6 b$ u. ]& A9 O" R
7 n( q* I8 k: E* z& I" L6 U
. e+ l' d% _! {1 ~" t" }' R3 Q! C- Y
v: z! k% S8 D: k N
+ t. w' @8 s. r) o) X! j4 J, e% m8 ?% _
) F2 Q. S2 L, T8 e$ l8 ^本文不再对硬件参数进行叙述,在参考本文进行软件开发前请阅读飞凌嵌入式提供的全志T507用户手册 ,路径为“用户资料\手册\硬件手册”,以了解产品命名规则和您所使用产品的硬件配置信息,这样有助于您对本产品的使用。
) h4 W3 c9 x E( A( W/ C3 G3 d4 q4 L7 _ q7 z& d! Z9 g
本文介绍了全志T507屏幕切换控制的两种方式。7 G1 c- E! J$ r
+ G" A% Z: E0 y* O- U1 N6 s
; z; P% q M; l# D6 z
- Q. _1 |2 {7 n2 O& D+ N! @二、屏幕切换
( j0 V- S( n$ z# a7 d* ^' R2 I0 c& |' B+ ?+ x
OKT507-C开发板支持MIPI DSI、HDMI、TV等多种屏幕接口,同时可以进行两个屏幕的同显和异显,可灵活指定HDMI接口支持4K输出。目前屏幕切换控制方式有两种:内核设备树指定;uboot菜单动态控制。
?" M& _) C6 L' c6 C! B5 u/ H1 E" T2 n8 l( q* I3 d. }% {
目前OKT507-C支持HDMI、LVDS 1280x800、LCD7 1024x600、LCD7 800x480电容屏、LCD7 800x480电阻屏。- K1 u. X4 f' @5 B6 X
! g" f8 K- l+ O% v* v# G1、 内核设备树指定* k7 H: \9 g6 ~% D/ `, b
9 _0 g& p/ E/ }8 J. l该方式不需要连接串口终端,系统镜像默认为所期望的配置选择,适合量产。但需要手工修改设备树,重新生成一次系统镜像。该方式优先级高于uboot屏幕选单。7 t3 z% M2 D# ?3 c6 T: A
# I" b0 I( s) i9 }7 X: i设备树路径为:linux-4.9/arch/ARM64/boot/dts/sunxi/OKT507-C-Common.dtsi
( e9 j, k; C2 B) n5 Y# T6 l# U- U: n
内核源码中,打开设备dts文件,找到如下节点:# ]5 c/ j4 g5 q- n6 p2 o" N
1 y- \1 G9 l# }8 o c7 L+ C# H! }
& B/ P ~; P0 ?2 a6 m/ ]
: n9 x8 s8 z; p0 d
![]()
1 j. y9 Y% e$ Q9 b5 ^4 M4 E4 t* k0 I, L8 J3 ?
, P: F: L; M& G, g( F0 r3 j% n" _2 _" r7 y
该status节点默认disabled状态,需要改为okay使能节点。' w; N6 X2 L* ^% r& T3 \5 s/ V
! e& B* J' l `: _用户根据需求更改设置参数,保存后,需要重新编译生成镜像。
A. k' H- ]; f i; O; E
$ t' H* j. J* M8 @) `参数说明:+ o1 k# h7 a( m* |+ V7 x- Z
) H0 h; {0 g& u; U1 @
disp_lcd_type:描述lcd接口类型;
- ^3 Y0 V8 ~+ `( R5 l6 A% x. F! J2 v* [) V* N
disp_lcd_type& ]* w$ j( J- T1 s$ o* a
% |- V0 F) R* y5 ^ j9 |4 g
| lcd接口类型1 S. c$ V q; ]) S
/ [& }! N, R8 q* z | lcd7_800_480_cap# E7 s0 E& U6 l; `. e
4 c0 P* b6 h& t6 `
| 7寸800x480电容屏9 k0 h/ E* i8 |* X
* J1 F) W: u7 S& V; o
| lcd7_800_480_res- J2 [! u" C4 i9 }" ^
9 e, W& Q' C7 i1 ^ | 7寸800x480电阻屏" ?* }5 {6 z3 x. T8 Q
1 |: P9 l( V3 }+ k! ]
| rgb24+ R) H5 k' S( b4 i
4 _( A) m N3 O) e2 P/ w7 J/ Y/ ~2 B | 7寸1024x600电容屏
! [3 l& [9 ~' x8 g3 i: z! N# O( b' i+ }; l/ {* W6 b
| lvds' L+ y" y6 t% R% G, U
. s" U M% H+ Q/ J | 10.1寸1280x800电容屏
" [2 n; ~) x/ G4 e
- m/ y1 I" {* `& D |
3 q6 J+ m7 Z4 H3 p7 Q3 {; C3 f; Y& \" alcd_resolution:描述lcd屏分辨率;
* ^1 I, `$ ^$ A v2 l) u/ G; d! v" R# K$ u. r$ g6 ~3 y
tv_resolution: 描述tv屏分辨率;
: {6 ~6 f7 m& U Q( ]/ ?6 n; G- p/ |# d( v$ P: C
disp_dvi_hdmi_type:描述hdmi接口还是dvi接口;* S/ J# B |7 k3 ~# h/ c& {3 s
* F( l! ~: O: c# m$ _. y' x
hdmi_resolution: 描述hdmi或dvi接口屏分辨率;
$ G; q' i6 r5 ]/ E
6 G/ c! G# T' U0 uuboot_disp_mode:描述显示类型0代表单显LCD,1代表单显hdmi,3代表异显,5代表同显7 n) z) c6 ?7 K
) e8 Z& U, J0 q2 x$ C- N( g
举例:0 e/ e# U5 t5 J# o: ?( W- d
1 P/ z1 `. n) r* A& N5 A0 x
将T507配置成同显模式,主屏为电容屏1024x600,副屏为dvi接口屏1920x1080P60。
& ~7 g0 g, V4 M
0 r9 {% t) G5 s# j1 V
7 z/ U. W& i, C. [( Z1 v; c9 o" }$ |/ ]0 W
![]()
' `( M* M7 K# b% }
2 a1 h0 o8 m3 y5 l6 V4 y# v6 H) `# S) c" p. d! {) @
' d% _# D: l2 l+ J9 S4 z6 i$ ^注意:* r, ~1 G6 w% R) Z1 a
: _" L% _! H& V0 P9 w/ K* d' \
1. lcd_resolution和tv_resolution只能存在一个,默认使用lcd_resolution。% V) B4 J( Y$ u) a
; i% r% o+ W4 Z" s" n% Q
2.对于MIPI屏幕种类多,可能现有时序和控制字不能满足要求,需要自行更改dsi节点下的lcd0。但任何和显示相关的节点status属性,均按照默认处理,程序会自动控制。
- j0 H% j& B' M5 i F$ z/ w) l2 L, c/ }' k: D& S+ F8 s( D
2、uboot菜单动态控制# T, p% `# R2 K- ~! [5 N9 J$ y
& S0 m M6 E$ @) K该方式在T507现有已支持屏幕的基础上不需要重新编译和烧写,即可切换屏幕。8 ?& E- v+ i- P2 _ h' g' C0 u
# A# B' n+ ]& i! A; ^
1、屏幕控制一级菜单, i: a9 s' A4 E7 N3 e8 t# }
0 ?! j9 ]. P I4 y在uboot自启动过程中串口终端按下空格键,即可弹出控制选项:
( E( N. A# m8 N J, g2 o3 m$ x) \6 Q( F7 ?; E$ H1 k s
- K* U. W4 a0 v3 e' C$ N; H4 U
: q( F# q( ~: M7 K) u/ j; u
![]()
! l( L' A6 @3 A! X9 m2 \( E0 I
" J, R/ T9 n/ F! Y% `6 ^/ @0 F( m6 Z* I, m& F
1 @7 u3 D1 Y+ Q1 M1 A: J输入”0”:& T0 C% e$ E- l: C6 Y
5 o2 R: a# t6 c, j
输入”1”:开发板重启;- L" n5 W! B" ~* h* M7 @
( q5 G9 p! A. V, |3 }9 ?3 h) D6 G7 V
输入”2”:进入屏幕控制子菜单。
$ [/ A7 Z/ v6 D! t# b2 p: u$ l0 h6 l$ e+ \ R8 A6 P1 F l
2、屏幕控制二级菜单6 T* t0 l) B$ V& z( f+ Q$ r- d3 W) X g
; M; F" \" U' r- L- }/ r% q( I# M
屏幕控制子菜单,如下图:
* |" C( e) M& E- K, v. v3 G8 |9 ]
7 l2 R- q1 g x& i! e
! g0 F. l/ }6 s, U( N1 h& G% z" F& p/ W4 A$ p; _- G8 e. H
![]()
& U- ?! ~. K9 z0 m# E/ U
8 U, t* Y* t8 {% R, B7 t! M
8 z6 H+ g/ A3 q; T
5 r6 F& C( l7 \( m! z+ K1 s7 H输入”0”:退出,返回上级菜单;
% [: z: s; A4 \0 Q- ^1 J6 Z" _. y P; N% Y$ Z$ ^. M+ v4 x
输入”1”:进入LCD屏显示参数配置;6 b. }$ J' V2 W7 N3 r3 k! E
6 x; }& N' n) B. S7 ^输入”2”:进入HDMI屏显示参数配置;
n& H" [' {0 `& m: M! r5 B5 \: } _7 `. T4 ?/ M; T0 _
输入”3”:进入TV显示参数配置;
) D! G" y& B" e* V( u. g' t# @2 o7 I6 ?! ]" Z6 K
输入”4”:进入显示模式配置子菜单! C1 \5 f" t/ l# a+ z
3 ^/ S, Y" F7 Z
3、屏幕控制三级菜单
5 Q0 O( s4 y% [' D: A3 f5 D% O$ p) l$ g7 }. M- [
显示模式配置子菜单:
/ t& Y: K+ M. Z6 K
' B9 p: L2 E- v3 |9 P2 W3 \: j屏幕参数选择前,首先由屏幕控制二级菜单终端输入”2”,进入显示模式选择菜单,如下图:- M/ T" }6 r- X4 X( q% v7 J
; ~8 [, K, k! U& n( n) V; y" n6 P; I! l- g5 G3 K. @3 S
# f O( _2 ]9 _* @
4 v O7 B0 Z% K+ I# Y
, _2 e8 h4 b% ~8 S$ k& H {! Q/ p0 K( A, e0 A6 V
' q) X2 d) u9 v7 {; ?* P. o
终端输入数字1到7对应显示模式类型:
! j, x3 p+ v' S. i# V1 b' |4 h9 `. u, y/ P, y
输入”0”代表单显,返回上级菜单;' \- M* d. M6 W9 F4 \4 F& a& }
7 l- j* ?' w0 o5 B/ P2 Q/ m# m输入”1”代表单显,LCD屏显示;
: U s. X3 W0 j& X T! z# v! h* J
输入”2”代表单显,HDMI屏显示;3 a% g0 F) V+ I4 M( p% O$ L, Q; w
' v0 p- Q7 R* M0 n1 s- V输入”3”代表单显,TVOUT屏显示;
# A, A" l' ~1 a4 h# }) [ \" h2 U. V' L, ^8 C
输入”4”代表异显,主屏为LCD/TVOUT,副屏为HDMI;, ?* V! X# h2 |1 C! k3 g
2 k/ [; |! M6 n% B; W输入”5”代表同显,主屏为LCD/TVOUT,副屏为HDMI;
0 h# H$ C# V2 o, x w. ~
9 p& f* w, y% j# h- v& o/ L' N输入”6”代表异显,主屏为LCD,副屏为TVOUT;
# T E- x! e! D5 I3 a1 d0 f% u1 o: C' q6 [" e" i
输入”7”代表同显,主屏为LCD,副屏为TVOUT。2 n$ w: r2 p0 H6 c& H% w
: e% l: T) b5 Z0 G3 |; |5 P7 o
LCD屏显示参数配置:0 R& P, {/ R% p" ^% X( G
% L3 K6 W/ z4 \3 ~5 m) z0 S2 y0 m+ g由屏幕控制二级菜单终端输入”1”,可进入LCD屏显示参数菜单进行选择LCD屏分辨率:% |/ l h& ]; {( n1 m
" z/ ^+ f( ^ `& e6 p- f2 U8 x9 A$ [, f
I" h. Y% S. T1 [, t ( D% f/ A9 r6 e
# N% _, A$ l5 Z% R4 {+ T+ ^
! c8 x$ W) Z5 ]6 [! `# E4 A
' q& F) n3 R- T8 N$ D* G2 fHDMI或者DVI分辨率参数配置:
; @& i3 l1 V3 r7 ?- [& z5 r6 b( J2 s. A1 s1 K/ f4 x2 l
由屏幕控制二级菜单终端输入”2”,可进HDMI或者DVI显示参数菜单进行分辨率选择:+ W: T0 {7 H7 j. Z
& I" [3 f9 q2 e4 r6 w! e
+ S' {/ Z0 f; D: E0 U) b9 ~ W& Y x: a- O) p9 G0 V$ A* W
6 h: ~: D; x* [0 w, Z
9 i) d1 T+ L8 ^6 n% ]
" ~# o5 U* U* X* L% o
4 `' g( v' k7 c& x$ l" ~ G输入”0”代表单显,返回上级菜单;: N% r- y, e% E# \. }. C5 {
3 j! P) P1 z7 x
输入”1”代表屏幕分辨率是1280x720帧数50;3 q; ]' Y4 y' X
/ p) C6 x# G( L0 p% o输入”2”代表屏幕分辨率是1280x720帧数60;
' `( o& C% H+ y
" E) W. }+ m9 q0 w7 I输入”3”代表屏幕分辨率是1920x1080帧数50;
, E( |: d4 w7 ]
' w& D: y4 H' B) m0 V输入”4”代表屏幕分辨率是1920x1080帧数60;) J) v, G6 s9 U! ^+ u5 X
* i7 ]0 G3 U* }0 d$ }输入”5”代表屏幕分辨率是3840x2160帧数50;0 }! g: q. F2 [* w& x$ O) @7 t
/ Y$ i+ F; C) P0 c7 D: c: e3 g; o% v
输入”6”代表屏幕分辨率是3840x2160帧数60;2 x- D( [2 B% M6 x2 I6 V+ y
2 C+ Q0 Y6 P+ ^3 d2 ?9 Y
输入”7”代表屏幕分辨率4096x2160帧数50;
$ j( w- Y3 n) O: r) b# t' X. [ X$ x6 D% R, F6 `8 L( i& R: u
输入”8”代表屏幕分辨率4096x2160帧数60; S3 C) M& @7 ?1 Z0 \
. a( S: t1 C% p+ Y- m) ]$ [' |% [
输入”d”代表使用DVI接口;% i% H# @2 |" \8 l2 L1 i
( V9 T+ H: i' a8 N) |0 B' c" Q输入”h”代表使用HDMI接口。
7 ~* @4 E$ { X* ^. N+ @2 [ S7 S& ?# D3 U9 Y
TV分辨率参数配置:1 I6 |7 E* A& b8 n! S9 e' r
: s9 E G! v/ X! a' H9 Q5 O; [由屏幕控制二级菜单终端输入”3”,可进TV显示参数菜单进行分辨率选择,当前只支持720x576分辨率:5 f2 U' h0 R1 K# n% m
( o" h& O2 t4 j
6 ?& v* Q6 N3 c- B, F/ a" Z) C; G/ c( c% q0 |' o4 f
! z$ S$ x: n! M
3 V5 P" V- m+ U3 W4 D
; O/ b" H! s2 U: o9 P+ Z1 ~3 [% f {- m& A* Y
, J2 x/ }1 K4 _4 `# s7 M5 M( R
" E4 a: J ~- }+ F5 f% P
注意:
5 h) Q7 t: b1 [1 \9 w+ x
& W- y% T# F# _5 S: D1 w1. 选择完成后,按复位键重新启动,重新启动后生效;
% m3 B! D9 S A# `( N) }* j1 } c! ~* v6 c# X
2. 当前版本将TVOUT配置成主屏时,请将logo文件bootlogo.bmp分辨率修改成720x576,更改logo方法请参考T507”logo更换方式”,不在赘述。
1 y) x( Q9 L3 ^/ p* V: p1 W: U" o
& o; c( x7 j; Q! j1 v! Y* I0 M$ }2 q1 p& `& } J) W5 J7 n; h
' j2 g9 Y, t3 t8 C L+ \2 B7 | I
, ], ^, c* @7 \+ M
) B- B% K* A: D
* p9 ]' E$ [' ^8 O* r( Z/ u+ G; V
|
|