嵌入式爱好者

查看: 14721|回复: 1

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

[复制链接]

46

主题

53

帖子

296

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 - k+ L  ]  N- k0 _1 h# D; q

* w. S" i$ _% ^. N( R% q6 x  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。- E& O3 o  S# K
                              
% `* e6 m6 Y# x: ^$ k8 C+ q4 |; u; i* \  A' H6 V/ `5 g" C. K
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。# W8 k( i  B' B4 @" W
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。3 {- N1 }, @9 b1 ]0 A
# K- f" m" M/ j
引脚功能复用思路:
; ~) m- ]5 x6 l0 q% W1 _/ X, k 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能9 u2 f% _' i# ]8 H$ R
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
4 `: i$ A1 J* Q' H3、添加新的功能并使用这些引脚7 A' q1 l# R# J7 B) }( b' j7 O# l" D( g

6 B2 ^, x. A4 B# E/ t) L 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。0 I/ d) _* f5 d1 ~# [! Z5 ^! L
! B* I, `& a# h( A5 N
  一、确认UART2需要的引脚
- t4 W+ U) M6 P; o. y# L! |' I
# [4 y" }8 a" ]& U% g) p5 ?) M  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
6 K! Q) N( Q4 a, L1 Y        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx  y' j0 ]0 ^+ _2 ~' Y+ `
- ]. {! f9 r, J5 \* V+ H; ?/ W
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用+ L; ~0 |& F& E! B/ w

, \( L" S$ Y/ n9 v+ `) n                    
  引脚名称               8 ]8 F1 v; f7 G2 W" [  R

: b0 _* I* J% f
  FETT507-C默认功能                                 $ l( |/ G: F4 @6 Z
   可复用功能                                 1 H3 g7 M; x1 I( g
                                        PG15                                 
( ~3 q5 T7 r# w0 J8 b+ \
  PG-TWI4-SCK                                 . r* L  D  Y2 X
UART2_TX
                                        PG16                                 
3 C6 |0 T/ k7 h/ ~1 R
  PG-TWI4-SDA                                 : S; X5 E" A9 V& [( F; v9 {8 |* I0 B
  UART2_RX                                 
* i$ X" `; ~1 K+ m% n
                                        PH5                                 0 p  N7 H9 }8 I' d
  H_I2S3_MCLK                                 
; W" u) K* o8 _! i& [( g4 _  k8 Y
  UART2_TX                                 
$ i$ L' ^, p* m% X% m' R
                                        PH6                                 ( y: E% v1 `9 ]. y* e" q
   H_I2S3_BCLK                                 
0 B' N& W) j1 K( X: n( |" v" }
   UART2_RX                                 
% n* K# _3 h4 ^
  PI5                                 
- N8 x; X0 N: c7 ~, [& B
   RGMII_RXCTL/RMII_CRS_DV                                 
; ~  K6 _/ b& r  f! l: y1 e* Q
   UART2_TX                                 ! n0 q8 x0 a6 w3 L6 ^
PI6                                 
8 c4 ]8 E# l5 J3 y. v1 o4 A9 l
    PHYRSTB                                 
# W% e: o4 w( A8 Q! w
     UART2_RX                                 $ _2 U& v' O( ~3 V+ _

; w" i5 u, e$ ~2 }, Z1 J# g小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
5 O8 Z' C* j5 Q% ?/ V6 m; \1 m7 X
8 h" }: U, X2 O2 E- d  B2 d二、去掉原来功能对这些引脚的使用# T- C3 w. \  U4 K5 x# m9 C
( b" s6 H+ L) L  d
◾ 打开源码,先了解一下T507的设备树文件:
' i, P0 }6 T" l$ n7 D
- z- P  V/ \" BOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
! f6 k4 a% k* F 功能配置设备树2$ s2 q6 W$ m9 {( D' ^
# \/ {9 |0 ~% V: S2 r7 |, L  n8 M0 f. B
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi2 S! a; \  z5 `3 i% x$ e6 G
功能配置设备树1
; O3 R1 u, J, {" X  b$ W9 N6 m' \7 p$ c- T2 u  C8 `2 K+ r
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
/ ^" h' N" \6 w/ c4 r6 P  时钟设备树6 {, W  l$ e1 F

$ q# \3 }$ x3 c$ _3 W) w OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi/ E" q: _" u3 p& w
引脚复用设备树8 ]' [( X$ O# Z/ u: k  A
+ a' m+ N" Q6 Z7 f: q
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
2 i6 Z- G. D, J" t+ W
, l( x0 A+ u% z; G4 J6 `7 k   
* b( V1 D+ |  R0 p
9 z  X1 a8 W: v' T" I/ e1 s ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b& g- I( E" `: T0 c0 p( c

; W" i2 m. ^0 z$ O2 r, q$ K   
. G# U! [) P9 b5 q9 Y6 v- }. X6 a
/ v7 q! K& Y: ^% q2 A9 r3 A◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
- ^! x9 x2 J0 @+ S) w2 I3 }, s) A! j0 [, h1 _
   ( a9 C0 f0 ]1 y/ t, S( Y- R+ U) }" p! x

! u- @5 Q6 x2 k, p! I                    
9 _9 U9 x& Y0 B9 B3 @ 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。% _8 w5 D% t) g5 y

) o, }' B( w. W' }三、添加串口并使用PG15、PG16引脚, V% `8 p5 G3 u/ s3 W4 ~, o

" g# ?9 Z8 f2 ^/ i: C$ Q. Q◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8( m* j$ p  x8 T& e5 @3 I( g6 H% f
8 O  b/ p; s" l6 s% A; N
     
& x+ F# h: ^5 X* l
1 a9 h! U. g- V2 j  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
9 G( b! e* V# _
5 c" x8 d9 e! n4 O- t    ' S" T6 m) d0 p
5 h/ ^8 L" S8 c7 d) V+ D
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
% a" K4 L; a, |+ A, ~' H5 h2 T& Z, v: g
    , h( _' @# O- v7 V2 {' d

* o. ]; [2 k6 b- @& q+ V8 O6 D可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
4 H9 h2 g( `. {8 v& t然后我们打开UART2,修改UART2状态为status= "okay";) A/ R5 o( m( g, Z3 _; l+ j3 p
到此我们配置了UART2的引脚,并打开了UART2的功能。0 x9 ^; G  y6 n, a+ q
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。/ t1 m& z6 V+ a4 C$ h

1 A; A! G4 |  [& N文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
: r" V. [- ^, V# G虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。! O% R* i6 J! n

: H, K9 }4 a8 Y* i4 n        
1 @2 O+ S" [0 N% p# ?                                                相关产品:                                                              

: C: K+ o2 K: L# h5 D

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
! v) H2 x- b& O/ v' Q/ a1 f) ^        5 H9 e) H! y+ f" j

% R) z& M  R; C( e/ s. t% k8 U2 V2 Q
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-21 07:08

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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