嵌入式爱好者

查看: 11503|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 : F* R2 L4 S5 {
6 d4 x7 I+ B1 h# y
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
; B/ y+ z' i, L3 z3 G/ m                               # {7 ?1 l$ w) D0 \
4 l9 v+ x3 N  n- f. g& ^) l, q# J( {
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。* \% }* |/ v! i7 i$ t' L+ |
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
  b, P( z+ {, J$ h
$ J, n+ p, Z3 a- V 引脚功能复用思路:
  ^% V, z6 k" e. e" f( q 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
  j2 m7 z& H, h" ~  N 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
6 f) y+ k. o0 _% z" v6 I  a. F  v3、添加新的功能并使用这些引脚/ |! Y- z+ ~% G4 z/ z0 I' ]

! O1 g/ j5 r8 ~; {% R" \ 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。. n7 x0 n0 ^( A8 G# O
8 K' I* I1 [" {6 I
  一、确认UART2需要的引脚- Z% B- ?% p( q: @* E! m
& s1 n6 w; w; C) ?, u: @
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
3 a* N! `# d  p) Y        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx% p# e8 Z3 K9 ]( e
& ?' `- |5 c+ E, \3 `! d$ p0 X% ~
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
0 R* {" W; V: s; M9 |6 i  c- S6 y$ ?* {: k$ [* V) k& ^
                    
  引脚名称               
+ O+ y9 g& _" t
! ?8 f% D! x1 \4 `
  FETT507-C默认功能                                 ; d$ a7 W' O5 K3 ~( B
   可复用功能                                 
6 j; V4 L4 S  K
                                        PG15                                 
; r& H, t* O3 \+ G; ]% L
  PG-TWI4-SCK                                 7 q- E: k$ H1 [. O  M* [
UART2_TX
                                        PG16                                 
6 ?  y8 S7 b2 V
  PG-TWI4-SDA                                 / ]2 j2 U2 k' Z* X3 h) M
  UART2_RX                                 
$ a; m  P$ a! `( j5 V- T. }) e
                                        PH5                                 
5 B4 ~3 m! B- I5 ?0 z
  H_I2S3_MCLK                                 
9 X9 s. w9 h, L4 r
  UART2_TX                                 
. @. n5 B3 F$ Q! v
                                        PH6                                 
/ l5 B1 ~" d2 D2 E" Q8 d: c
   H_I2S3_BCLK                                 1 E- S. Q- E! S) X
   UART2_RX                                 
% d6 Z5 z8 }' X' j- `) j& M( A3 ~
  PI5                                 3 \7 ~; Y$ o) N1 L* ]
   RGMII_RXCTL/RMII_CRS_DV                                 1 }2 W/ N2 a! K7 ?% w$ a" o+ i
   UART2_TX                                 
" p6 X, S( U8 ?3 ?
PI6                                 
+ ?- o; Z* Z" X+ K
    PHYRSTB                                 ; g0 |# D" E6 l; ?5 F" _
     UART2_RX                                 
- W( G* {* e; r0 K/ R& m. o" I
( `( {, h7 T0 a4 G+ Q! E6 ^
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。$ U% Q5 S! a5 u6 k3 r2 S/ J' c( `6 x% D

2 ~% m9 t" B0 m3 j二、去掉原来功能对这些引脚的使用# K: I# I7 C/ z2 A" K5 ]
5 _7 S$ V" u; E. F0 O% O3 @& p
◾ 打开源码,先了解一下T507的设备树文件:
9 ?% o% g4 p: D. O& G3 w
  q2 d1 b( @/ {) {OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi1 l. J1 ?8 Y; W8 a; F3 U
功能配置设备树2) e! X: M! O) d6 ]

5 u5 a/ D, x$ ]9 aOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi8 d4 `/ X& ]- e, n8 `
功能配置设备树1: J% U9 T* Q) I) v5 a
7 @  x( m; b3 S( p& f  ?
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
6 O7 k! R+ a  m4 J% T" ]5 M  时钟设备树: a+ `9 e, v) B$ |( }( h; A( V
) d, Z+ r  e$ k8 M
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi8 W7 ?/ s  w) R+ ^% O. R, x5 d
引脚复用设备树
, X# P4 A: d5 M$ U
* b( Q) x0 M$ V: D' A/ b   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
: ^. a- [$ a2 Y6 r* [# f' S; a2 e3 |  M, b, e6 H+ F3 r( ~
    $ B  e+ q3 Z0 }
. f) S! O- M8 @
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
* V" h0 \# m& q6 t
6 ~' n7 k8 \0 r8 t4 u2 ]+ _   
, O- Z) F7 c: S1 M6 `  k/ y' Z  ?/ G9 m* o; k: b2 w3 u+ `
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
0 s+ ?$ n6 u$ w7 G8 p' Y
! l; j' N+ r5 L* `! S3 s  
% L0 {3 ~5 d( t$ F: O
, v- g3 t; |& C% `" \( z3 t                    ; P  v+ F1 M. K& Y0 S0 ]- x5 d
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。9 j  Z* f. Y6 D5 T5 M- Q; Y
' s; Z% H3 `8 d! |7 D2 v/ z3 k
三、添加串口并使用PG15、PG16引脚
1 S- w- N$ B! `6 o) E2 k  n- L  f, A% e* f+ u& m
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8' W3 Q& {+ P- ^7 o6 D  O' e' e. V( s

3 S$ Y1 b4 r8 j& \     
; D# M/ U* U+ C# N8 A$ W- I# n6 }* a1 a& j/ L- I# `( [: H; \
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
7 `! ~: v( v$ w8 ?: I# I8 ]9 x" A5 g* }
    ; g) Z% t- K; K1 v% G- q$ h  ^

) D" z8 q9 q* {! ^ ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。/ K5 t) s* G. e# I" Q* g/ i7 |
) o& X" ^  Z3 h; c5 G# C
    3 b, k: g9 \) ?4 I# M+ q( y

  E3 \' b; g% m可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
# T5 H/ ^! ~& @2 z3 b) O然后我们打开UART2,修改UART2状态为status= "okay";
) y2 g+ ~7 X7 v- h8 w到此我们配置了UART2的引脚,并打开了UART2的功能。0 |# m( r4 c) a7 m. O3 n
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
+ \' U! a* s6 [+ J8 l3 e6 F! L. k7 @5 P* Q. H' r/ U- I
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
8 I+ e: ?6 f5 {- E$ |* {9 N虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
% a/ O5 O* m0 s" F, ~, H. z9 {
, g2 T! S2 i0 Z% ^9 p6 g9 d4 q, ]        
8 Z: i$ p" Y5 ?8 C! U: L                                                相关产品:                                                              
  J8 S/ \9 d) M  A! k2 A

OKT507-C 开发板

                                                  

FETT507-C核心板

                          % r- D1 K% }4 @" r8 p
          Q! g7 P/ d7 b& n+ B2 Z4 G" _
2 X$ b1 }8 l6 k5 H0 G! j. q
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-18 12:18

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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