嵌入式爱好者

查看: 14549|回复: 1

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

[复制链接]

46

主题

53

帖子

296

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 ; v4 C6 _6 h/ ~' U" n% D- d5 |" t
9 v1 _8 Q/ `  H1 X) J
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。) t1 `# q0 N7 L& d# H0 v
                               4 f9 |% w! T4 v8 r8 U" A  D
6 x/ D2 `) k" i& w# n  [
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
$ i, P! L/ p+ \" n% V: J* j 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。0 K9 ~7 z9 H  M# |* h; t
$ i0 L) |! w+ Z0 h
引脚功能复用思路:
( E" a1 y! L$ n9 I  r  z 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能7 |) T& x2 i9 U2 L5 v& ^
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)* c: }: O1 Q' n( S
3、添加新的功能并使用这些引脚
; ?  g# x! a& m9 t* f* v# h
/ R" y( [5 T: O5 k; v$ F 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
6 B, a5 D, m2 y1 C3 |3 j# B0 N: V6 t- v5 P
  一、确认UART2需要的引脚0 U" _+ l/ ]4 Q

' t4 `9 @- E# H; S  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
  S, v: F& |  G4 C        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
0 a; A6 _9 E. w: [# G5 j6 }8 |, g: R$ w
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
! ^2 e* Y% _( F: x+ P; Y, {3 G* Z! T& l+ g, X  w4 w- V  Q1 o, ~
                    
  引脚名称               
' I; ?: b" A& |8 r; P
  X) x: f# |  S) F/ w
  FETT507-C默认功能                                 7 B  ]. u- Z4 X8 a- ]' ~2 j1 L- a
   可复用功能                                 , T, M& `2 j3 C8 t
                                        PG15                                 
. J# V7 {# M6 D
  PG-TWI4-SCK                                 + I+ N; Y* Y. r& e& C
UART2_TX
                                        PG16                                 $ q: v2 ?0 T  T$ f6 J* b8 \
  PG-TWI4-SDA                                 2 W& Z+ M  f2 ]
  UART2_RX                                 
  Z) W0 g; J( p! Q- v
                                        PH5                                 
& B8 c; l* h  |: G
  H_I2S3_MCLK                                 1 F) y, p, s" ]  l
  UART2_TX                                 
/ y9 Q* t5 J0 V/ U
                                        PH6                                 7 d) |" L: a+ a$ S0 k6 |
   H_I2S3_BCLK                                 
3 t" O) d$ b- f  @0 a2 |2 b5 {
   UART2_RX                                 2 Z% M0 G: C. j' ^, m3 \5 ~" ~
  PI5                                 
2 z4 D" A2 r, o( j6 ~
   RGMII_RXCTL/RMII_CRS_DV                                 
/ b& U' X" e+ u
   UART2_TX                                   H5 j3 `# H; G; Y/ x
PI6                                 
- a3 U( R! t" b! a
    PHYRSTB                                 : d3 x- u1 H* H
     UART2_RX                                 - P" B, L: p+ r' a

- ^2 a! p8 k7 L3 w7 m0 z- b% C- N9 D小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。- c$ x- w+ W" L5 P
. b8 g$ l" R3 V) g# }5 w( g9 b
二、去掉原来功能对这些引脚的使用
6 s6 I; f1 `! t) L$ l3 ]
9 h- ]8 }7 H, Q◾ 打开源码,先了解一下T507的设备树文件:
3 k7 f8 q( P$ v8 ]: r; U2 S
) N8 B* K6 o, AOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi' q5 g6 E2 X8 ]  o& I; {. j& [, k4 {; r
功能配置设备树2
  H0 ?$ u. G4 Q$ @2 u
# A; M  N' ^1 L" N3 S8 ?/ ZOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
: u% {+ H8 T  X8 t$ t) R, i功能配置设备树1
& ]" S8 O1 K( R" b# i
; O0 m" J6 P# ^8 f6 m; O0 H OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi2 v+ [8 A% _/ U" a% I0 ]# {9 P
  时钟设备树. a3 B6 h8 _: I9 L
+ a4 n; @6 y, P% {) |: i! y1 q) ~2 `
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi; y8 N5 W/ F" Z, L* m
引脚复用设备树/ \$ u% u7 F. C/ z& r; F: H
: P0 R( F& _) B# G; [) O6 V
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
! v4 u! M1 Y7 M5 O4 G- z% b8 U) Z7 }) @. U0 j6 h; h, `
    ; R- `5 y3 S" T7 N# ]& k3 n5 p6 H: d
0 D  x  v; @/ K- S) W! U
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b' @' u: k. y# |0 H; [2 @- U
+ t5 {. `% X( C9 h4 h
    , J' v4 |- d8 p& H* M

1 }  {  j; P8 F8 m( G( y0 O◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
. S6 `+ X# f) ?, H  F& B  S* h# h' o9 ?2 {4 {7 [2 b" y
  
" c3 c" n6 \7 }: S2 Q+ n% Y9 R( c2 s9 i9 ~$ N
                    
, d8 r$ j3 b5 T/ x4 o1 l 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。: |, L* F* X; Y& d

: m5 q# `5 x9 O0 K8 Z0 K6 R) A三、添加串口并使用PG15、PG16引脚
) {* @7 i' F( W2 X9 W" A! m# u! u- Q
4 \/ Q4 [- w9 W$ K2 @◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH84 i/ Z& F8 U7 \) p" u

% d9 G8 u2 C1 g      0 I: e" e7 i; Y2 _
+ Z# S  m) P3 ~+ ]
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
9 D8 I& Z8 u' c; ~5 W
) R/ W3 w6 i9 m2 Q, B    7 b8 n) U6 H7 b7 y
" g$ H' n( b) U/ V
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。& x. E$ H5 A) K1 R  v
1 G  B2 \' V) l% W
   
: S/ C0 q/ {+ Z6 D3 X# t
0 A2 _  r. R; D: g, Q可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
7 z* `3 f2 \3 B" u. u) N) G6 ^* W# u然后我们打开UART2,修改UART2状态为status= "okay";3 Q* l- j. r4 L+ J9 \' ]
到此我们配置了UART2的引脚,并打开了UART2的功能。
0 ~" k0 V  w8 [$ I6 ^! }1 \/ ]当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
3 `3 r) ]- h7 L
) w( Z- u% L3 B- b文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
- \, ?* l+ R1 A虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。9 q5 s; V" x# r. J" c8 t

4 ^5 W. F& P# V        : H! L9 l0 t# a; I+ C
                                                相关产品:                                                              
2 b0 Q+ e* k- H

OKT507-C 开发板

                                                  

FETT507-C核心板

                          , Z# f- s5 e* k6 H
        ( |" i, }0 N2 [8 I4 j5 W
+ Y: h, R- n* @' Z9 Y
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-30 21:28

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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