嵌入式爱好者

查看: 16151|回复: 1

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

[复制链接]

48

主题

55

帖子

304

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑
1 Z( e! x  [6 M1 [4 X, l1 \/ I' v
, w8 r; q& B, O- g  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。4 l/ t- Q3 I$ Z0 t
                               ! j$ C7 M' ?  U, J$ L! r- b, D

; z5 g, M: a+ K% [5 @: Q  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
; Z7 J) ?, n5 y) K+ z  I+ I% [ 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
$ \4 r3 ^' W2 [* H; t
/ o0 ?2 w% @# h. D 引脚功能复用思路:
' A3 [; h  L# ?1 d, B4 r 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
7 J$ j5 i+ w0 h% Z/ O. E9 H 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
5 r. @0 I5 E  E2 {0 x7 D* @2 }* P3、添加新的功能并使用这些引脚- L! r# t3 t+ D
0 f2 D9 q9 E/ w0 u) I# m! d
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
" ~: p: Y2 ?/ q. C  B" P7 M
) k8 O4 u) i8 u! y, s: l8 T1 P  一、确认UART2需要的引脚
/ o# I1 e* n) w7 \+ f+ C  l/ h8 f, Y- F2 G2 t4 q% Z9 C% d
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表5 B% x/ H' c0 F* }
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx' K9 k0 r$ G( G4 d% f, }

/ ]0 {* G6 t' x  d5 n4 J$ ` ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用* f7 s1 R. I/ S7 b$ b! ~+ K% ?

1 m/ U/ M5 c# w: h                    
  引脚名称               9 h" f# \( {) e+ k
# i! \+ |) i' s9 u* ~+ `$ i: u
  FETT507-C默认功能                                 # @3 w* b3 P3 @7 ^& ], F# G
   可复用功能                                 / C7 A2 {% A3 Z% p, ~
                                        PG15                                 7 T3 p9 R0 c: z" G2 }+ o
  PG-TWI4-SCK                                 9 O3 h$ U8 x7 d6 @! q. Z
UART2_TX
                                        PG16                                 2 s1 Y5 P, s# w3 p
  PG-TWI4-SDA                                 8 J$ d" K( v, k7 a- y3 A
  UART2_RX                                 : l! Y7 t  O7 ?* O; a+ I# P1 R/ s
                                        PH5                                 4 h) J$ q# s. Q8 r# i2 q* Y
  H_I2S3_MCLK                                 8 |/ k3 U% _3 j8 J6 U# k# @8 }
  UART2_TX                                 8 X- i" u7 W4 k% i6 L1 V
                                        PH6                                 
# X2 ^4 v# u* S7 e0 n6 K0 L
   H_I2S3_BCLK                                 
& `' P' H3 F: {3 `8 I' S( p9 j
   UART2_RX                                 # \" s) h5 V) ~/ w
  PI5                                 
9 o7 R/ w! q, Z1 F+ p5 R
   RGMII_RXCTL/RMII_CRS_DV                                 
2 Z( f  I3 l& P9 X* v( N$ r6 t! Q
   UART2_TX                                 
. h, V7 \; n3 H8 I! X7 }, n, F
PI6                                 
* Z& w3 ~/ B" Z+ e
    PHYRSTB                                 
- Z  M  _! S- c& Y
     UART2_RX                                 
; |" N' k; Q! ^  U& [0 U3 `. P. L

! f; `. y; L% Y) ^3 `9 B3 J3 n小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。8 n, M) `( W0 F; _0 N- w2 J

5 H1 ?; i1 H; H0 {二、去掉原来功能对这些引脚的使用$ ]7 i3 u$ s3 L6 T& S. X& R

) `) C- L  T0 V. ~/ o$ k◾ 打开源码,先了解一下T507的设备树文件:) I$ V* x' D) t4 o  D
: J& O( o' L3 L4 x
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
! g- i2 V7 s- X6 H7 q, A 功能配置设备树2) ~; f* f. f- M% K/ M
: z/ v7 N- N! i0 h6 D0 W# n5 }
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi. s7 }% c$ E8 R( b
功能配置设备树1
+ O! Z6 l* Q' O
7 a4 k1 k& t$ c" P7 B3 _9 F OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi/ @5 q) X. g: j% {- F" ^
  时钟设备树
& T8 ^* U8 v. E- b7 b7 s$ {6 o: P  J0 ?7 _$ S  X1 {4 b
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi$ s+ e0 }4 t/ k# i1 ^
引脚复用设备树& p! f' D5 z; E! F2 S; t: _2 o5 o

1 h- a) C$ V) k   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用5 P8 L" {; a% e( t9 s5 N0 w9 V2 e' Y

5 i$ W% l+ ]9 J' o   
% Y( P& h5 O" s( h
  f  o+ U& c1 [0 |3 U ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b3 Y; F; h5 H6 Y1 T( ?! R" C

" V! q4 w1 M5 K) x! b5 r9 y5 J9 `1 n   
7 B% ~9 S! G% |  [& _% p
7 y0 r# }6 |% e◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
; Y+ Z+ s  Y! H% `+ T& R& Z5 {. w! ]) K0 i0 U; l
  
. _( ~* [% D) _$ F" _( F5 ?# ?4 [+ P0 r# X% Z
                      |" `$ t$ K2 U' }) K
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。& Q( E: l8 }# o. Y  Z
1 r1 p: u6 [' T: l+ ?; k! n7 z2 i) s; z
三、添加串口并使用PG15、PG16引脚
2 C. ~  c4 L9 y; W5 g9 t( I! d1 r- S
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8* @: Z( Z5 V0 q4 [" k

- h8 i: V3 @1 l7 Y     
, }! S0 R. _, C6 z/ r5 v# [* U  y& e0 E+ ]! P9 L  m* E% o
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
) L9 y5 l5 Z7 y" Q* w# w! E7 \1 d4 b* ?+ Q+ D9 m" z
   
2 ^) q9 u! J: B$ Q& a# U
1 Q. |/ \4 O, V8 h ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。, N2 [  T+ K# b; |! B1 V/ B; E# t
4 T0 T$ S" ~# ?+ Q9 @* h" A, Z
   
# r: o# y. B; A6 e) E9 ]1 Y4 o9 D5 G( L/ j! D
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。/ o! U; U: s1 X3 V8 t3 x3 X
然后我们打开UART2,修改UART2状态为status= "okay";5 Q9 h4 h6 b: _# v/ a  F0 l6 K
到此我们配置了UART2的引脚,并打开了UART2的功能。8 g* V( r) O/ L
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
5 K6 q( h2 T! I  l0 B( Q
: A  u1 @- |# H文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
4 k, {3 o! C4 Q" Q1 R& i虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。/ r5 q# S% Y/ M, |3 F

7 z! D8 c6 R; K# k4 Y1 M% e        2 b% U. ?* W, m% K
                                                相关产品:                                                              

. a$ d6 T6 U" u# k7 h7 a6 C, M

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
9 B' h% m: j% @! p1 m' E. o        ' d1 a! @' x1 ?- e3 T3 n* |) Z% e: N
3 v! G( h9 O/ c6 O
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-1 08:57

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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