嵌入式爱好者

查看: 13218|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 , M+ R+ H& I$ B& P8 m) a7 {
4 T! h* M* m' P# F0 W; p
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。1 F2 c/ Q' V2 }) D3 X
                              
  C$ E; c9 `/ N0 @: y1 T9 K9 ~8 j
- }+ a( r  y/ B! b$ G7 ^$ u  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
3 |% g; m, F+ k5 j 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
* X- R  D' U' A7 L) x  p
- r' Q6 L: K; e/ p 引脚功能复用思路:
2 Q) u: `# L/ [$ i) ^: O( V' C 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能  l# n" x+ h  w% w+ W
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
7 o2 D8 Y( S/ n; E! I+ o. [3、添加新的功能并使用这些引脚* H& B, l- Y; H
0 l, f/ s& S; e7 Q9 W0 @. @
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
- N9 G% R; C+ l* h" L2 _
2 A9 T5 `8 E5 G: L" a  一、确认UART2需要的引脚9 [# V6 p" G( n
$ h' ~3 _) {" S  ^6 g$ Y; Q  S3 Z
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
. Y! Q. C7 |% e# t, I% b# u        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx' H. |1 M5 z( H2 {* g+ d3 @: f

' V% z2 y; M# e% s5 q5 r ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
7 G. O: F1 w+ H( m8 |1 J1 m7 A9 q0 |& n# R  u" h
                    
  引脚名称               
* @; }8 A7 K5 S9 ~4 m, _: |$ b0 B+ {& D
  FETT507-C默认功能                                 
7 b5 ?) i8 l( E2 J$ {
   可复用功能                                 ; _+ J3 @& F9 b0 ]. ?
                                        PG15                                   U7 x6 M2 n1 H) j4 g3 X- \
  PG-TWI4-SCK                                 ( s$ P! u. |7 W5 {6 O
UART2_TX
                                        PG16                                 8 c9 Z1 J4 I, D( f
  PG-TWI4-SDA                                 * u3 |2 o. o0 \6 L" f
  UART2_RX                                 
4 E3 s; X( d! I9 ?8 z0 A( }7 q
                                        PH5                                 ) Y9 j# e: @: _$ {
  H_I2S3_MCLK                                 , j0 q' S/ T/ h' B2 A4 g3 \1 j
  UART2_TX                                 4 l% m. u: M9 G; g9 f, i# y% D
                                        PH6                                 
& l, F9 U. c8 y6 `4 Y
   H_I2S3_BCLK                                 & C  S: o7 a- v8 E0 k
   UART2_RX                                 
- k/ ]& U: Y' t5 {9 S" U% C
  PI5                                 " m0 y( H) ?! m9 _; _( y7 M! S& }
   RGMII_RXCTL/RMII_CRS_DV                                 " f2 J9 c, u# X+ H7 \
   UART2_TX                                 
1 M& A' K" \) G6 z) R
PI6                                 % I/ ?" |- _0 C, p* \4 K, w
    PHYRSTB                                 
+ j0 Q" W$ y6 e% [" U4 ?
     UART2_RX                                 
; H) ]; P1 r" a0 i

9 [8 E  y3 J. {/ M小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
4 x. v7 j# [) k# a5 [- P( Y1 s3 a! o% m; o# s9 _
二、去掉原来功能对这些引脚的使用
  R6 c) n8 \7 F- ?$ M! L4 p8 ?) K! t+ @
◾ 打开源码,先了解一下T507的设备树文件:
# w8 W" G$ `, T! U5 d; }5 u8 h
0 ?/ B- |. J  P$ jOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
# B  D2 V6 o! g  [2 W. D+ Y 功能配置设备树2
- t; G# O" w3 q
/ F  `4 e! J- T3 f# w4 KOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi2 [2 G+ S1 E) E2 y' t  f" o
功能配置设备树11 x3 p& w8 D5 B  B! J6 {4 X# E
! K& j4 `6 o$ x0 v
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi& P6 m% w( o- q+ u# I
  时钟设备树4 }1 E! _) {; a7 J, R
, R. O9 i- V9 x3 m7 ]1 y  @8 t
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
" J5 l6 v' b7 q' i# y2 N1 n$ c 引脚复用设备树# l+ j* K8 |# o  f* ^+ e
* J4 Q6 B8 w- F+ }% I) ]$ m0 |( K
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用) ^3 z& b  \3 W* `. n, ~
" F, J5 r, T) E' V* V4 T$ c
   
  g1 o0 N' g8 b. a3 o
+ m/ p7 J4 q; D4 ^! ^ ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
* [' z! Z& n! _/ p3 w
- q! \  ]! z- m3 L" p+ S; D   
* M2 \' g+ k' Q7 K
% N& d8 l; H, P1 Q6 a◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";( C/ j9 [$ ?7 `

* y2 x3 H" `# B% V3 ?. |8 J! V   2 b+ R1 Y/ k+ w8 r" H# y4 o+ ]
2 f0 z( {, e9 T5 z8 ?# f0 d
                    
3 X6 r2 `* d0 X( W8 [% U' B 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
; H/ D9 S  M4 H8 t( v
7 O3 q- E7 L- n0 q0 s( ]6 D三、添加串口并使用PG15、PG16引脚
! O  R9 N0 Y& g6 `" E4 k3 q) Q
, g6 E# U/ d  c& h7 J- O* U* I0 [◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8/ J: E- P; G% X% l' O9 A

9 E4 |' ~( N6 t& D6 N4 `/ w      1 F* b, g5 }, V# U6 N
: i' \8 z. R: Y. j" A
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
& S+ b6 a9 l- @3 A+ S
- ~" m9 z" w0 J, v1 [   
' l9 Q1 {% P6 m) ]) h# F9 M* s, Q- p' b
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
2 W2 }5 r  b' F
+ E: A8 D  l) S1 R3 f7 Q5 s    : W* L  ~( o, n4 z8 i' v9 }: h7 ]8 k
! q9 e$ ^0 n/ r7 D
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
0 |6 F2 G$ D2 y/ U& ~4 B, b/ U然后我们打开UART2,修改UART2状态为status= "okay";  L& c9 |/ h3 R( Q" m4 p+ B( |: V
到此我们配置了UART2的引脚,并打开了UART2的功能。
5 T$ R2 K5 h2 r当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
, R7 i0 N1 H- {! T8 ^" R4 U( R1 `. T! O
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
5 K4 C+ x2 G, _虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。  P" P. m8 r4 M  W% ?% g
" J6 k2 r1 D- L* X
          b' j; d8 G, `! P
                                                相关产品:                                                              
3 @: }( {# U9 x( W: \

OKT507-C 开发板

                                                  

FETT507-C核心板

                          0 v& ?8 |9 a1 {1 T6 ^
        , O3 _; \$ _+ ~: h  I- ~+ E

% T  E. ^, d# s" B( V8 O% k
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-6 00:59

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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