嵌入式爱好者

查看: 17024|回复: 1

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

[复制链接]

48

主题

55

帖子

306

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 2 d' u% v, A: B' H8 o  y

- g# ?3 U' ]/ Q) H  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。# n( x; }! y* b, i7 ~* `3 h- L# a9 u
                              
6 _+ P5 K! S$ E8 H
2 ~1 B+ ?% Q- N+ \4 e" W  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
# R% i1 W# S# {) Q/ s# V7 w0 _ 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
* O$ [- l& z' e1 e6 g
7 }. p# f+ Q; v& [7 H3 N9 S$ W 引脚功能复用思路:7 a) F8 B/ @5 m
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能  T. v  o3 c4 C, J3 N% W: \
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
+ z8 P/ b0 z0 r6 u3、添加新的功能并使用这些引脚
* A  k7 f6 ~0 x; B8 r
( d9 E7 y% p$ P7 ~$ F/ [ 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。9 F: Y. m2 _# B0 j
6 J( z. p! b9 O7 a
  一、确认UART2需要的引脚4 _/ m+ P$ f- q. Q' f
: T, X1 v+ |4 W) T" A4 ~: ~+ P
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
, d  Y# M: z  S# D/ K        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx4 U3 {0 e2 [, [5 g9 @

; B; D" p" `; Z/ T) K/ F/ `; W ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
7 ?. u) N# _3 e7 p
, A5 x4 e" \+ ]                    
  引脚名称               
: T. c7 S( W- d  I3 C
' T0 W. g9 |- \  W# y5 j
  FETT507-C默认功能                                 
; h+ o! P6 s: z, {6 t
   可复用功能                                 
7 J8 [" v0 s$ W, Z* g
                                        PG15                                 2 y6 G' t' U' g0 m* Z1 e" E( v
  PG-TWI4-SCK                                 1 K& W: B* C  c
UART2_TX
                                        PG16                                 # X  r- s, L! N/ \. G( O
  PG-TWI4-SDA                                 / G' \0 S; P3 R$ T- t4 t
  UART2_RX                                 5 P% c4 z# M$ g0 l; W
                                        PH5                                 , F" i3 [! l, m) D9 L, w& j
  H_I2S3_MCLK                                 2 }' d4 f# S8 v5 J% Y  N
  UART2_TX                                 2 w/ z, E3 l  }; C4 ]
                                        PH6                                 
3 X% d/ E; d) X& ?' O% M- r- o+ q
   H_I2S3_BCLK                                 ( K; h  w" g+ n$ A; s, H
   UART2_RX                                 2 _) L6 q( r* [
  PI5                                 % @( h, K/ v+ y
   RGMII_RXCTL/RMII_CRS_DV                                 
7 X6 M& V  Q0 c6 {. U% o
   UART2_TX                                 & R8 Z$ x/ D7 |/ T$ I
PI6                                 * @3 [" L2 A) h
    PHYRSTB                                 0 m) a7 q5 O" i( E6 x0 ^
     UART2_RX                                 * b$ ?' ~  o( @- k" U( f# @3 u9 o7 V

, `& H5 c& q- t5 M小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。6 Y7 B7 V! U  P& u9 W
9 u3 d  n9 v, g" \
二、去掉原来功能对这些引脚的使用) s$ Z7 Q3 K: z, L
$ q# Q: i5 B; Y( _/ h+ g- G
◾ 打开源码,先了解一下T507的设备树文件:5 A5 |9 s: }7 L. y7 L5 Z- T

. Q, f: [7 t+ u% q8 }OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi- C: [! K( |) I8 g( ?) o
功能配置设备树2
* i4 |1 j5 A( E2 C. a
7 g: j3 [0 U# M5 G, tOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi+ J( U  C5 ^9 s$ A. M  ^
功能配置设备树17 G* g, X0 e8 ?
" q+ d, k; k4 X9 O/ i$ t
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi6 B: ]" K  F/ K. n
  时钟设备树4 g8 d6 `4 }" D/ m

* X( z: N! o" I) b! } OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi& B0 ~2 @0 F" ]4 \- t1 p; `
引脚复用设备树9 E1 U# b' [( I

) e- C. \) A3 _8 x, G1 V   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用" o$ T5 f+ ?8 B2 c

! z5 y( \; x0 A  b   
5 w8 o# z$ U3 c1 p) m5 s2 r" a; d1 n& C; S$ Z* N/ m# ]$ A  Y
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b5 A# z8 ]/ ?: }& @

; F  z7 x& Y/ f5 g    ; L7 P6 A, P( o" L, W& D8 Q, l6 R
3 O0 y2 U* i3 H
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";& Q3 D7 g& Z. T
. E% x! I2 h* b/ _0 K/ _% s
   ; Y7 ~/ @+ j3 F, n

8 O, N$ Q7 B3 U5 c7 I3 [                    * ^5 |: @3 D5 S: p" E
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。# B9 a6 e7 T) u/ p/ w( t: r
' Z9 y9 p, V2 T: Z, i9 F9 B
三、添加串口并使用PG15、PG16引脚# O- `& u" p+ \2 \9 w

  I) e8 B3 g9 `) J: m◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH80 @/ g! p2 I/ s; K" q

( g+ h1 o5 K" n5 N0 F      9 P/ z0 ~5 P6 a3 O% m; D% t" {

/ t# A& T0 G$ d6 S& ?8 S  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图1 _1 m# l5 C- l. Y- }5 o

( \- ~2 s5 l& @+ J, X   
3 _* D3 V. ]2 @7 t$ J+ c# v  R1 ], Q5 \( n3 \
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。. g7 W! p1 q9 B8 G5 ?' i3 N0 H

; J; Q7 J9 _- E- Q: K% U, j   
8 e: T! T+ r1 `5 P% P- Z/ P5 O8 F: t2 @+ C5 W% }5 z' Z
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
- J2 {/ l7 q5 _# H- v1 V% P然后我们打开UART2,修改UART2状态为status= "okay";! m3 O9 y" u9 M, `5 R+ `  U3 C
到此我们配置了UART2的引脚,并打开了UART2的功能。
' H! C, @! [/ P当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
' D6 K& i8 W+ I0 n! H  ]/ U! J/ b% A( W" q9 Z
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
0 P. S7 @0 C$ t+ Z" i0 F6 @) c虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
  T$ P+ K  l0 Z4 F; f. ^" h( T. [/ I. S
        
  }1 w! {4 k& ?- W% |0 J: Z                                                相关产品:                                                              

0 Q& Y0 {2 Y: Z% [) V

OKT507-C 开发板

                                                  

FETT507-C核心板

                          . R- e" K* v9 r. z7 m2 }2 _8 n
        ) X8 V. L" e* M* c' ]

  C% h  s. N7 x6 Q8 V3 G
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-24 19:32

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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