嵌入式爱好者

查看: 14178|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 2 a( H9 J1 t9 P
" }8 f; V$ m  G8 K6 X% {* j, ~
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
5 @" M+ L  P. I, U2 t, O% h                               - t5 s" n0 m- c$ W( m; o

2 S/ y! j% e% ]; Y  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
# p1 U: Y$ X& d2 a4 X/ d0 L3 g 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。- l3 [4 h1 E* t

# n/ `4 ~* |. T- W& ^! t 引脚功能复用思路:
$ S; Z2 n6 I" z3 n# Q 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能4 f6 R( r8 L1 n8 F0 G" N% v
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)! @5 S/ b" P  ]3 {' E5 Q8 J
3、添加新的功能并使用这些引脚6 v+ `+ W1 ~8 [4 r& Q5 W
  n" ]9 g$ m- @9 S. p+ s
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。: f: D$ G; _  @+ z2 M7 d2 B1 S
8 _1 V! J& {  x
  一、确认UART2需要的引脚
; `1 s7 h  C: O6 X1 Z
8 ?' m4 w, x5 h. E  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
1 s$ k) N4 S4 H1 K. _6 O        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
- ^! [9 a! J3 f) R" V- s% \" l% M  F; c. L' B" G- _
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用4 S9 ~4 T, }; W3 H6 j" z

/ o) z( h2 r$ L7 Z% D                    
  引脚名称               
* c% `# Z1 A0 L; q( _% m7 i4 B4 R
3 W8 ^6 w1 o+ \+ Y
  FETT507-C默认功能                                 
; q# ]7 F: l' j, _  n" M. Y" g
   可复用功能                                 0 I5 j( {* l8 J, D
                                        PG15                                 
, G4 f+ |4 l* W& C- l! G
  PG-TWI4-SCK                                 
. ~% V: U" t% R, n& p5 U
UART2_TX
                                        PG16                                 
8 w' y* }2 p, ~, O$ o: s
  PG-TWI4-SDA                                 : w% c' g) s/ l
  UART2_RX                                 # }- k- |1 }! }: v* t3 V% E
                                        PH5                                 
* U# k: A8 b3 |0 a; z! z
  H_I2S3_MCLK                                 
, s9 |7 |& c( g' W  {8 V% j5 g# n6 \
  UART2_TX                                 ; }& _# M. |3 W3 y1 j0 m% ^; n# F& y
                                        PH6                                 
8 V! n& k7 W9 ^& f8 Z2 T4 u
   H_I2S3_BCLK                                 
1 v0 G, X( L: h4 f: q* X, q) O5 z4 F7 q
   UART2_RX                                 
3 N1 f, t# j2 c) ^. N; r
  PI5                                 
# x4 a, @. p# e& B
   RGMII_RXCTL/RMII_CRS_DV                                 
8 \- w4 w$ z# p5 g# q% A
   UART2_TX                                 / A# l1 p8 Y( |' i" }% V* Q2 `
PI6                                 9 i# Z. F( J1 B" i2 a. k
    PHYRSTB                                 6 C/ A& w  _" O9 E
     UART2_RX                                 & l- L8 @, Z) r4 _/ ~6 q1 `: m3 [
6 H* P1 P0 f; k+ K5 c
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。7 v9 |- H1 L8 z: j) `" Z& \
( ?# g+ a2 e$ i' r! f
二、去掉原来功能对这些引脚的使用
* f9 W# c- l& D6 A2 s" r0 M8 n* x0 P4 L  A9 k. Z0 @- H
◾ 打开源码,先了解一下T507的设备树文件:
" m3 S, ~' J- c3 P/ C7 F% Q  h- n( X% Q& y2 Y8 ]. G
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
* t8 O; s. n6 A" t 功能配置设备树2, E8 Y  f5 D) i8 Q

" ?# O0 D! s& c# c) b0 R/ GOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi% ~! k! X9 E! Q" ]" o
功能配置设备树1
8 B/ i, h& {/ B0 o& F0 ~( j, r7 Q* a+ N* E/ A9 `" W, u
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi& z; K4 q/ T9 m; E
  时钟设备树0 N) i5 M) d9 P1 q) j
. i* w" b+ }" N) a2 v9 C
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
8 T# f4 V& N9 T5 r4 x, F( q5 ?" b 引脚复用设备树
% c  L; `9 m' C$ i/ _& a4 ?+ ~( h* z  R
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
6 L  J- t) b) t  Q  @+ N1 g- P7 P1 q% Z, s* _
    " U/ I6 j# Z5 N* \) w, s

! N1 a* m, S3 @% C1 B2 N! p3 Q ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b4 T( d" m+ o8 s. F1 M
' b6 L, r! z! Y2 X
    $ V' W  ^, }. ^$ }" q
! c' a$ w8 F$ y0 z# t& s
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";- ^) H% ^* G6 L

+ a3 r; H0 Q; ?- g$ |9 r7 m  
3 w) C* W& D" x& @. R
9 }/ e$ A4 E: ~6 v, X' k& T                    ; @6 _7 W& J5 s- @
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。& y  t) N3 m5 D3 Q

- r$ a. k4 z" v1 o  J9 g: F  S三、添加串口并使用PG15、PG16引脚
" w3 L5 U% e( y( u
2 Y+ z1 e6 Y) b4 D◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8, o! S5 O3 q$ K! c
- D1 ]' v" M; k, d
      # ^: Y7 C! s$ [
3 z' Y$ |4 A- ?9 O) \" W
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图" H& Q6 Q+ d! G$ M4 s( X
5 i( K5 _$ ~/ @: ]( r& l
    7 @1 l8 [1 G5 w& B) y- L
5 j0 `# B4 }0 }( ?) m
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
5 _- Z  h2 P) T5 r; i  {0 e7 m2 C" a9 E, Y2 D
   
+ \, m8 O( B* K
: M8 @0 A6 ]! B- H5 ^' T- v可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。" ^4 ^) I4 s1 k2 y* b
然后我们打开UART2,修改UART2状态为status= "okay";
0 ?% g& Q  ~2 W" j2 l4 X7 B4 p) P# W3 a到此我们配置了UART2的引脚,并打开了UART2的功能。$ g" K/ m$ D% z% F2 [& o% x. X8 z# E: K
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。, p) m! b  w/ n! R% P: w3 l
; Y. n- P! w# Q
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。+ h. L( P2 x" k) o) m
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。; b. m3 T+ x% \7 b- ~/ K
0 F# t/ r! w9 v% y& ]6 z. K9 O; z7 H
        ' H- `! A3 c9 d5 }  X. U
                                                相关产品:                                                              

. P: \; e' w: v# H9 g' F$ S

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
4 N6 d# A4 x- Y7 q0 k/ b; j        
% A! I. u3 x/ P8 l/ N/ n- E
/ K7 h7 {; B# k" p' C0 o4 i
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-21 19:07

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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