嵌入式爱好者

查看: 17207|回复: 1

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

[复制链接]

48

主题

55

帖子

306

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑
3 h3 Y4 D9 o1 K3 X- L, H2 M5 n0 y0 F* E$ J2 N& u# P
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
6 \1 e, @1 u8 {6 X                               4 Z& z' L# `0 m6 U1 v
, r; R2 {) `! N( P
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。/ I% m) L% G' h+ u  v  a; q
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。* t1 [4 Y- d1 W- v; n
% O/ B" S1 @/ {* X6 B4 F
引脚功能复用思路:5 u/ B% k, G7 I1 m( T3 T
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
9 n9 t5 y$ W$ ^# u% D* }$ Y 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)6 k5 |" M- ~$ R1 k% T* |
3、添加新的功能并使用这些引脚
. r/ `( g- [2 T
: G9 z% J" Y% G1 H 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
4 \, L/ T" u; r' p1 v' G; X2 z: R
7 j3 A- A" V, Z6 d: Q1 W  一、确认UART2需要的引脚
! e+ B( w" W5 q6 w- d. p  s, ]' U$ B9 r1 l# c& G
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表1 s" U, V( p  g! e% O- v
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
7 w! s6 G! a- t* n* I8 d6 t9 N8 C# Y0 v; O- p4 n2 f
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用2 j' s1 c# q0 ]1 t

8 V% }+ v/ K8 y, D& d( Q( G  G* Z3 M- v                    
  引脚名称               
+ J- R! g) i  g: T7 c7 a
$ y8 r, H# u: K* g" P5 x! m: a
  FETT507-C默认功能                                 
: U2 l; P$ d) ]& D- s3 q
   可复用功能                                 
9 F6 \* V# G- n" {8 u- M
                                        PG15                                 ; N9 K9 D+ \3 @5 ?7 o3 v
  PG-TWI4-SCK                                 5 t1 m6 {/ E. w, h& k& A
UART2_TX
                                        PG16                                 2 c7 T' \" H' S3 \
  PG-TWI4-SDA                                 % ~- W! ^3 c: x3 f% k( y
  UART2_RX                                   e+ g$ t# E/ w- W( r
                                        PH5                                 
' [4 x( _% |2 w5 y: d+ J
  H_I2S3_MCLK                                 " r5 q) ]) @4 Y- }
  UART2_TX                                 
+ m* y  U  F: U6 Y
                                        PH6                                 
6 U7 k2 q+ a4 k4 M& r
   H_I2S3_BCLK                                   U: S; p4 u: W" W% ~8 B/ {
   UART2_RX                                 
; W& ^; {! ?  v, b4 n
  PI5                                 + X8 n. r( `. D5 T" y$ G
   RGMII_RXCTL/RMII_CRS_DV                                 4 ^% L/ {0 \; B8 z$ d
   UART2_TX                                 # Y9 r' W$ E% G7 |' ?% X6 E/ A) @
PI6                                 ! b' n3 X0 W1 M8 R
    PHYRSTB                                 3 i% V/ W/ u5 b' [5 k/ B
     UART2_RX                                 
! q6 s: |% M6 t. T9 b8 F4 r( x0 y
; `/ |* X- c" g7 b+ N
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
- e! P0 H- m4 q/ q- R8 u' s. J
- t& w! }( N+ B3 }+ X  i5 ^) N" m! L二、去掉原来功能对这些引脚的使用
* ]! S4 A2 v# G. h$ c% w; K# d# a3 O- H6 Q5 u
◾ 打开源码,先了解一下T507的设备树文件:6 m7 C/ d( I7 g4 v; U
4 N( e/ [, R- B, J$ l( J
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi* _5 e' h8 c8 H# d
功能配置设备树2: l2 t  d& Z1 a8 C5 X

: u) n8 G# H+ r4 S# [OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi6 U( g8 w# e( j8 u9 }
功能配置设备树1- B! t1 H! {# {
6 D! w9 f5 E5 ~1 N; N* K
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
8 `+ T. {# A& d  时钟设备树! O1 C; P9 s% b% P5 R/ U& s: Z

  d& k6 H* ^! l$ K: M5 y OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi8 ]- h  F( L/ _6 U- y1 o4 I
引脚复用设备树
  B4 l) k5 M5 ?0 z% {
$ [5 E8 D7 F& x1 k6 a# G9 e1 g   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
( F$ m" z7 I+ l4 |4 l$ D& ^  E  G  p1 n' \+ G" ~
    $ ]4 k# J! w1 e* Y6 h: A$ e) t9 v

2 Y# A  w2 ]) A7 k: d( _ ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b" n' d6 E, ?; T6 j8 E& Z! k4 J8 \
, k' X9 P2 ^8 r6 F" i2 J4 C
    1 e- F& d6 z5 e: ?' t  S/ a

( X- H7 P. l- \3 \: {( _" [◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
6 H2 [% e- l. }3 p: I
( m. X  U: ]* S; C* \2 J  
2 t5 l( w- O! E# h, b1 n, H; }
! p. L7 ?: Y. X8 {+ N2 q. T+ J2 x                    ) |2 L) z, d. ?. k! i3 U
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。* K, K7 J7 F0 ?2 X4 [; H

9 {" n; T: g- u) }- j三、添加串口并使用PG15、PG16引脚2 t5 @( J& O! i. I- }8 Y0 A: I
: H2 h  Z2 V7 I, G7 p
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH87 O- l0 t" c- L& G* x7 {
5 ?0 D, b, v0 [2 i! \" I- ?$ m
     
0 w& P5 r! a  R7 ^7 z+ c0 d- a! y0 |% ?6 k2 S5 `4 F' d
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图% {% C& I8 Y7 i6 |7 q

; \3 B1 S; _) m6 ]" R! {3 m: _7 W/ J   
+ E% w0 i. R- X2 f9 j$ b" j: ?( H! L4 @
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
+ Y, Y, K9 E  j0 g1 {/ [
8 M: B8 H# O( M    6 L5 F& l1 x; p. n9 p4 v; e7 b5 j' T

7 g" V  t$ b) a# j2 T可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
- O# W; A2 T, B% y然后我们打开UART2,修改UART2状态为status= "okay";$ P2 e, X9 B8 ^6 p: f9 X) n
到此我们配置了UART2的引脚,并打开了UART2的功能。( J1 k, `) o5 _3 N' R" F) ~- j# c2 s
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
/ L& y9 {! @! o# o( y& y1 c3 E5 n  ^- n  o0 a2 g
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
9 x2 w8 @( ?* s! o虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
# i. r, a. q! n. l$ O
. i; i6 d0 X# k8 M        7 B" H7 C% e) S, W
                                                相关产品:                                                              
1 x4 V" ^4 q% N) v+ {+ a, d

OKT507-C 开发板

                                                  

FETT507-C核心板

                          . r, G; \# @3 g
        
) V: [5 U2 x8 @1 U% `4 w
3 c" x+ X4 T, y; U4 ?; r" ]( A$ ~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-21 07:11

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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