嵌入式爱好者

查看: 15831|回复: 1

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

[复制链接]

47

主题

54

帖子

300

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑
9 D3 z' b% p% g2 e  P) I* t4 L# G6 l1 E4 E% h
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。7 ~& Y) ]" c3 R( j8 _4 }
                              
$ d" u1 s3 B/ o; B
7 {* [1 e1 Y  w& G( m4 I  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
  k" P& H* h3 |) `" i; A 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。; Y8 Y* X2 T/ ^; @5 i' F

7 d7 l2 |* }: r- {2 k. `. D  q- _# b 引脚功能复用思路:" \6 J& n9 _1 z( H* J8 b6 e
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
7 m- I0 ]" Q/ Z* A 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
6 S: h7 v& K/ j3、添加新的功能并使用这些引脚6 `* i3 i5 S& V' c2 `4 v
( n8 l- ?1 ]* S7 O4 s" S0 P8 a# d6 [
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。  |) o, R4 D! F9 B! W
6 z* A) G; R3 B. y& n5 t& I2 T/ {, x
  一、确认UART2需要的引脚) E8 w4 p6 J5 v. M9 B7 {# P6 U, o
0 c; ]5 t2 O; h2 u# E
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表5 h2 d) |! z/ I5 d
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
) j2 t: ?. }1 {' n
7 O) `  x. r+ k7 m2 E- q0 z ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用6 l& f% d* {) h( U

/ J4 F5 `& ?3 t- U0 v8 F4 U/ e                    
  引脚名称               
, j" U: \' z; \( D" G) L- q4 d
3 @1 [+ b3 i) A7 Q
  FETT507-C默认功能                                 % I& O( O+ \& H% i: \
   可复用功能                                 $ O: m$ X+ |$ A# V
                                        PG15                                 
  \+ l* ?* z$ M8 T4 r4 Z2 \/ ~* ~
  PG-TWI4-SCK                                 
( H' W% _! w( l7 f+ {( r1 v
UART2_TX
                                        PG16                                 
, ?& K  K' g  U5 {9 B/ M* P/ V. ^
  PG-TWI4-SDA                                 ' [0 |' U, _+ R( O
  UART2_RX                                 
- x9 t4 ^0 K/ U. t
                                        PH5                                 
, q9 \3 y" q$ k; w
  H_I2S3_MCLK                                 
* W7 K* M& r9 e" L
  UART2_TX                                 " b1 b3 a5 |! n) E
                                        PH6                                 
$ `* ?% f" N6 ^
   H_I2S3_BCLK                                 
# E" e) C) i; B6 i6 |+ |( p
   UART2_RX                                 
0 R% r3 _0 z" M
  PI5                                 ( m* s5 u7 M: b3 D
   RGMII_RXCTL/RMII_CRS_DV                                 3 \4 }9 g9 x& K3 b
   UART2_TX                                 
$ n0 s, j4 O1 L9 p4 ]. q' s- W# I
PI6                                 2 N; ^- h& z) j. ~) j
    PHYRSTB                                 ) _3 c# a- M( s; t# z
     UART2_RX                                 
5 w# x; W5 u( H# V  T  V' ]
9 G# b8 r9 r' L; ~- q+ W2 {
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
& S% F  ^/ t. `+ U( G
" w. c, Y1 X6 k, a2 m二、去掉原来功能对这些引脚的使用& H6 N) {4 X/ X: \

0 R  E( h# B+ P" O. H$ x& S, v9 @◾ 打开源码,先了解一下T507的设备树文件:( O. }( o3 l1 q' d' M) ?
- s' r4 L: w- E: K3 @7 e
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
  s+ {( s8 i  e; W9 a8 }6 @- k 功能配置设备树2; N/ W* k8 U( }+ c3 L2 _) U
1 a: y# G+ s# ^5 W) C
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi2 n* v; o) s8 ~. H, k
功能配置设备树1# V7 g, h, ?+ M* `5 s

, x$ q& j/ [3 M% P6 F& u+ D OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
4 Z" w' A9 S9 X# k6 J/ K" ?. O  时钟设备树
& a( p; L/ P) a+ [% l" O! p5 i3 v# n3 H
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
, v$ ~: n4 r- \& X 引脚复用设备树
0 X. }% T( K1 W) X7 T8 V2 u$ J% v- G: O# U9 |
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
3 B1 l. x9 I/ [* `3 n6 A* ?% ?
% m5 j, E5 O1 \   
1 u. e, C1 G& K4 B3 u' @# R" h/ M  o; Q9 |' o
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b% J: q& L8 D: @/ U8 F% ]
0 b1 c! F3 H5 }+ }+ X- q8 T! P
   
- i1 S, J! b9 `& y! }) X
$ z: C/ t2 k1 }& |3 g◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";  K, t- l' N2 H8 i, R5 \
  K! B! O& l( }; N7 Z3 j
   6 m( O; m9 b0 \% C0 T& T/ s

7 }' k7 G5 {, y5 R  F                    ( O6 E" v4 s: S7 K( O
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
1 o! z( P% e( S6 a  f# h$ K+ w4 {) W+ Z. C$ o. {4 D
三、添加串口并使用PG15、PG16引脚
1 g1 q! N( J/ L: ]3 j, ?
6 f( T; E: b6 ^1 d0 N* H7 c7 k8 [◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
7 m* I( s" H) g. n/ _
1 |& j% k' H4 \6 x( z, K) s  ?     
4 y- H& A$ Y, l9 p/ s  C4 l% q: V8 ^/ g! k
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图: m, c( o3 y$ G) V0 J

( o4 l$ C6 e0 n: l& v+ \   
+ r: ]# G5 |& N; X5 m. M. M7 T* ^( `* Q8 @
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
+ P$ x6 R/ |  k1 v9 \
8 r  I) z1 q* i4 A! B    ( u0 Z; x9 q$ |% W; j  v: D
8 N% L$ s! \- X" A
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。" N5 o6 a; Z5 I
然后我们打开UART2,修改UART2状态为status= "okay";
9 \! Z1 R( i, f4 E到此我们配置了UART2的引脚,并打开了UART2的功能。& J  G7 K4 }7 J/ H3 F6 G
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。3 b" f; ^6 |9 Y* H" ~

" e9 i' m& m3 S文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
/ T' k9 |* Z, \3 F2 V2 }5 G虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
5 N! I* }& k1 R2 e( k& d2 Q- W  L
        " s/ A! c8 \( {. `4 k0 _2 _
                                                相关产品:                                                              
8 x: a: t: O5 S

OKT507-C 开发板

                                                  

FETT507-C核心板

                          % i0 B- o) w: K% D
        . G7 g: Q. `% k( s6 v$ B5 N
3 i- @! z7 c1 r8 l
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-4 02:07

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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