嵌入式爱好者

查看: 14145|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑
3 k" Q2 d& p9 H5 b3 k- O' s; K9 c' f5 M: \7 a
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。- R9 S! }, D* R9 K$ _# k
                               $ S3 B! B8 W0 L0 q, ?) k
4 Y( I* ]3 M+ Q0 z
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。+ f' q  d# i3 n7 q- R1 a
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。* ~6 J! Q$ _/ }; }7 }( X
. K5 J3 D6 ?6 F  l! B8 f' W
引脚功能复用思路:
* h; x5 u. d; P& M! n2 V. r 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
4 V# e" B* |5 B+ Z1 o  q 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
, k2 U* x+ F9 M3、添加新的功能并使用这些引脚
. s+ e& P7 A$ L3 z, `5 }& D( @: J5 a/ d: L& v. \( t% k
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。# |& ?$ W5 u: \8 k) {
/ Y0 }1 `. \/ r4 J0 ~6 q
  一、确认UART2需要的引脚
# X7 S8 m7 I( G0 ^7 i9 w5 }2 w4 s
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表1 M$ P6 R" Y# a) k& I8 J4 g
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx* T5 q! v0 ~) b
( q) v! k; j0 T. a
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用' O/ x) F6 z8 C1 b2 X2 X
* {1 P/ m+ [6 q+ g; \! r+ o
                    
  引脚名称               
# J; M* y9 z+ |2 x8 U7 e1 Y8 Y' E& G$ T% N! @
  FETT507-C默认功能                                 
( H/ C* d) ~* p2 y- E4 _! o
   可复用功能                                 % O# e) @9 U) e0 N6 d- ?
                                        PG15                                 5 s1 K$ e( R) T* a
  PG-TWI4-SCK                                 ; z( A/ [# s  T5 g: V- l
UART2_TX
                                        PG16                                 
" F& b1 p! {* a$ `# o
  PG-TWI4-SDA                                 
; r7 S' \+ P  }; [
  UART2_RX                                 0 U) ]: S3 |& h8 J- O! j
                                        PH5                                 
' b3 F0 ?- X+ s; W: X
  H_I2S3_MCLK                                 - S1 U! a4 n/ g: g. M% m8 T5 v
  UART2_TX                                 0 A6 G; R0 ]  ]$ m# l3 B
                                        PH6                                 
" H7 N1 r& W  {
   H_I2S3_BCLK                                 
) c' d8 Z8 s3 r+ E1 n$ O5 L7 a
   UART2_RX                                 5 G9 ^; Y( ^/ [
  PI5                                 8 S5 D# l$ Q/ _" R2 G
   RGMII_RXCTL/RMII_CRS_DV                                 
) f% s! h3 F5 Z% C
   UART2_TX                                 3 J7 E, B* n. ~1 U9 z4 R
PI6                                 * C" Q( \  B0 C2 _* x; G
    PHYRSTB                                 . s/ _- V& ^- n; b+ W" |# J
     UART2_RX                                 # w( ?4 g* ]+ I" w; E! N

7 x+ h5 t' V& x7 \+ }小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。% ^" k- C0 k( `4 f

& h; h( E2 y4 C) m二、去掉原来功能对这些引脚的使用
+ b' X3 S6 S' c0 r# g! L; r* N8 W/ G9 ^( x/ E; y/ q; n! ]9 O, P
◾ 打开源码,先了解一下T507的设备树文件:
& a; k7 h" k$ D  `# _
& e/ {! D1 H  N. l2 I7 qOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
$ L9 ~2 |. ~( a. P; S3 N- I) L 功能配置设备树2
6 C' C/ ]1 L  b7 P. X7 [: V" Y3 g6 y1 D3 A- \' z* w
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
# W3 a, p$ u  C. O& I1 W7 Y功能配置设备树1
9 n6 P; B# q1 D8 I* ]' y: Y0 }% p" c1 E: j
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
# q8 x4 N2 d( y2 _5 V" R  时钟设备树
6 M; u9 g3 [; U9 q5 q0 q9 A1 B* j
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi0 I  v4 D; J- r9 m) r+ X. D( X
引脚复用设备树* }" b0 r' b/ O* {+ q4 _
. G5 I. E* \3 b$ R: c/ |" N+ _. O
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
8 l/ V8 s4 y$ `9 v5 \8 C& M
+ X' P% S+ c* t! {   
& R# n6 H9 `# r- e8 _' H8 X) C# t- o3 r' S. L
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
) u% M: i0 c( D4 U# Y4 T2 _
1 c; G7 c6 c- j: r    % ^( Y& \. J9 p" P* I
# ]6 {3 _# v! l- I1 W, @
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";4 |7 n. k9 O8 K: e0 w4 v
  f% Y% g: E! e
  
9 A3 h+ X- L7 W4 }: U. i8 t
7 g$ a% x1 |* v! }) r                    7 f, R5 Y. |$ [" `
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。0 P3 v9 w& p8 w: G) S

; ~: A5 ^) v+ O' M! h三、添加串口并使用PG15、PG16引脚% G# l  S7 t. j
' [! @6 o1 S: z6 C' |' B6 @
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH83 s( `) \; |2 C' Z: v
4 j& Q, r4 l4 O( F
     
$ Y6 S) I& z( ~5 n; H- L
! O. ~/ i+ ^- E9 q  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图# P& t5 S! C5 q9 ^" d
$ e& F6 c/ y& e& n$ N0 t% O4 y- @' Q
   
; t+ T* @( Q) @6 [
/ }7 l' }+ o3 z, r& n& c" h0 f ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
4 \. B" Z6 S$ }$ X: W
4 c+ `/ G/ I) r9 c    9 R" b0 z* \% @! V- i: k/ g
9 v; I6 q6 s+ l9 t! j1 \
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。: `% X% z1 y7 L4 [, |( Z
然后我们打开UART2,修改UART2状态为status= "okay";
. P* X! Y7 |( {9 n6 F7 A到此我们配置了UART2的引脚,并打开了UART2的功能。" w7 T- ?1 h6 l9 _' P
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。1 z% R$ `! G) K8 j

0 y. H! p+ h1 ^. g' c, Z文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
" T' X! u9 P, l5 T虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
3 Y! l* b/ P1 P, Y/ m' j4 U; Y4 P0 d# y) ~2 b8 R) y; b0 |! T
        
0 k# d. ~% A! z; Y( e3 w; X                                                相关产品:                                                              

. Z) @$ c2 d6 r4 {4 G- S8 F" ^' |+ Y8 r

OKT507-C 开发板

                                                  

FETT507-C核心板

                          - M9 V: I* D0 t  K! h! e
        
9 z; H7 d# W+ U$ W& f$ O; V: r0 W* ]& c( E& H# A8 N- E3 R. \. U% D8 I
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-31 21:51

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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