嵌入式爱好者

查看: 17069|回复: 1

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

[复制链接]

48

主题

55

帖子

306

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 & U2 R% m, Q9 P: L" W
3 ?/ n2 B6 @; V
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。8 k. Z- s$ p1 P
                               ! O1 u% W5 m  x3 ?

8 Y1 I0 Y& i2 Z( ~- }  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。) N2 O& o, o4 H7 h! S& Y
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
; |. z7 Y9 N5 h, b8 S4 S2 w0 F# F
% S1 ?& k* F5 ^; q) U  Z" b 引脚功能复用思路:/ T0 I' ^5 K! A, T/ f1 B
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能: t' s' X3 {* v/ |( I1 L) `
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
& i: b$ x4 Z& n2 b7 L. C3、添加新的功能并使用这些引脚
/ B7 @4 U9 P& o: r1 L& ], v# ?- J/ ^
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
  B* X" T; n6 K+ W! w: o1 e2 o
5 a8 Y, U$ J& i8 |4 v  一、确认UART2需要的引脚
( `# R2 _8 _% }0 Y  [- X, p+ S. Q7 H5 Y
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
2 y. b  Q: Y9 d& v( Y3 Y        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx  x1 O6 T2 z$ x  i8 r' p
1 H! k5 V" ?. |  G# T8 F
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
# O2 p7 _* v) X; L# X" t8 h7 @* k0 W, F4 _
                    
  引脚名称               $ b0 k, r" y. B8 J
' F) t. Z+ |0 ~; L; c
  FETT507-C默认功能                                 / P  X5 \! o% f/ ~0 S# p
   可复用功能                                 
+ e1 k3 e' c$ {/ |3 B3 i
                                        PG15                                 
! [& _" ]7 C% q0 y
  PG-TWI4-SCK                                 
/ o, v) d2 d! ?
UART2_TX
                                        PG16                                 , s5 d* F- t1 ^( e) v
  PG-TWI4-SDA                                 % T- T) x* v3 G* j' m: M
  UART2_RX                                 0 M0 G4 L% U/ A6 `! K0 S; K/ N
                                        PH5                                 ! }: o! E$ d. @
  H_I2S3_MCLK                                 , x+ ^% B# q! V; `" _
  UART2_TX                                 2 @: d. }& [0 X) k8 B: v" a( o
                                        PH6                                 % B# A: j; E: j9 q! ?( t# w
   H_I2S3_BCLK                                 & h9 \, P' C  F  }$ T
   UART2_RX                                 - m/ O+ q( k$ E% }
  PI5                                 
4 d* m8 s4 y: E8 a* ]. p% `3 N
   RGMII_RXCTL/RMII_CRS_DV                                 ! a' Y% a# Q0 q9 d+ ]8 H, Z
   UART2_TX                                 0 B# c$ P& c9 P) x2 F, I8 w
PI6                                 
- N- f7 h: p" D$ |* l0 X
    PHYRSTB                                 . @% l; {" f: X! t
     UART2_RX                                 
# D% M: ?0 k8 s" ^
* R2 K5 y' m6 |. m! w  J1 Z4 ?+ g7 Q
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。; k- D9 d. L9 w6 n
6 n1 z6 T1 d. f, q
二、去掉原来功能对这些引脚的使用8 }/ |$ T; e) F- E7 [
1 s8 E. g" h# J: Z  \
◾ 打开源码,先了解一下T507的设备树文件:
! i6 |# C4 C0 S) B
+ P2 ]5 k7 j. q6 V4 k3 L; A  DOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi1 q' K2 D! \2 A) z# B) c* l
功能配置设备树2
- v& r7 `% D/ }5 l: M
4 S, F+ {% ^% n2 rOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi4 l3 [9 G! P& l( f' P9 }
功能配置设备树1
' {' o" v, f. x4 A8 V; l, o( w8 }
6 |4 `3 o" J  f( }& o0 F! c1 | OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi" C; B- e. u( d
  时钟设备树- H" C1 }0 K  P( Z# `- @3 o# j
& W1 {6 B( r% A' J- ?0 L
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi% q6 B- j$ f& z9 Z
引脚复用设备树
  J3 k+ S( I: e$ T; F, q! o8 A2 {7 p5 U
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
+ L( y5 z) S% u' w+ p, g7 J* N
2 |& }( v8 ]! R! H: }    " T$ [7 Q. E7 O

- [0 n' D+ u" y ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
% D$ e) r# B7 }/ G/ z/ p* T  D1 }" J% Z
    ) u- n" I" I9 L2 W% Y
6 G3 L, o2 L, K' s6 X+ t9 `7 e9 v
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
' o2 I" U9 U+ C+ C/ X' `
# k3 }6 K# }3 u* k  
: i. A; g7 k/ V8 C8 e+ T! G
& r& A# D/ l: ^1 z8 Y% C; p$ M                    
; {  A# I; |: {( g' g2 {" u  N 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。- I" |: f# o5 o' {7 `0 A- F
9 h  T2 D+ r5 H  n
三、添加串口并使用PG15、PG16引脚0 ?* h6 [, E" ~0 z$ {
5 X+ `! y! E! P# u" E% D* r! U
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
/ \& }. K2 M# B. f# e" C1 l0 p6 A* p/ r9 h9 b
     
/ v, a3 y  a8 X1 M5 w" A0 K% a
- l9 t5 w2 H0 N- |- C- ?! u  z# K  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
, D( s4 R; \: g9 H) o( X' I0 r3 x7 ], V1 q
      U; }9 W  ?, J! F( a# v; s8 i5 m
1 [. t) y. q. ~, J4 S0 L
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
- S( b2 K% ~2 s: c, R1 ^5 ?
( X; s% N5 ]+ V$ _  G   
+ P9 E1 L, Z$ ^: _6 X
2 C, g! p1 D5 n: o& a可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。8 D' N4 h  k  W
然后我们打开UART2,修改UART2状态为status= "okay";
( j, {4 e* W- O% g: W* _7 a* @) B2 B到此我们配置了UART2的引脚,并打开了UART2的功能。
/ {( f$ _) h5 u当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
, M8 O6 ~( s8 m0 f3 N0 t; ], M/ S7 z/ J8 c( X+ L' \! k6 g  Z
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
3 y- k! V7 z& f! A+ C2 M) S虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。* ]+ f5 C  j; [

: Y+ p, L# a- Y8 {3 l        
/ _: ?1 C4 M% p1 m" K6 ^) E3 X* a                                                相关产品:                                                              

' u+ b0 q: i6 a; n- {; S0 n7 |

OKT507-C 开发板

                                                  

FETT507-C核心板

                          # F4 h1 @  ^; R- R: U' ~  ^+ j
        
/ B) r( U! Y7 c( G+ B: P& v& ~$ O: `3 V- p! [5 V7 E' O( g6 ~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-30 08:51

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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