嵌入式爱好者

查看: 16352|回复: 1

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

[复制链接]

48

主题

55

帖子

305

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑
; D$ Z6 Q0 x" f/ C" L. x
7 n' N: _- l9 T5 p6 x  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
* k: J4 X% L6 e  L' g$ N4 F+ m                              
, `4 E. d( h* [) d( A2 _) m
" O; F! s3 h" Y2 }; `  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。- `1 H" E7 r0 \* {3 L. \- o8 n
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。$ S9 ~. y/ @- }; b" e
) }* ^/ ^9 w' r9 e$ p% X4 H  |
引脚功能复用思路:1 B( ]) E" _: R4 A
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能% F: G: h- N3 L5 G- ^
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
' @0 D$ X! ?' F, M3 W5 l3、添加新的功能并使用这些引脚
" H( Q8 n  U8 a4 Q6 N" h
6 D: ?2 H% Q6 P7 d/ Y% `2 q) V1 c 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
  w: y+ Y, o% \) E& S( R
, _1 x2 ?2 H0 ]  `8 R  J; {  一、确认UART2需要的引脚; p" ^  H0 O. \8 h" h& E' A$ _
" i- ]) K4 P: m+ ^
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
, |: f  y4 S; \( \' s) ?        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
9 D$ X6 F5 f1 [" o4 ~" w; e) R4 g/ v9 I! _! L
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用0 y; R: i& G- r" Y" i

: t% \& K6 Z* K: u6 [                    
  引脚名称               / a$ L# L) l5 `# ~2 o: m6 J

1 G! D: j( \# y  G- m
  FETT507-C默认功能                                 
3 Z0 v8 s  [6 e
   可复用功能                                 ! H6 f" y2 P! u7 D. D
                                        PG15                                 
/ k1 ~8 t0 R3 M8 ~9 r8 |; }9 Q
  PG-TWI4-SCK                                 
1 C) h: h, I2 y; z/ t6 w
UART2_TX
                                        PG16                                 
' }6 ?' [1 Q+ o  ]
  PG-TWI4-SDA                                 9 d3 e8 a1 p0 G8 |/ A  ]- V) V& e. W
  UART2_RX                                 + S6 K! {) I+ A! X
                                        PH5                                 * c$ i$ G- r3 ]6 a3 {
  H_I2S3_MCLK                                 $ w3 D1 s; o3 i
  UART2_TX                                 
0 Y* r6 y  v/ U1 i9 h
                                        PH6                                 
0 j5 M+ `6 r) a( O# g0 e8 x8 z8 c
   H_I2S3_BCLK                                 
) L) Q  `8 G  X6 }" w! x
   UART2_RX                                 & H1 R9 d7 D$ S: B
  PI5                                   n) ~1 c( O' {% v
   RGMII_RXCTL/RMII_CRS_DV                                 
7 b  h8 G9 t9 f7 z
   UART2_TX                                 / N# ~, x3 _; o. L4 Z; y0 X
PI6                                 3 y  T! [* Q0 n( j. m0 i1 Q
    PHYRSTB                                 
2 q2 r/ J" C  W0 c* ?5 W! ?
     UART2_RX                                 + H  Y1 o; g3 p  h
7 ]% i) A* z. _; M/ I
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
. P% Y: I$ E+ R% L, R
+ S# S$ T9 C. n二、去掉原来功能对这些引脚的使用
8 Z- @& ^8 x$ x5 W; c$ K. ^8 s+ T2 s( ]& b" F( y
◾ 打开源码,先了解一下T507的设备树文件:+ D6 `& l- x( }+ ?% u
* l$ n7 S: P; l: L, n# o- S% _3 a7 a
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi9 D2 S9 e7 }; X& k
功能配置设备树2
+ b, E6 |7 O9 s! y6 R/ W3 y
. e- X1 M, _7 C: e2 G. r: G! SOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
0 [+ y2 z, F7 g% T功能配置设备树1
: [1 B# M. w3 s; e. `$ w: q) h: }1 R1 d' y4 [/ S. ~
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi0 F% ^8 ]' I, d0 e& c, Y$ X; ~
  时钟设备树
% O: P7 a" \; R# a  Q' `
7 R0 v- e4 F7 Q OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
: s* Z* z. O: b# z7 Z9 p# O 引脚复用设备树/ {$ p, @5 H2 d) o+ p
( `# L4 C8 x1 E& J
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用, O2 J! F0 j& Q8 L2 P
7 e' v+ B& C# G& N- D% q
   
' J0 z# `) j/ `; o& c% C* u6 H. B
+ z! R% L. W  Y ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
$ K# E# d. d9 ]# o( \7 o
7 ~' X3 p" t! c   
$ _- g8 s5 W. j" q! @) M# X7 \7 c. c# x2 q  h$ C& h3 m' c" C
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";. \/ c# Q% s) t) R4 L
* ^. i7 L. W  f4 S
   * c& i, Q8 ?: [- W

8 v  v; m6 F$ t' A                    
8 p0 B; ~2 f% N0 S: w/ Z' \2 t- v 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。2 t+ \# d9 T5 C1 B  Q
1 Y) G$ a1 `0 F: {9 u0 Y$ d
三、添加串口并使用PG15、PG16引脚3 ^  V5 F% I9 j' Q

7 G# l2 w( T; L7 |◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8' A* `  T" B1 u9 u
; r# e: Y* r5 W. X
      $ [! m! R, y7 ^) F/ ^# x  R$ J
8 |( |4 S. T3 b% L/ H  m" ]
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
) Z' k" p" S) `8 H4 B& V3 F1 d/ T2 z4 ^
    5 N5 p& S6 M) o( y9 t

6 `; M1 l  w+ f8 \) N( A/ ] ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
& m# Z$ s/ K2 d/ n( ^2 {* C3 O( [0 S
, K, m6 V% z1 p- X4 i3 e   
0 X+ e( j" N% T1 y  p/ l
3 |; `& g! _. X可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
; F% S2 C0 z, \; Y$ u1 b# ]) H然后我们打开UART2,修改UART2状态为status= "okay";- C1 ^) v1 b9 _; w
到此我们配置了UART2的引脚,并打开了UART2的功能。# e9 n: _# k, Q2 {0 E- h0 y2 r3 p
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
0 ^* d2 \$ Q8 D: ?, I8 N1 B1 e& Z* T9 W
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。" w# |; o- }7 l+ i% T1 q
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。6 g9 S! b! n+ j* ~0 K7 z* `6 \; w
9 G2 O+ p0 ?1 j5 C$ P
        
* q% {  o' s8 \/ |' E) O) ?                                                相关产品:                                                              
8 `6 Q; m7 h7 |  i

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
7 t  K/ p2 f- x        
  ?9 ~0 Z) Q& K9 C- @, S$ \
. x: g& I: W$ F, @" B1 J2 p" d
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-21 00:26

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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