嵌入式爱好者

查看: 15657|回复: 1

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

[复制链接]

46

主题

53

帖子

297

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑
/ {1 v7 N  j% o4 E
6 [/ S" y6 o* ^  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
3 t) E* J+ `" j* Q/ u                               ! ?: K8 b- d2 p  b- I3 u, {+ S9 f" B4 A  u

9 z3 E7 ?4 G2 I: X) p% K' u  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。) f* K! C7 e; y+ l6 z2 W9 h0 i$ c
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
. z0 A4 w' I( W& @! L( j6 L9 t
3 ]5 v' n9 N) V3 u- | 引脚功能复用思路:
9 o$ d( E9 R2 t- E 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能0 t6 L- F: J+ h! D* F: ^4 [
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
; A/ c; O# B: D. q3、添加新的功能并使用这些引脚
6 ?8 @, {. Y+ ^& i# J
* J4 w' E5 o+ Q/ a 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
! O, h3 W: I* Y  Q# z
) n2 m- G7 H# E8 A* \& Z! H  一、确认UART2需要的引脚6 @8 w5 }) H7 X5 |5 F

* a( u3 p: x" Z  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表9 ~3 {  R5 P8 n8 q) t
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx) o7 G( `# M$ {

( D5 i" h/ ?$ c9 a. H# l' u4 Z( _ ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用2 q* @+ {9 Y. V2 u

  z  o7 V; W; f2 J  h1 F4 B                    
  引脚名称               
" ?  ]" q0 X' b  }4 _3 I9 H: e* o+ Z1 t) K/ E
  FETT507-C默认功能                                 
  \5 K9 _& Q* L: F
   可复用功能                                 
- y3 A9 {& \3 l
                                        PG15                                 * r+ M/ T% N& x$ f8 l& E
  PG-TWI4-SCK                                 ! J! I; n$ g$ \7 G, n; m. z* C
UART2_TX
                                        PG16                                 8 G& Q" O0 W. Q
  PG-TWI4-SDA                                 3 D( P8 r1 V4 K7 F) q
  UART2_RX                                 4 G3 A1 b6 h3 ~# V& }8 ^+ V5 _+ R
                                        PH5                                 & z4 h/ h7 S- w' W. \
  H_I2S3_MCLK                                 
1 z3 U( _: {( @6 X8 r9 u4 _+ H( _1 {! a
  UART2_TX                                 . b1 D2 a+ E4 X5 r0 E6 @; B0 M
                                        PH6                                 
  A7 D3 A( ?; B5 C/ w: ~2 C
   H_I2S3_BCLK                                 6 j1 w6 G3 F& O$ r8 o9 }
   UART2_RX                                 # X$ z0 d5 B# c* a
  PI5                                 ( j, u$ O& F; `
   RGMII_RXCTL/RMII_CRS_DV                                 1 e% ~4 l8 C9 P5 I! N6 ]* n
   UART2_TX                                 2 ?2 B1 ~( A+ m0 {3 X  Y
PI6                                 - E+ ^$ B1 u5 X9 z" v
    PHYRSTB                                 
$ ~# W: g! s7 M- A& F$ I$ ~; {
     UART2_RX                                 
1 C+ p/ F( ^9 M& W6 K
7 {: d. c: [0 b$ c$ m' F, ?
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。) C( W" I' Y3 l; T! b1 g
' g* V7 y- P# ~
二、去掉原来功能对这些引脚的使用
  X) {0 g* }6 C4 ^0 O! O
, Q0 c3 g& X2 `+ O6 ~+ [; J, @◾ 打开源码,先了解一下T507的设备树文件:
2 U+ \$ U" ^* L! ?! a; D2 h8 w( w; ~# X' A( K; K( n( G
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
; n! B/ K4 E! l# R8 A- O9 {* T3 ` 功能配置设备树2
! a- v# L0 K& J4 P9 e
, e. }2 u3 Y2 [# ]3 u; Y' X2 GOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
8 h+ l# y+ p9 R+ j; R' {功能配置设备树1
1 E) _, Q, ^' P% P0 o2 q! C& t/ I5 _: H7 c6 d& F$ _5 a
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
+ c  l; v: ?$ }& j+ }  时钟设备树
4 n- W, f9 ?' j
5 s0 w  Y9 G' \! B OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
! w6 G, m4 M% J! F 引脚复用设备树  B: M1 y4 X/ z6 Y3 w5 p6 m
, v4 s: T3 R- e6 g; l
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
2 {. ^8 y* m# F. y8 ^3 I0 i" W% ^/ N* z
    1 y3 Q3 P% m+ F) C' |

- z& `& a" n# A8 E* q# K7 {/ ~3 s ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
6 H1 X! p2 t9 a" k7 b% H
  P8 e8 ?( p% q1 `9 @5 q  ?: O   
* ?. K1 e9 {, D1 K5 a+ E6 d9 Y* U+ _5 V0 b" _$ X7 E
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
9 I7 `2 i: P* [+ Y) L' A9 O8 S
  h2 A# p/ a# _" _: F! m   + G; J6 F( x' t- b2 ]. R  L  r
1 V' q) e! e3 T# [9 N
                    7 N9 E  [- z0 O6 F$ b8 s9 C3 [
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
- z/ {( b* }+ t
. {) G$ C" h* c7 u9 T3 w' |6 U: h, V/ X三、添加串口并使用PG15、PG16引脚# X3 T9 ^7 P2 _

5 T1 W( v( p: W, @& v◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8: ]! j( B0 l1 J' ?3 ]0 \0 {. b

+ ?0 p2 T% z! R. W' V% P     
% y  y& k7 Z1 d4 v; g. w, i" O
- f  I7 k; ?$ U9 {% P9 a& c  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
. d* Y; |$ Z; C' g2 |8 f4 n: S/ |/ P8 ]2 i, {7 z
    3 N5 Y# ~7 [( B# H
5 u  Z0 o( h1 B! v2 ?2 X1 f
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
7 u6 `: K! L: W6 k. T  j) J8 B1 a' j9 e1 \4 W
   
& J* }  L9 z. R  h4 s2 S" x1 H, A) r8 H$ d
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。& r2 i7 _) W) `. k  i
然后我们打开UART2,修改UART2状态为status= "okay";
+ N3 M: G) ]- M) V, O5 n( F到此我们配置了UART2的引脚,并打开了UART2的功能。! }8 V$ Z2 d# Q5 S) j9 b9 A0 J. w2 R; u
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。$ {# y4 m) S. ?: s1 W

* R8 M  t7 K2 G( ~6 R# f+ a" a. D文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
* Y7 `' B3 `  v$ i" U虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。8 U( O0 w- X! |* L. M1 |! v! K
& `9 q2 e5 v# L7 `" H* w
        
/ v/ c6 |( l6 z  k( S5 z( E; T                                                相关产品:                                                              

; p. x" Q  y: V5 Q" R! ~; S

OKT507-C 开发板

                                                  

FETT507-C核心板

                          % M" i! o* |, i2 c
        
9 U8 Y* j3 I5 i! ^# \* _! H" E+ _
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-15 07:19

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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