嵌入式爱好者

查看: 3552|回复: 1

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

[复制链接]

45

主题

47

帖子

265

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 ) ]$ |- e9 G, B5 P5 X
6 R" g* [- b% i( X' H
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。  ~' x7 c( Y9 u& {
                              
, n; I9 O/ E/ y+ n
0 D( s" N* P) x, i& F* k5 o4 i  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
* d* k1 ~7 M" T" K; Q1 h$ {5 j% B 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
7 n8 d1 R/ ]5 v( G
5 f0 d3 {# }6 Y% W& ?, s 引脚功能复用思路:6 V( O" j4 {- l% f0 u
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能% k0 W  A$ x! U  u" j( ^+ t$ p
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
5 v& ]: R$ u! F; }' m3、添加新的功能并使用这些引脚3 |# s0 {) }* J$ ~6 }0 J! Z( x4 y
. T' F$ M7 u8 h: O4 q7 c
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。# `0 {. g8 |4 O) ~1 r9 ?! |
% a& G% P2 a5 ^2 j8 M
  一、确认UART2需要的引脚8 ^; s! O2 Q. p  g9 P# q) g
3 T- {' Q3 \( f# E% u
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表* U7 u2 ~* u1 t6 p0 J$ g
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx; s# n; d1 ]: w( l# _7 U

" X& B- V- c6 p6 ]' u! q ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
/ K- o7 E( l0 }% S7 Q4 n  ?, U. }/ J0 U7 a- D3 u7 G
                    
  引脚名称               
; \+ {5 U5 T. u: s3 |/ ?
  ~4 C4 E6 A! J& z- S+ I7 Z$ e
  FETT507-C默认功能                                 3 Y/ i' m" E; G! K1 W- w0 X
   可复用功能                                 6 a3 k' h  Y( r% J
                                        PG15                                 
# l2 h1 |+ E, n% E
  PG-TWI4-SCK                                 3 H- r. L# R  r2 ~( `- i! B
UART2_TX
                                        PG16                                 
& P; C2 |+ `3 @7 n+ P$ i
  PG-TWI4-SDA                                 
3 {  b1 q+ h5 b5 R/ L/ |" P  Z; Z
  UART2_RX                                 ; A$ k% \, f# y5 o' z! Y& l
                                        PH5                                 5 B2 u8 w) d, Q% K& c& m6 ~; S
  H_I2S3_MCLK                                 
% I, u* ~: ?& y& V' l: m/ h4 V1 L
  UART2_TX                                 0 E7 Y$ R6 t" M. H
                                        PH6                                 , h, ]" [! h$ e
   H_I2S3_BCLK                                 & a% n" `; b5 u7 \0 H/ R
   UART2_RX                                 
) B5 ~* U& u7 g; p# ?+ }3 H
  PI5                                 
0 l+ H( w  @4 t& V4 `. F
   RGMII_RXCTL/RMII_CRS_DV                                 ; k: o, n6 {: W! H% @; m; w# d
   UART2_TX                                 
  F; y) D7 A; {0 H, H
PI6                                 
7 \9 E- g. n: g
    PHYRSTB                                 ' U" G. E! y  W$ _0 ^# C# C
     UART2_RX                                 
; f8 z* G  c) W) _! k

/ J1 N5 Z/ C) K/ u小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
! T$ G. T3 i8 P
" S4 n* V$ P& \2 g二、去掉原来功能对这些引脚的使用
* n! y0 T* }8 d+ o5 B7 T; f7 D
! P/ I  ]  [% R/ C- i4 O1 j◾ 打开源码,先了解一下T507的设备树文件:
8 P8 L5 o/ G! |/ U5 n7 J" l
" L4 F9 e  O; r$ R9 X/ m+ wOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
: s1 _: w4 M5 f7 {( }2 M 功能配置设备树2
4 M1 m. d) U& @+ Y; f, |
5 S% E$ F& \' {+ x0 \/ I% ZOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
1 N! N8 L0 q8 l$ ]功能配置设备树1. B. m2 V9 s+ o; b- b$ C2 ^

; n' ]8 @  f- V( n. h+ f/ P OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi3 Q  k4 S- U2 A: S
  时钟设备树
# M5 O: K) l: i* Q$ }' G, N
3 i8 \9 j$ f* J  O5 \" H OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi' l  l9 u% U* p+ P
引脚复用设备树
# B) z/ t! [% C) @
9 S9 [: Z7 Y* U9 q1 B: ~# m   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
2 A% Y# v: a! }4 f" c
4 V$ Q- @4 L$ d2 h   
% y; P: Y4 v" D3 f8 a( f
% I1 W* n9 N6 n3 ]$ d8 ^8 k ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b3 w) ~. Q8 M7 B) T2 j
" I( ?. U: _! i. H5 {' _9 P; ~
   
$ s7 X: f5 `3 Z2 f$ C/ p8 Q4 ?- ?9 e2 i2 m- V8 T
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";7 M/ X+ t- T; J" j( X

' V# J) f- L3 Y3 |' t; X" H  
) U$ j- @8 A' V3 X$ P2 I. s$ n
0 k5 j2 z. p- n1 Z                    ( }2 y( C  o# z, u  Q' b! E
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
* {( y7 C. J. N- m( T0 R$ V
+ v1 \. r7 f6 d% j. X. x; X9 ]三、添加串口并使用PG15、PG16引脚" J$ T' e1 S0 S  O1 M1 R
0 @& c2 f, q/ f1 C( a/ M& ?9 ~8 Z
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8" {6 Q3 C% r& @; C

. }7 j9 B' R3 K$ _8 l      ( g, A! W# m9 b* i; l
4 p8 K  X+ N1 F* Y
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
! q( o! p6 H' F9 k
! C1 @* Z8 k: q   
4 {4 `* l- W4 ]+ f; L# `
  ?" |4 K$ A- {7 q7 Z, s6 H ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
7 K& ]5 c6 E! J/ X- k% e6 [; ?( _
0 E/ Z9 a! t% H1 ~4 I9 \0 H    # c. n7 ^  `+ k5 I/ D+ K  r
3 M* U, O" K/ Q
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。3 A" E9 P" h* l" t- o* [% Y
然后我们打开UART2,修改UART2状态为status= "okay";$ Q: J8 t# v7 \7 Q
到此我们配置了UART2的引脚,并打开了UART2的功能。
3 w* N% E% \1 U当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。# {# V3 L3 J; x) K! \

  P& V% K) |" A! o1 @. U/ D0 z' O文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
# ?' U, W" t% q% n5 n) S虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。+ A; I8 j& [* m

, B$ j0 r7 g! Z3 K3 X8 B1 h0 X& G4 G; X        
' ?, @7 i2 `9 b" D2 [7 ~                                                相关产品:                                                              

, c2 L  }$ q, v3 B6 M$ g- J/ a- b

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
; F3 _, b" Y( a0 P        
, @( J. _) @8 C0 K# z' d5 i( B# z& I2 ]4 e" w# K  T
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2022-9-25 04:00

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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