嵌入式爱好者

查看: 14440|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 * ?# w6 B* d9 z, K9 t. q
. D; R& ]  P$ Q5 I
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。9 W4 _2 W' s' b; W4 J& F
                              
9 X/ w8 P/ @& I3 a
* W- L: G* l  s1 ]  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
5 f+ w/ ]# J( d5 d/ n+ _ 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
1 y) D% P$ o8 t" v0 u, z( |) k1 ?- ?6 Z
引脚功能复用思路:
; E& D* R% K5 G+ U  ` 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能$ Y1 L2 n- K/ h' z! k  y* {
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)3 ~# {6 E! ?& E/ E
3、添加新的功能并使用这些引脚* Q" E3 A' _9 {9 Q/ A  l" r1 `
) V3 U' x  G5 X& A' b4 p; f
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
1 n) J; \- @: ~& |
3 M5 z7 D, H, i- V  一、确认UART2需要的引脚+ K. l/ O. }; d3 U: X8 g) G
5 ~4 J# |5 \) T, g: f9 }
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表) t5 n) D7 T3 M' B! ]
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx6 f' R) k, x5 Z0 `( L
6 N) J* X- w( `( q0 E+ i* @7 v
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
  h7 Z/ @! B$ `4 z; E4 |, a7 M& i2 \3 ?
                    
  引脚名称               ; X3 m0 N- @  h  m; w8 ^
/ q. u# ]# {* x7 i( F3 Z
  FETT507-C默认功能                                 ' U& Q9 d( L) k% `) S' j# k2 g( U
   可复用功能                                 
% N% k" ?3 ~  T
                                        PG15                                 
, a$ _2 I9 E0 W6 N, n. ~; J
  PG-TWI4-SCK                                 
9 L+ l- l" F% O' \3 m# F( @; t
UART2_TX
                                        PG16                                 5 W! a& i$ h7 ?7 j1 \
  PG-TWI4-SDA                                 % E, u3 D+ u9 G* G3 b  `, j( S
  UART2_RX                                 / ^# V. Y) t, m% g! G9 A% o; g# |
                                        PH5                                 
& ]( S3 a! n5 X% t
  H_I2S3_MCLK                                 ; F# ^/ Q' z) ~6 V+ J1 E) V
  UART2_TX                                 ) J9 R4 R5 Y6 c6 {
                                        PH6                                 / b# W. m# z- d  A, I* |
   H_I2S3_BCLK                                 6 T. K& y; `( X) W
   UART2_RX                                 
1 L+ f6 \% d) _8 a$ J. \
  PI5                                 
  T1 v9 k& W0 A! }1 R* F" e! _
   RGMII_RXCTL/RMII_CRS_DV                                 
! j  D0 X& ]% v
   UART2_TX                                 
2 `5 i/ r. z3 k5 F1 g
PI6                                 ; W& i% t1 {/ M' t5 E
    PHYRSTB                                 
2 g8 F; z; r& ]: p1 X
     UART2_RX                                 
9 h$ @5 X& d7 H3 C$ w
) v! M" J4 _! ]; r6 U' h
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
* n* N* x) r/ \- K* P( ?8 Q5 S8 V7 q1 o
二、去掉原来功能对这些引脚的使用7 [- x* l0 L# q- \" g8 q( W: o
- L( @! |- y, f9 E. Y1 Q8 R# M  @
◾ 打开源码,先了解一下T507的设备树文件:/ C% `5 x% ]( }, y* G

( _/ ~- w2 H! ]OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
6 ?/ V1 m+ \' _) h! L( E 功能配置设备树2
' r* g( m, ~$ U6 b+ G9 ^, Q7 G' X9 D% k0 _8 Y* e) @- m
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi: v- i' v" p. y* d  `7 `! y2 p
功能配置设备树1
$ [& X9 ~0 w( @! F% h' Y( k# b/ g3 e  v" b: b' e
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
$ P. }) L( z% U: Z  时钟设备树
0 e3 `2 H6 O) Q  M2 {) W
5 K1 ?, }3 L  i: v9 Q! \  S4 u OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
- F# R6 F7 H& [- B$ r9 x, M) i, |: ` 引脚复用设备树7 X8 Q) U& G4 ?' v9 E: _5 b
' R# t( v, S7 s8 V  V
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用1 o; ^0 @; d1 W

5 C1 p3 ]9 U7 \/ d; }/ q   
$ u9 _1 E. p1 Z: k  u; Z
: s3 [4 o# E- q3 Q6 U ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b, t  G, a2 N9 e1 S2 ], z

" v% C  w! s7 ~5 O$ o$ ]* I8 ~1 O) b   
" n& l2 f, w  @  L0 P" k+ w( q7 A/ k8 Q6 D3 S/ b
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";0 h3 V# K4 T2 i0 k, a

2 |" e1 K: W0 @+ |   + o8 b  l5 f& w& q& N
4 E* X$ x+ x$ j" |, W
                    ( l' Y1 u3 I  S8 i4 H
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。* ?( ~& {2 X0 P/ O

8 Q6 p+ [& X1 n" F0 S. e三、添加串口并使用PG15、PG16引脚
' X4 L1 X4 L8 u% Q* V  ]+ k* X
! G- i, ], X: N6 o  d9 k◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
. V1 N0 J8 b4 j' C$ s1 g: w, H' w0 D3 s
     
! F3 }, j& w4 I% v+ D4 B2 A9 l
; o! H/ g* b0 f2 T& a# K  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图- E& }8 C8 a+ e; B3 W0 Z" f
2 w- ]6 J6 W1 I" v3 p
    : g: J" \4 @( |6 Z$ ~( h, @3 ~

3 x8 g7 D/ b6 g3 }8 @" l ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。) g" ]( ^) y  x( p) d' E
/ i3 j  Q. J/ p3 [; v
   
# m5 `8 }& B! S% }. K
5 M: y. X( ~: |可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。8 ~5 v+ M" X* z- e$ R5 e
然后我们打开UART2,修改UART2状态为status= "okay";
7 x' p6 G% S4 ?* _3 z, m到此我们配置了UART2的引脚,并打开了UART2的功能。% j6 o; Y( r9 L. D0 H3 j1 Z' N
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。8 A. j" K  @- J, O) N! W
  Z  I1 B. V  i; W2 r# n/ O% E
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
7 q! R8 W* V- s. n' P; v1 l虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
) N$ _9 H, P1 H  j' q7 L& V3 Y2 Z& @4 _
        . T7 n! k' [! H
                                                相关产品:                                                              
; l9 X, w( z2 O4 ]

OKT507-C 开发板

                                                  

FETT507-C核心板

                          8 [) k  V( n. _  y  B* e
        ; n0 t7 U; L1 t! Q4 T4 ~
8 U5 ]* ^& D/ I/ o8 }
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-10 04:38

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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