嵌入式爱好者

查看: 14190|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 * Y# X6 W- P: e, }
" ^4 K) v9 P3 f5 t- z* ^
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
$ I3 b' |- \6 r. a9 z) H                               3 p6 H0 _2 J' g7 \3 Z9 M
; R) ^2 F$ {! k) D9 o6 H
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
6 e" e$ i- w3 C6 D5 E 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。7 i5 j, F6 ?( l& u  E, s

: i9 j8 C, r7 b# L8 |' K 引脚功能复用思路:2 M  @) P( G! Z/ i& s
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
% ^$ g' d$ L) g2 [4 ]1 b. F0 o! b; c 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
+ ?" a: T5 Q( C& A3、添加新的功能并使用这些引脚9 ~5 ^* K: Y+ w( x5 V8 k6 B8 k
- b% u  [1 q/ B, T/ H9 J( m
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
, f  b0 k; {  }: T9 U) Z" W8 J" |3 v6 q  v
  一、确认UART2需要的引脚) F# d6 j. F9 r

; J: K( {. j) E2 [# S  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
- F; ]: \2 J; |9 y        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx1 w6 X! [% f9 r3 ?: @. I

& l. u% g/ y- P5 Z0 ?0 d ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用8 D& t, {: r7 S4 k1 N4 y

: V, f# ~0 s! j7 ^3 J) r( g                    
  引脚名称                 X" D1 T1 ^  p  D6 `2 F- I; i5 R

- \- E( @3 S5 r5 W
  FETT507-C默认功能                                 * I4 J: o' `/ D  N+ d5 }! x
   可复用功能                                 ) E* ?& b5 ^7 w5 V. q
                                        PG15                                 3 d/ f- J7 D; y; T2 m  X9 Y
  PG-TWI4-SCK                                 ; _0 s1 \# r$ ^
UART2_TX
                                        PG16                                 
- t( J# r5 P7 e
  PG-TWI4-SDA                                 
( ^- {; L$ h7 [8 G4 R9 O
  UART2_RX                                 ( m) p2 f" m# |8 A
                                        PH5                                 
' i. w" K. a9 c
  H_I2S3_MCLK                                 7 H( r' `4 y- w
  UART2_TX                                 
" D( W4 s" k1 x4 \: v0 _5 V, f7 F
                                        PH6                                 1 K3 [) N" S+ L) [+ H6 M* a: h" a$ ~
   H_I2S3_BCLK                                   e! e: I" p. x6 F" Q( [
   UART2_RX                                 
5 ~' s, |8 K; O; k+ d6 `- ]
  PI5                                 
- f9 }2 z( O. I2 Q% ~' ^- E# D
   RGMII_RXCTL/RMII_CRS_DV                                 ' }; `: L8 _* }, G2 T* u1 r+ L
   UART2_TX                                 
( R! ]2 u1 E) s4 S4 E
PI6                                 
& z# a% G+ R. r
    PHYRSTB                                 * J  ?. M) |  q; }* r) y3 `" Y
     UART2_RX                                 2 ^& P% C! D) R/ J7 Q
. R9 \" E! w2 h- F( h
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
, C9 J, o  e6 t4 r5 A: T% Z* H( P5 e8 S# ^* {6 a( T
二、去掉原来功能对这些引脚的使用
# v. D, q# x, ]/ v  e- w2 v7 i3 E1 a4 k* ]) H2 H* M" k( c8 m
◾ 打开源码,先了解一下T507的设备树文件:. }. {+ |5 C5 R: |, T, |  ^- f
$ n# a$ ?6 v1 W0 O8 o# @$ H
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi1 z8 v' q+ M% Y0 X7 Y+ M
功能配置设备树2" K. n) E) E1 ?# i. e
5 U  o; @- f3 M7 h: B* v0 F
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
. h: g+ o) k0 n- U* [( L' I功能配置设备树1
& k. k% j  c' ^4 ~; z
/ z+ r% `' A: t! Y OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
  J7 J5 l% D2 m) z8 o# P$ L) N  时钟设备树0 _0 F' Q0 W2 }

0 I. N  }! ^1 X0 v$ B OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi: O: b# k7 Q- p
引脚复用设备树: N7 U  R9 o& h9 X! u
" {3 V) r& y  k8 ?
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用6 b  h1 y$ j% q7 t6 F# f' f# D
' h  h# \9 }4 P- H7 b
   
2 d  c, p" p  y% n" u) O! ?3 e
$ r2 S" n: c6 X8 y5 G6 I6 [8 j ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
+ r4 A* W% V+ m" T/ h  {
+ K1 d/ I7 P: V" O    4 C2 O! w/ ]7 e- f" X2 a! z

4 w& d+ n6 \9 R& ~  t- {+ B◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
7 N$ C/ G$ v- m$ U7 B8 f6 J( {$ {8 p3 H$ F; m1 e: a
   : x5 x- V1 Z7 m" P7 f

0 S2 a5 {9 L% ^* ?8 x                    
% F( |* S, f# w' h0 I) D7 d  { 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。1 }9 q+ E9 O* J+ U5 r. \
1 H1 f' c- d* e& W$ [/ l* }
三、添加串口并使用PG15、PG16引脚
  e: _# D. F; K' O% F( Y
' D! D' l; p6 _◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8) O9 a0 S; p. q& L& @# j  C

5 D6 {4 p' @7 h! H9 \      + G8 j: I2 Z5 u3 k  @# B5 A# i! a5 t
) E8 ~, E+ _  J) F9 q% A
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
1 @( M& ^3 j3 Q! M
8 A; i/ t9 i2 S& J8 l9 _    * F1 n8 d/ i0 ^/ i

# u! s. i4 w; T' i* C2 L ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。: x% z) n& _8 h5 x

, l9 W4 n8 c9 s, E: N* K8 I    & n, m: l# |8 S

% M  K; y# v! Q3 U) ?可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
" V! a* S" Y; V* y" C' Z然后我们打开UART2,修改UART2状态为status= "okay";
5 ^7 J5 x; D4 o% H, }到此我们配置了UART2的引脚,并打开了UART2的功能。
% N& U. I, I: G, W7 Z当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
# a5 a3 ~5 }. w4 P' o4 {9 ]. W1 z' r0 y. e% G- G
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
4 }8 Z. Q5 W$ O* h5 A: C1 Z虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。% U5 O/ B. X# y* P

% B3 S- H! Z4 d6 l1 N% W+ H          i* v5 D' f2 t! J! m# S" S/ N, U
                                                相关产品:                                                              

" A7 r$ J* F6 R/ [2 j. e. R9 E

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
! t8 z+ n/ ~' G' L0 M        
/ f2 Z/ _" o/ p+ V; F
" p2 q& _4 p1 G
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-1 05:24

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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