嵌入式爱好者

查看: 14146|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 6 m4 S( N0 f/ E5 `' {; |) M* O
, k6 N2 y1 L8 b3 f& I1 }
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。7 r8 S" Y! t* q# w+ d+ E  H
                              
0 D0 E9 D8 J# A+ x3 b  I) O2 O3 S. H2 Q& K, H
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
% J+ i. b5 l4 q9 C; q, Z  r& X, s 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
6 D% G1 m. j2 r% [/ O, e; u- \$ }4 k2 y0 ^# j5 H6 ~3 f
引脚功能复用思路:
" l; o: r  o5 p" N 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能6 V! b& f8 B% b, w$ {
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
8 v; F: ^$ E7 `# n3、添加新的功能并使用这些引脚
& M/ h% U' S$ R
: }9 g3 Q! X4 y: T# k; L  k  M 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。  m' N" F* p) z  g
# ~& ?5 }5 q3 W
  一、确认UART2需要的引脚
8 @6 V+ H1 l5 }" M% Y, R" |% W! {! W/ g- p
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表0 u; o' y; R: a8 x$ Y* V$ c" I" u
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
* j$ F+ w6 i) \5 X4 O2 I1 J9 K) U& X
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
  k7 s1 h  V- \6 F- v9 r& ?  t
' u. ]$ }4 c' |9 t+ N/ \                    
  引脚名称               
% e$ j0 n- L6 s; k$ x1 i( {( X, q. I3 w  H9 [; N! ^2 D' t, y
  FETT507-C默认功能                                 # m" M+ T) V. M  x8 ~# {1 v
   可复用功能                                 
8 k0 i# F; D3 ?+ }6 ?
                                        PG15                                 
- i: P0 S3 F# b2 N
  PG-TWI4-SCK                                 4 A4 B& G. w- g- Q- o. y% p) ~
UART2_TX
                                        PG16                                 : P% |: B2 n, A  d4 k
  PG-TWI4-SDA                                 0 _) E! t. Q3 r9 B/ z! g* s, W
  UART2_RX                                 4 Q& w4 Q' d7 Q1 p0 S" E
                                        PH5                                 ( F' j" c' T# T: K" a# ^
  H_I2S3_MCLK                                 
' f5 V7 y& o& x$ c5 J6 g( K2 o
  UART2_TX                                 
4 _( M- c( O% b# [& c. E# C
                                        PH6                                 ; V! k: ?4 F2 h+ z
   H_I2S3_BCLK                                 ; x8 m/ e2 l+ h: e# |2 {
   UART2_RX                                 
/ O2 ^! M' N( l9 p3 x
  PI5                                 1 n! H( y  t  j2 b/ n3 d
   RGMII_RXCTL/RMII_CRS_DV                                 " @0 f0 N! J: L$ s
   UART2_TX                                 
6 ~* a6 `7 W1 K1 v- M! ~
PI6                                 
: J9 E; W0 Q! m! c1 e2 [9 l7 m
    PHYRSTB                                 ! y2 Z! [8 n4 s8 K# r
     UART2_RX                                 # I7 I# p5 d1 W& K

0 M$ ?* q. k, ^! ~) p小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。0 E0 j; n: M4 ?6 ]& i( F1 b- Q

" G/ i" e* [6 E' e二、去掉原来功能对这些引脚的使用, E! F: k8 _. {& k3 j
  S' e# o1 l/ x8 {$ @
◾ 打开源码,先了解一下T507的设备树文件:' [: p& J6 [; A; c% J0 s% c
/ i+ d, m( ~5 I9 E- {3 m
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
$ _9 K; a, i! ^5 q/ b6 @& r; O 功能配置设备树2
" O% A; h* m5 o5 L  ]" B# N& P* M6 L/ ]7 |3 m  v
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi6 X: `. k& J. I' y
功能配置设备树1
. r) [  ]+ U6 V  U5 K; G8 V( a  ^; ?0 r0 h0 v- p! [3 ]
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
* e7 @$ q+ F. E2 }* p  时钟设备树
0 S- p/ h9 Q  Z) a% h  [; s$ m$ R) p8 _! i6 V
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi2 ]+ i: ?8 {2 n0 ?$ o
引脚复用设备树) `0 v) j' O# H4 G6 Z& r, }
) G4 W/ m" i7 `7 o1 E% K
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
; U9 s/ b/ u$ F3 r
1 M- C- @! |; a" E! U( H+ A    % U+ z3 H/ P: z- i8 o! Q

. E* L! D. Y3 |, t! I ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b1 n2 \2 }& x% ]: {% i$ H
& d5 \& Q% L2 [$ L" ^  @" Z- W; t
   
) X1 W, W/ y: i/ q# Z
* J* H& t- J' {◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
* G* @" |# g1 E2 D: ^' t5 H! M
7 _2 p) E$ g  T; z1 e   ) R5 ^, F/ X6 B+ g# }% v" F/ e

  j1 c! d' c- n$ \4 s: F" k- x                    5 H/ u; t6 R% d) H: W
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
) T( a1 B0 B% B' s4 A3 J" ]: e6 j9 ~9 D+ N7 S5 m, M
三、添加串口并使用PG15、PG16引脚) `& V- N7 w$ Z3 P( q+ F

; @! p. P4 x' c4 a  y4 k◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8; Y2 m. t' S7 w  B6 ~

3 F1 f8 T" b8 P) A6 h% i     
' u% Z. v7 x9 E' n  O
! I/ M  M* n6 ^3 m) m7 Z  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
) h' b/ |! D- t: ]. L) J/ ?# e, |6 P4 h
   
8 S3 J  Y  m% l3 ?8 e5 J6 w
) U2 V: _6 n* e2 l1 O ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。) j) D" H; w, H. k

! t0 h3 Y1 v7 V# z7 l   
" p+ Z+ v* J0 B9 ?# h8 M7 ]0 s! C' o4 u
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。1 X% V* L* z; n% \$ u8 }: m
然后我们打开UART2,修改UART2状态为status= "okay";% S2 ~) g3 o: Y( o
到此我们配置了UART2的引脚,并打开了UART2的功能。
6 j1 A9 s) e4 t, M当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
+ w) V4 W6 C. p3 ]$ N5 A4 x' M6 l6 H+ \( s
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。# X; m( D! _$ c1 l$ B
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。" A* }  u: [+ L3 \
. h! w6 m+ @1 x
        " U  x7 q. w7 m7 F# E0 P8 a
                                                相关产品:                                                              
0 U, v" J) @" K

OKT507-C 开发板

                                                  

FETT507-C核心板

                          ( I6 x, j" A" X, X. L
        2 n0 v& b8 H2 J3 v* a; M
7 o) {% c3 X; H( A( m  y" x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-31 21:54

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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