嵌入式爱好者

查看: 12061|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 & a. T: e. c: s) X9 z6 I# H" d
, K0 \2 @" ?, [$ u) X1 y+ N+ S
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
$ E( H: \% N. \# s9 ]                              
, c1 L* o2 E1 O  f# v, E1 U& p- \# z
. J8 U, F4 Q# `  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
9 |0 M2 [% B- X9 g  Z 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
+ b  V) n4 m9 b# q0 l3 v) V% Y, c/ ?% j8 G& \5 P3 g
引脚功能复用思路:/ T9 y& i/ a  i$ t6 g) C
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能* t& x9 d, g  C$ _3 T0 o9 ]& G) ~
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
1 n9 d/ `1 @4 R; B, t# \3、添加新的功能并使用这些引脚
% U- U' y& S0 u- {9 p
$ @$ n$ K+ V/ t* R; x 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。! d4 q0 W* F  o8 N3 h: [: a6 C
# v4 j, w; |0 E* }
  一、确认UART2需要的引脚/ i# X7 L! E/ S, a: h  g
( L( j8 l# M. N% a
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表8 i) }  p0 u' K/ m/ ^+ [$ v
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
' I& T* M5 n' `1 z9 v+ B8 U! [
- h) t7 ~$ K) L3 m' @5 X  c ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用* h4 L, w9 s& B/ V' ?- X, H, X4 {

% E. Y: k$ B# |) u3 U/ K5 @) t  t/ a                    
  引脚名称               
, B3 v5 j( u. h& d' V. g6 W7 A, V1 U
  FETT507-C默认功能                                 
( L4 i# i6 k# v3 `$ [, W7 U
   可复用功能                                 5 v9 W6 d) k- |& O! q  o
                                        PG15                                 
5 M0 k, X' }3 }( V
  PG-TWI4-SCK                                 5 R  i+ n, @" V
UART2_TX
                                        PG16                                 % q' `) j. S9 p# I! M  J
  PG-TWI4-SDA                                 
  ]6 C, w6 c0 c* w6 a; w
  UART2_RX                                 " `  p" s% z2 S  y8 \% F9 ~9 b
                                        PH5                                 
+ @) I5 {- ]- r9 D# g" h; R
  H_I2S3_MCLK                                 
# Q" a" V0 J8 [5 f5 i
  UART2_TX                                 1 V4 A2 l9 r) K, K" P+ N" A1 \' i
                                        PH6                                 0 U* Q. q6 L& k( M0 D' }; D. }: l
   H_I2S3_BCLK                                 
5 d; X* L! G" |$ }6 O' n
   UART2_RX                                 
( S( w! s+ ?/ m2 @4 h% p, o3 ]  C
  PI5                                 
  S& X4 F: Z. X9 ]7 P- Q: j4 C
   RGMII_RXCTL/RMII_CRS_DV                                 
0 F( z- h2 D& O7 c8 g4 `. W
   UART2_TX                                 1 ]% F+ N4 [8 x
PI6                                 . \! Q4 U2 n8 V! l5 s- W- a
    PHYRSTB                                 
% K0 m9 m- `8 }! ?9 f9 r* y: S# d; H( I
     UART2_RX                                 6 X; v0 X, m( J2 p8 t& M: Q

4 z! G- S  ~! U) p* H+ J3 I小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。; N* G9 V2 b% }# [. s. ?' r
. A  h! y+ [# P
二、去掉原来功能对这些引脚的使用) o. L& n# F( V' K0 X
* g, G! \' U6 A) k
◾ 打开源码,先了解一下T507的设备树文件:
. h/ s3 v& Y. s  A: Q. h: z; G4 c8 ~* M* _4 v* v0 `) ^
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi7 o- R+ I) v8 m1 T( }
功能配置设备树2
# l+ a5 n6 _& `1 _/ `! ?8 U) d7 J
$ d& y5 ]) y  t9 i5 vOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi0 p+ V* g' T1 v3 r
功能配置设备树1* i% |9 F  m" B" D) [) s% Y
/ \& e5 s/ m) Z7 y
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi: K, S+ L) q8 V6 m1 r/ O- o
  时钟设备树
9 c* v; I/ ^4 ]" E* d: q8 n& q( P- q5 o7 w( t/ c
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi- t; l/ Y/ s$ e
引脚复用设备树
$ ]% N) u) d: _7 v5 N* u7 _
6 t, f$ i# X) Z& G- k2 p   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
4 {8 \* ], |& g1 c% M; W
: f/ R2 A+ B9 F( W( P' Y( t: _    : J' B) f2 ]( g" g
) g9 j) s3 t$ ^2 W7 v6 ]; b
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b& q4 y2 @* F! w, `9 C

" E  w6 p) j* o1 X   
: V/ W% L# l/ g2 H# w! h: R' D1 _* o/ @8 a; }
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";' ~+ M$ p2 T2 H
6 P! a1 ^+ U" e0 n# u
  
" U- X: G1 J- D) S. \* `$ k; G' w' s  J- W' x
                    
1 L* O9 u8 Q  d1 X 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
. u, Y$ k9 l# p2 i; ?
/ i, w4 a: _. e& H7 k9 L+ {6 f( A) N  Z三、添加串口并使用PG15、PG16引脚) S: g( S; ~0 d: `
2 |2 j4 f+ u. R2 l3 N
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
$ Z/ W2 w; C2 m' X4 p5 u/ i/ M8 H" }/ M+ }! K9 f
     
1 A5 R. J8 F$ z: n. g0 C2 S" L9 C6 z
, Q8 G" ?& U$ \  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
8 w0 u( W3 Q* G2 V! k3 ?3 }  |- t1 I8 I7 I2 h
   
6 ?! ~* c" u- m+ w2 I9 O+ m
- [' r% j3 }9 E) {8 p; S2 ~) k ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。9 Z& W9 w+ N% E) {- ?! x  L

3 y4 ]% d0 Q/ p    ) y  F' K" n0 S6 L2 X* F

1 u4 a& I+ v* ]: H5 O可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
( H. O% t' H1 q; Z4 e' O3 T& Z然后我们打开UART2,修改UART2状态为status= "okay";$ X9 N9 u0 P4 ~- f; P7 K
到此我们配置了UART2的引脚,并打开了UART2的功能。  M8 k1 y0 q% z' F
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
) X2 O( S: ?6 b$ @) e; b9 O8 B8 |3 U5 Q
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。2 i' `$ C' ?3 C/ b0 n$ P
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
3 G# V& p. f1 t2 s
( J. J2 E% ]) ^6 r        2 C+ l5 j! L# s2 D$ P2 Z
                                                相关产品:                                                              

, H0 B( |9 [6 U* |

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
3 [( U7 h3 z) N8 R& H. j% a        8 f# `. e! B8 [$ u

! \" x4 l4 w, D6 S* t% }0 V6 A
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 19:36

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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