嵌入式爱好者

查看: 14228|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 - n) d: Y6 G. H& C1 q
; G  I: g2 J  v+ A+ J% [
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。! T& o2 I% @0 Q) t
                                 u) f# ^; x2 P
0 \% a( s* i& M2 d, k. w( f. z
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
5 J' t3 c( k1 i0 R  f7 w) P 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。( b7 _6 y' P) L  J5 _' g' z: z

0 K9 z) ]! ]5 A 引脚功能复用思路:
' W) ^$ F' X- G0 `1 q 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
: |! ], |/ g3 V0 l 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
$ I* E' x+ \# C2 a$ `7 J5 N3、添加新的功能并使用这些引脚/ c$ j( q/ c7 x, E( p

( V2 b" O) j, q4 l3 a! Q( D 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
, g3 r# Q3 P7 C9 w* {* U
0 J" ?. l8 |; N  ]8 [  一、确认UART2需要的引脚
) y& O( V3 X  A' _$ u
6 g/ ~* z$ u8 l5 `7 p# `  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表7 n8 x* N* S0 @! k4 Q
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx9 x" U1 v7 o5 y# g4 y6 I
+ g3 U/ d! f- [0 T0 w3 D; R
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
9 ^9 x0 ]6 o1 N  B: ^2 F4 F8 T2 @( h
                    
  引脚名称               
) X/ j9 G, [' o3 q: K+ x$ c8 E& x. Z$ O6 C! D" Q
  FETT507-C默认功能                                 
* ^/ Y! j2 A5 J2 y7 X/ X
   可复用功能                                 
! Y9 P( R$ H0 a* m
                                        PG15                                 1 n: F. s* ^7 Z- T# V/ T/ y. r
  PG-TWI4-SCK                                 
: L6 Q  F/ ]$ F/ v
UART2_TX
                                        PG16                                 
0 f+ T$ B7 B6 b# c1 W
  PG-TWI4-SDA                                   ]9 q) ]* U; T& A
  UART2_RX                                 ; L- S  z$ Z) B2 t7 U8 D
                                        PH5                                 / O6 y* O; p8 q8 ]
  H_I2S3_MCLK                                 ! k6 k: u9 b6 R
  UART2_TX                                 
4 M$ B/ n' l0 W3 o
                                        PH6                                 
( O5 L9 j. v& U* W: j9 k" D
   H_I2S3_BCLK                                 9 u0 r0 u; E' U6 F1 H3 I
   UART2_RX                                 
5 h5 F$ M# O# h# N8 z
  PI5                                 & |/ J6 Z+ Q' p+ q, K7 Y
   RGMII_RXCTL/RMII_CRS_DV                                 
" j3 f3 F* o/ I+ p" f, C
   UART2_TX                                 0 F) y8 J& c" f, V
PI6                                 
0 E$ o9 ?1 z8 ~+ r( q
    PHYRSTB                                 & o4 V9 B3 n% G9 k$ ]1 h, ~! d
     UART2_RX                                 ) v3 S1 C: x8 q: ?8 {

7 t' u3 l$ v/ }9 w& S: K! {$ f2 y" `, A小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。0 ~9 ~* ?# z9 B3 S' Y2 P

) j3 x0 d4 M4 i; ^2 d; ^二、去掉原来功能对这些引脚的使用* J# k. ^/ w' P
7 x& F# }7 ^, v9 }3 ~+ v& M
◾ 打开源码,先了解一下T507的设备树文件:
$ ]9 ~7 Q1 \! X
4 X6 D+ w" O, b& @6 K- ?( Y9 F$ D+ sOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
' k0 {9 }9 q$ z2 I8 r 功能配置设备树2- J) Z' |! X4 p6 u
3 @% J( v3 m( d$ e8 f& S0 ^7 P
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
6 T; \  T" ~; R: r  n功能配置设备树1% j2 s6 f+ S5 w/ y" k" ]

8 p3 L% p& R- {6 I( X1 ~$ h OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
# M8 U2 e8 {' g6 b% e5 k7 H* r2 l- @  时钟设备树1 q1 t1 x. x' E: |/ R* a
" Z: ~! {5 O& ]& ]' m
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi/ V4 w' _2 O; u/ U
引脚复用设备树3 S# y$ v. a# S' P4 r* p

! J7 w( L3 D# Y$ l4 J   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
+ ^1 N! Y/ I3 s$ c, s( w1 a  ~( Z) L$ }7 `
    . j# S! Z# i8 \; u8 g+ Y  C

$ o4 v3 ]9 A( r ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b0 b, Z, P6 e( b  `) w

9 U" s; r/ Y6 m( [5 k5 }   
/ w# S* ?* d" t8 X+ g' O5 ~7 r; K+ U% N0 w! a- H0 W
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";! c9 T; ^7 e* l/ P

$ m- K* o. k# I3 U5 W9 |- h  
1 O7 {) Z  J- l! q5 S& B& n( {2 ^4 |* b' K- w0 S( J
                    
9 s( z4 M, N  `2 n' M' j  m 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
% V: u' K# y/ T2 c7 G% E
, ]$ H$ f. m! D; s; _2 |* d三、添加串口并使用PG15、PG16引脚6 k& [- S; l% e' _0 U

( M" n- L' f3 h0 Y1 z! o◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
9 O/ W9 f0 J( W- m1 A# j5 M
+ w% V" B( |! k$ B! I9 y! ~( x0 z     
$ b; g5 X) u4 D8 U+ B1 Q0 O1 o- U8 Q" ]# {. \
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图& H# @9 b7 ?" ~+ G1 B
3 d7 t8 F. P8 `
   
' w5 a4 u* x" v' z! e. s' n/ Q" W$ e' M
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。7 r. H# V' K' g% \5 y
, P% `7 d1 k  p# ^1 W
    % C: C+ D! h- k

: J* @6 O; }; b/ d- t9 H# d+ |5 V可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
% f! V/ r. ^- O4 `' K( @/ d然后我们打开UART2,修改UART2状态为status= "okay";  d+ f4 d' H% C# F* h
到此我们配置了UART2的引脚,并打开了UART2的功能。
: i" D) u$ Z% ?: s& @当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
1 b% b: r5 J0 `! {0 m; h5 _9 V. {! N- `  n2 q$ A
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。/ f4 @! O1 V3 u4 L
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
3 d( v8 r) v  w$ o, M  c) {; l) M- c5 r6 o5 W1 X6 W
        4 U& ]. F- [7 L! ~. E3 K, R  ]
                                                相关产品:                                                              
% L3 r% q  l* H! f

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
: k: k) ^) Q9 n* l4 y; k) g        
) v! H: c/ r" Q1 {2 I5 q" s" D
% u+ y% r' i7 c) B
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-19 14:19

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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