嵌入式爱好者

查看: 16410|回复: 1

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

[复制链接]

48

主题

55

帖子

305

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 & O) o1 L' I1 t

# b9 G- D& M, X' {3 J5 H, _  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。, c- M" e6 B5 U$ m, h& `
                               3 Q9 f6 D& z1 e% K0 b, O

: m) g9 Z3 \% u+ b  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
; X, _5 O2 S0 G  f6 x+ k& M0 } 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
0 e. l( d5 h8 d' m2 a: E/ y- F+ Q0 H. G9 \1 P7 G6 y  {$ o
引脚功能复用思路:7 C  C$ \* E+ G3 r1 X
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能; L; t* v( W3 a1 t1 B" p6 P4 R
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)8 v/ q0 Q" }6 Z& B" r  k$ Q6 Q
3、添加新的功能并使用这些引脚
3 x$ x) I$ I1 C6 I. S# d( K5 L
' h* K) y  k" e) d5 f  X 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
" M) m+ d% R3 ~( x# A; {4 [, R9 \. e# _, i/ _
  一、确认UART2需要的引脚3 H' \  C5 F0 i9 B

" A7 o2 F) B9 C9 ~1 {9 S+ l5 C  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表8 a1 C7 m' T4 x# h; m7 m2 D
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx( T. \! d2 ~/ R, f

! E5 _+ e7 J! H3 i! q3 i ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
7 P# `! N4 x5 ~  Z' y( {
4 Q- [! z, i+ I! `  ~                    
  引脚名称               $ ]1 Q: Z6 V, X, B% m
/ o) _# H. x) ?
  FETT507-C默认功能                                 " q' `/ R4 ]8 s9 F
   可复用功能                                 1 S1 c- r* H, p- \! l# w" |
                                        PG15                                 . t0 k6 A3 c( n( ^1 K, m9 I
  PG-TWI4-SCK                                 
* g6 |3 [, ?. V- |, ?
UART2_TX
                                        PG16                                 
) h# h! i$ F% k' L1 a2 M: N; V$ f
  PG-TWI4-SDA                                 1 i. ^8 L" J: }, K# x: T  S
  UART2_RX                                 
2 {4 B1 S  r; T5 V& a
                                        PH5                                 7 e. |' c. T0 p) l3 ?  N
  H_I2S3_MCLK                                 
2 V1 D1 l+ Y8 i9 I. n- b
  UART2_TX                                 : [+ k* t' K& E- J% w7 E: D2 b
                                        PH6                                 $ G7 m: t$ _. l1 y
   H_I2S3_BCLK                                 
. W( v: ~- l* q: B
   UART2_RX                                 
# B4 \: a+ t; f2 i4 k- I
  PI5                                 , I. F5 [3 g" [
   RGMII_RXCTL/RMII_CRS_DV                                 & ?) W: w. ~7 o/ {
   UART2_TX                                 $ c% U$ V0 p; T# L
PI6                                 
0 V. W! s( F# x5 q9 A4 {4 `4 u4 P
    PHYRSTB                                 
: f" [; e, \0 s* i/ n0 d
     UART2_RX                                 5 _4 X% C3 O% c
6 ?6 U9 f1 M, s  ?, Y2 {
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
  b0 V; x2 H& W, }3 t- |' Q+ P- y+ W0 r  A1 T0 I2 Q
二、去掉原来功能对这些引脚的使用
/ J+ C" S" Q& B
# [- |" s! j4 H3 V7 z$ t+ L: |◾ 打开源码,先了解一下T507的设备树文件:8 d7 T+ }3 y: }; E/ L

! }8 b( m2 P) ~0 E+ ?2 U$ h1 L" rOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi7 m4 S+ R* {6 y7 J2 x- D; F( k7 v, V. g
功能配置设备树2
* k( s6 L; c2 P- o
9 o0 H7 a: f" _: O# m. r- aOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
; U+ J* L1 y' w  S2 f9 w! `功能配置设备树1
, P$ P7 r5 u  S( R4 ]* g- I+ l1 z( l$ \4 d& I! \$ g
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
7 l! `7 H. O% Z% |' s  时钟设备树" ^; w# }% `4 g" ^. S9 v
6 |- R' r! X) q, }/ T
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
% `* w) A! I1 l/ D" J' a% H3 e 引脚复用设备树
  N# F3 f2 N  I8 l
9 E8 V9 V8 A2 i; M3 i   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用* P. }' h' }2 L5 ]& Q8 I+ T

% U4 ]* x# `, q# u  K( C% Q    4 h0 {% o' j% n& |& b+ E6 U& a
5 m6 J) }, b* O, p3 v* j! V
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
& o; \: C# f- ^) X3 m/ x  S" Z, m: ?, R0 h) g! c
   
0 U$ w# L7 p: M: D5 A( i: C" O
7 F3 u, f. ~  b1 J, J◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
) W* z: T# h* p, G, [  D. c! _0 Q" ^1 d% }
  
3 i" g1 H  Y! g: f
. }5 E. u) Q8 M' w& P# j. C                    
9 g0 B/ t0 e6 Z1 [$ e( l 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。0 I* H7 ^( c- d
, g, _8 M9 R9 T
三、添加串口并使用PG15、PG16引脚
' G* B; a' U$ g1 U! Q, d9 y6 C" }% ~0 V: R
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8# M+ ^- {5 o- Y' K

( g: P- C4 P( q: j0 a  B      . e4 \  E& ?+ H+ Z; i; ?) b+ F4 M- S

) d9 e4 e0 O- K" [9 b* X+ p# `, X7 M  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图. }  F7 I: }0 K" ^  k8 Z

* _$ K. Q: |& w! W    # h8 ?1 |2 t" g) C

  Y1 _" {& }% t% Q0 R ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
2 s5 x. k3 O7 J8 C) Q; N2 P( ^- L* [" x
   
9 U9 w; _% j; \4 P, S( H
0 R5 q* B9 s4 k! r可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。' P. ?4 r0 E( v
然后我们打开UART2,修改UART2状态为status= "okay";2 Q8 u% d, A# n2 x5 P  h! `
到此我们配置了UART2的引脚,并打开了UART2的功能。0 w" L$ p. N: H9 x7 Z
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
3 u: m8 d* c0 o3 o+ q$ l# y/ w3 r  e9 v4 a% P3 E6 n
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
; v8 J- ^) j( x* j虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
7 V4 }5 y2 q# m! L' S  r$ b, \, J6 r, @' E
        " \0 ~. J! p, I) O6 a0 a- \' G5 Q8 M
                                                相关产品:                                                              
3 h# S; K1 k9 `, ?& H

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
, N+ _) m9 _0 U! _) v7 m0 h# m3 _        
6 w7 Y5 \' w5 n2 X1 J- w+ b; z4 r. L
, u0 j' \% m6 o: z
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-26 08:55

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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