嵌入式爱好者

查看: 14349|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑
* V% ~" T& {9 V2 {) s; b, V( V# F3 S/ _# |' O& p) t7 f
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
5 `$ u- y* ]& G! d- R& X                              
4 \$ j4 C# m" R7 m0 c& O6 c" B- N- q. `/ L, k1 x$ {
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
/ n" h% I: D; n 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。. F  _- e( U; l1 q( @, b
/ n( g4 @3 S9 `
引脚功能复用思路:
& d" s* w1 \8 T9 E. ?; \ 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
, h  p3 N/ p/ n( h4 r 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
( T6 n* A; g! \# G* n- q3、添加新的功能并使用这些引脚- b  ]+ Z+ H/ }2 D) [8 t
1 X3 W# k, ^7 w6 R2 Q0 d
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
, D. m% M! j/ V0 i+ K& U
. t2 s4 P5 g- _7 M8 Z  一、确认UART2需要的引脚
1 f/ f4 Y+ C7 ?" i; f" H. |! N9 S' M/ E  J. l, b6 S
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
5 l  i6 Q4 F' x" z/ p        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
8 l5 _+ o: X8 q1 _$ Z
, t0 ~: b" V; f* J$ U% C5 ?2 l ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
2 ^- K+ A4 M2 o. k, {. Q/ a) I
% G" D6 j4 Y5 _$ {4 r. w2 @                    
  引脚名称               / b6 C: M7 n. P9 i  D0 S) a

  e4 Q8 V' p* `$ y% I
  FETT507-C默认功能                                 * V% q* J1 n" `: K+ H( I$ q) k% o; @
   可复用功能                                 
" J; P2 j( L/ x1 J; [. Y/ x
                                        PG15                                 
: ~* |- Q9 e  k5 E1 j5 n
  PG-TWI4-SCK                                 
/ H) Z" X7 F+ `0 Q# Z
UART2_TX
                                        PG16                                 5 L7 L6 ~2 k1 ]" Z/ _' r; P5 X3 T
  PG-TWI4-SDA                                   s2 N4 f; l1 _" K
  UART2_RX                                 
4 Y6 |7 P+ ^+ v8 j' M
                                        PH5                                 , ]3 j' g/ O; {  ~
  H_I2S3_MCLK                                 5 ~! t+ t. Q7 q, p( s
  UART2_TX                                 
# y7 O2 c! {$ l& @6 l, F
                                        PH6                                 % s2 A( q1 Q) h) S' @: \- T
   H_I2S3_BCLK                                 
& J) M0 H- X8 h8 k1 w+ H
   UART2_RX                                 0 @0 ]. y5 {" X" k
  PI5                                 
9 X9 \  `9 e6 v) M2 y, H
   RGMII_RXCTL/RMII_CRS_DV                                 
0 j; G% S; ]$ z8 ?( {: k
   UART2_TX                                 
, m: y# L: H2 a
PI6                                 : W( I2 |! T: N/ f
    PHYRSTB                                 8 k7 f" b9 h  W$ f
     UART2_RX                                 7 p7 ]/ q% b- A% H3 C! u

/ K* B9 v# ]* N0 P1 P& o小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
$ u& ~% s+ P) k9 Y- @8 z' b# k* ~$ U7 J
二、去掉原来功能对这些引脚的使用
3 w8 g. m5 S+ w2 C. m4 }* Y/ p) ^9 {, V
◾ 打开源码,先了解一下T507的设备树文件:
0 C  F$ n6 e& I4 e2 u! M0 P2 ~" A6 R* ^
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
( g$ ~. E; B- W5 O/ N 功能配置设备树2
) ]8 v( |; q& U9 I, e
& p" |0 K+ r9 U5 q- T8 eOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi* Q3 t. S! B& y& Z
功能配置设备树1$ ?6 i6 ]; C' y6 Z! V, _" I

6 C9 N; l1 E) F- R OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
4 Y9 Z( r& B4 R( l0 I! c* P  时钟设备树3 ~  w9 J2 q% l& Y# v

" y) E. f+ Y* J) o4 g1 r7 Y% s) T OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
# J' u1 n3 F* ^- j5 n  I 引脚复用设备树
7 j7 Y3 h6 q  G9 u  |. }# \- d7 l4 e. f. A9 I. t+ P4 O
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
* ?8 U" ]. z- W: J( G9 P' [6 X; l" z' B5 r
    ' E( l% w) s( N; j0 y

+ W  Q: D; W, a( Q ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
7 Y* j( F. O  {6 l
. a$ N9 \8 ?. Y, D& Q   
; t+ [1 A  K; ?% C" s5 {1 I
- w4 Q) K. y- T  K  L9 X◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
7 ?5 n" e2 ?. O+ [% T
0 {& y; _0 M% {, J   1 u  {# B- s6 k$ p$ ?1 \" q

4 ]) s3 o$ m! n9 c8 W: @                    : w! J+ ?, n9 k+ R4 s6 ^4 g( a
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。% W; j3 S1 I% H* `
4 i$ A3 Y# d+ B. s, \. Y4 d6 t/ }
三、添加串口并使用PG15、PG16引脚6 @! y( [9 u4 Z) e
: S7 w9 e5 o8 O/ q
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8. ]9 H3 u0 w! W
; K/ b; u+ Y) \/ C5 U
      ( v4 X( {. v% J( s4 i

2 z1 y$ K. ^) A0 J' R7 |4 k% P. Q  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图( w7 T: h1 }- x+ ]; |

  n3 K) h3 {& u' k8 E4 [    4 @% C1 |: X; {/ Y+ t( S) y

- B/ c/ m# x' W ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。- _8 b/ `4 |" C0 I1 {& I

2 J0 ?% S; R/ n, g   
3 t4 ?0 t# R3 ^5 m/ j
  T, X; Z+ B8 X. e可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。! D/ ^( A! @$ j" S# O' H# w; ^) Z
然后我们打开UART2,修改UART2状态为status= "okay";
4 }5 Y7 Y' ?4 A" f! U) s到此我们配置了UART2的引脚,并打开了UART2的功能。, h1 ^9 W' f) ]( q
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。- c0 S+ S# @* C3 M: Z
4 |* A" a6 Z4 ^" b# e) M
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
- T) |/ g( P7 Q( M: g6 t虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
8 L* j  y& h6 P# A8 T- b* s; T& b3 ~  d% |5 e9 ?6 A6 C8 W
        % ?% w4 ~5 ]* {9 }" ~6 {1 \
                                                相关产品:                                                              
  o5 |7 J- Z9 w/ s

OKT507-C 开发板

                                                  

FETT507-C核心板

                          1 u. n' R5 v& v
        
& k" c6 P# E: Y' [7 V+ _# h
$ `" N7 t. B6 p8 z& i2 r: B
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-13 20:52

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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