嵌入式爱好者

查看: 17637|回复: 1

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

[复制链接]

48

主题

55

帖子

308

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑
+ @% P# ?# f& u5 T7 U+ E" S
0 l1 t3 p5 z6 I, ^- c  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
. V7 B7 F, K4 S- p( l$ D# t) I                              
! Y$ S5 ^- \! n- |9 p) a# U- r$ G2 o& }
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
8 }6 T0 I4 d# R9 I# Z7 ]1 V 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
* W# z6 T6 z, E' l; g
/ f/ N" d. N: i# T. |/ Q 引脚功能复用思路:
9 N) E& z' G- C4 J* r; m 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
, z$ J$ E( T% r# g- B 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)- P9 I7 i. F+ m; v2 O) V
3、添加新的功能并使用这些引脚
7 ?) W7 N$ q! X4 |! O$ k
* H/ p  H( {) f# C& v% A1 b$ y9 | 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。" d2 j! Y& h/ t
# c+ B: D6 x; b8 E" b
  一、确认UART2需要的引脚
; H1 D" ^2 F+ G+ J6 _0 d6 S; y( Y( a( @6 q4 m" q
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表: N$ t7 j% c+ R
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx/ G6 Y* k- F% G. s, e" {

4 g% F  u2 x4 f( {9 Q4 y& T6 L$ E ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
6 b, V/ s& Y% [- X9 Z5 M5 P
1 ?3 n3 s4 B5 U+ C4 C) m/ w                    
  引脚名称               1 R- A' Z- U# \+ D% E. H

; K% Z3 Q# W& b1 O& v
  FETT507-C默认功能                                 9 n6 f+ Y: }$ i
   可复用功能                                 
- G! q1 x& D' e$ d  b
                                        PG15                                 
/ \( T7 w; i8 k# M
  PG-TWI4-SCK                                 7 C6 l4 w1 I+ H! |) I. f9 k- x! g
UART2_TX
                                        PG16                                 - |0 u) @; ?8 Q& R4 s
  PG-TWI4-SDA                                 
& P3 u$ `/ V; M- G, w7 i2 x
  UART2_RX                                 
3 n/ ]7 x0 ?5 P  t3 u  |( W$ T
                                        PH5                                 % p9 v. j% B2 D' E! P( F
  H_I2S3_MCLK                                 ! z; d6 m/ ]. ~/ c  ?, H
  UART2_TX                                 
- e- z7 m% h/ x/ V  b( l
                                        PH6                                 ! g' b3 a% d0 k4 ~& k
   H_I2S3_BCLK                                 
  U- G: b' n% F+ o* Z8 ~  [
   UART2_RX                                 
) u! E* D( l$ [; n2 d2 |" \
  PI5                                 : G! d- E, k  ~/ g: [
   RGMII_RXCTL/RMII_CRS_DV                                 
; C8 X! R) w. a$ s
   UART2_TX                                 1 s* ]3 c$ Q1 U
PI6                                 
8 s, a+ e  l( H; I
    PHYRSTB                                 0 e& e. [2 m  Q- E3 s; K" n0 `
     UART2_RX                                 
+ [. Z9 p" p2 d. Y, @; Q
% R. Z5 [1 E# E( m4 k$ W# I0 l; y
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。  c- v! l8 Q! f. Q; q9 B
6 ~& n# N% @- n6 E' K8 v
二、去掉原来功能对这些引脚的使用0 f& A& X0 l- v+ \
; ?* d. l" a3 B+ O+ F) A
◾ 打开源码,先了解一下T507的设备树文件:2 k# G5 n% i1 \" i

3 k3 M1 G- E* @OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
- p- d8 a/ c& K+ H* x+ K 功能配置设备树2- v9 n8 M6 z- N( D, B* Q
2 f& b$ l7 C4 A7 c" z: s2 r/ q+ a; q
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
( t2 e3 `9 C2 x9 v% o, D+ P功能配置设备树1% N2 t! g4 U  o! b9 p( D

8 F2 d+ B% [! f1 X& q) o6 c OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi; t7 c4 Z' D, w' u( w: C9 p( `
  时钟设备树$ x+ x+ }5 _/ K7 Y* v2 W
, H2 P; ^. d- S3 E
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi- ^3 Q: V* |' Q, I$ d) F
引脚复用设备树, D9 M1 B3 R/ f8 _7 c; T- P

1 j( A' q' x2 N- B, F   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
- I2 H0 i% X" w. L6 G3 h' E! e) f3 F% r7 b6 U0 y' g& f  k
   
3 Q" r, H1 I. \3 e( C+ o' U: n# w. F. ^6 q0 p: \" N
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b% q3 H. |3 G" @7 N! C( H3 a  ]! y

3 b  w" N! @5 J6 r- |4 \    3 S+ {( }! K$ v. {
+ M5 k8 C/ S  ~! v- _3 ^" o5 g
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";, d+ ?! n3 I4 T  z2 H3 t; g+ [( z
& ~- \& T7 @& ]6 k! a. e* M- X
   # v8 c0 d8 {, b' O9 a) \

+ w# Q- y3 n% k0 y' P2 M                    
8 \3 S% \, F6 x/ U 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
" d/ X1 A, Y5 X6 h+ r8 X- M! P; H% U# ?
三、添加串口并使用PG15、PG16引脚
" a5 [$ j1 r# Q. E6 {5 d0 s. F" c/ f) M) F7 S5 s, |: Z
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
) M. w* m' f' t5 r/ c: p6 n; O
, |+ K! b& k7 z/ K. a/ o* k     
1 p- R4 ?+ s( A* c. N( V% g9 K& w2 K
6 g4 \  v+ u  J. a  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
4 _  ?" b; ]. g7 D1 H! a9 B+ L* h" b% \- @5 R  n. E
    ! M+ ~5 c$ D% p/ E( Z; }

8 B1 C1 `9 p) C; l& X; u0 ]: C ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。5 w: B$ f" {3 p; {* f# v1 z

7 r/ Z' h% `$ O+ ]   
1 U* s' M$ S( ^9 @8 R( b2 ~* j, u0 \! A1 m# }
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。! Y) z. A+ s" X5 ]7 g9 a
然后我们打开UART2,修改UART2状态为status= "okay";
( r- @/ C7 Z- u( `1 C到此我们配置了UART2的引脚,并打开了UART2的功能。# \  R; D+ g/ f8 H3 b& W0 Y" u
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
0 n, P& `; F9 e: _: g$ t6 F5 x3 K3 x. l7 T  n4 o0 L; w0 U
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
5 F- b' j0 W. K8 t+ m虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。4 r$ W; p. P: j' H8 p, p

, h( C  f, M+ j- M. o& G        ( P+ @/ ]4 p$ f: J/ `7 t0 q6 o/ @
                                                相关产品:                                                              
! x) ^1 Q% F5 ]: X# i  \( N. A& {4 R

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
5 t. j1 ]: |( B5 J# v# u: Z        " e+ v, n$ Z' C
" q* z1 b$ O( v7 G$ W% }* T
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-21 02:46

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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