嵌入式爱好者

查看: 17457|回复: 1

[帮助] 新手指南丨FETT507-C核心板引脚功能修改指引

[复制链接]

48

主题

55

帖子

308

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑   ^# k! s% ?$ ~+ O5 j+ Y
+ ^7 L/ c* I% ^% \
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。$ n: X! g6 \$ L9 d
                               - f! R7 n* o6 i5 P" @8 P

, [/ E% ^! F% G! p  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。& \7 n3 W2 C0 \5 B
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
" a, b' L/ ]" L5 u# ]
4 Y+ r- k+ P) H* E 引脚功能复用思路:
: E4 D' X% ?* L$ Z 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能6 {) Y- s- h! O; |: B
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
, x' @/ d  B- X+ q1 D+ r; o3、添加新的功能并使用这些引脚
9 v  L1 q3 G# U9 O, p' Q
7 N# ]2 A/ \# c. u2 h) l 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
5 \5 N# b* N7 ?- U6 ^1 q
7 ~$ }: P4 q8 x/ B: W# O! @+ ]  一、确认UART2需要的引脚
, m) c$ G1 f* D* r0 j6 @
/ n9 V2 [) h; J) x  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表" D' C6 B8 @& d& f+ m- \" e2 u
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx" \$ Q' w, h; G  o8 e; S" d. F
1 L8 l7 H! C' k! y
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用0 w8 F) o- U, {* N2 h% }
+ X9 A3 C! Z: {0 V4 i+ K
                    
  引脚名称               
8 ~& e' c. Q, G8 ~9 U
* l: o) T, g8 [( o. u  g' o$ ]
  FETT507-C默认功能                                 : K8 X3 v3 ?! _. r" Z) a$ Q
   可复用功能                                 : {* z3 ]- Y3 D4 ~$ G4 ]6 k& \* `
                                        PG15                                 / ^6 @7 _/ k  t3 {0 z% z& s, b
  PG-TWI4-SCK                                 4 w2 o0 f% R! q, a" {) b: R
UART2_TX
                                        PG16                                 / W" T  _0 r8 I" |3 O4 O
  PG-TWI4-SDA                                 % {+ ]0 P$ i4 f  @3 _* e1 i3 P+ I# m
  UART2_RX                                 - h# C9 X2 e- r
                                        PH5                                 & o# V0 w& e, L
  H_I2S3_MCLK                                 - ?$ d4 S1 m) y6 H+ r# p
  UART2_TX                                 . S7 p  R4 i7 N3 e. e+ r: \
                                        PH6                                 
$ q+ E/ P! f) V; w. u0 i
   H_I2S3_BCLK                                 
6 ~" @+ X: [! r* G
   UART2_RX                                 5 A- Q) a5 \: i0 }4 k7 T% L
  PI5                                 2 T5 c/ {( l% R# g, ?7 P
   RGMII_RXCTL/RMII_CRS_DV                                 
% l* J0 _# K# K: m# U; n+ Z  R% I
   UART2_TX                                 
  f8 q9 f' I, P* U3 E
PI6                                 
( N4 |1 n9 Z* ?- h( _$ T
    PHYRSTB                                 
. Y6 G: R$ i/ l* t+ Y
     UART2_RX                                 
; {* u8 j  a- u- c% l3 }  A& @; I2 z
5 |! N8 L6 G5 W  f) o
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。- c  _; z  `" ~6 P( }* k* K9 A; s
% g% Z$ Q/ x8 P  F7 O' B- x  z8 B- m
二、去掉原来功能对这些引脚的使用1 v' [! w, N# @6 \5 g8 x
$ s$ }3 o; ]3 y1 Z, s
◾ 打开源码,先了解一下T507的设备树文件:
% J9 z' ~0 Q- [; n- N6 h+ U0 a& e
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
: {" s4 b( f% D" O( H 功能配置设备树2
7 E+ W( _( \  l4 z6 D' N0 o& L* i4 |  M: ?- i
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi3 c* H) j0 _+ P/ I' T+ g7 I
功能配置设备树17 C' z$ S2 ~- G& m$ }1 w

% k/ f  {( w$ N$ e  H; L4 Q9 V OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi9 |- |$ g1 U* H
  时钟设备树
$ X, H$ e" q, W* r4 B- L. \0 V* X) V' Y
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi4 ?( X" Z* E1 E5 W
引脚复用设备树- a4 M0 K3 F* }& u+ }

7 O' N( h3 R$ t# c! B& ]& K/ q- s   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用3 E6 d9 L8 h. s% b
! {6 t$ B  G2 g+ a- G# L( a! C
   
$ b! s& |8 z# O; i9 y% Z$ H
0 T) W5 e6 e" q$ `- |9 x) @ ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b4 [, E1 C7 l! j. V. M& ?
* V; @4 ^' P% Z, M4 p! o. Z' F
    2 ]$ A! {8 j  F

3 i& _/ w! ?. h0 F8 O- x◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";4 t1 g9 v( A& _, \1 m/ N; b# F
6 W# z. K6 m; U1 N: u- k; d, E
   + R* o4 |9 J) W& ~/ A) f. G1 Y6 I! I  P
8 R+ E* R7 G% Z) L2 b' O* O. P
                    
; m# ~7 _) v4 b5 c. ^ 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。5 |, v& V" w$ i) S: I9 V
1 F; }9 D6 @( I+ D2 b) a9 g1 H  T
三、添加串口并使用PG15、PG16引脚
$ A9 X* }8 P7 @8 v# R) ~. _5 w; c
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH86 b9 N, S4 }& P; z( C! f/ B" G

% d1 ^% F" r4 g" L: G      / k% e" z, p7 a; w% s! m5 c

/ O( G) a/ y' E8 z( m  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
( P0 j0 j6 B' R" k; i$ @2 X
8 [6 D+ i) }  |9 v# |    . R; d) Q# o) f' I( O% {& n: ]

: m. F; r4 o+ i ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。0 L1 B: A+ _. o# X

7 `% {7 C( Y  I: Y4 k- J   
! H$ R1 l) j( ?
9 [% `; Z0 @/ I! @可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。' m0 u4 c( J  x) n3 V' R
然后我们打开UART2,修改UART2状态为status= "okay";
) c# ]0 ?5 \4 T4 [: e到此我们配置了UART2的引脚,并打开了UART2的功能。( A4 K/ Z; |7 L, D0 E* p* C5 X
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
6 h6 x4 J) A( P8 D( Y  |2 Y+ |! ^2 ~7 E8 U1 t, y) {
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
  u6 H% p/ a; a, r' W# t: c1 j% f0 ~虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
1 Z( ]9 F2 G. ?- c& j: C$ }2 @) e* v1 t0 Q2 S* i$ Y% _5 Y, X
        
$ [  E/ S  ?9 o/ l& ~0 B3 |                                                相关产品:                                                              

6 L) m; F7 g0 q' b$ ~

OKT507-C 开发板

                                                  

FETT507-C核心板

                          3 Z3 a5 v6 i$ K
        
3 [' `+ X, u: ^: |) Q, M2 G3 T: x) z& @8 j, Y: [- c% }8 @% A
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2026-8-31 23:00

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表