嵌入式爱好者

查看: 17294|回复: 1

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

[复制链接]

48

主题

55

帖子

306

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 ; X$ s4 [5 n* N% ?+ ?4 d/ m

2 ~% ?2 C8 X5 I" K4 B  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
8 k3 [$ H. z/ ~! [( [* {                              
5 S* `) q$ c$ R2 e* {4 \- \! ^; r, L" A% S; P
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
. f* \7 k. P. V3 o+ P 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
' _/ G/ L. w$ r1 |# |
9 o0 C8 J% @0 I# n/ X0 c 引脚功能复用思路:
6 q; r7 b) q/ K9 k2 P3 x" B/ t 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
+ s" j3 P# s! d. j* d: p0 w. d 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚), O2 _" P9 S, o2 n5 ~
3、添加新的功能并使用这些引脚
/ g& [7 ^! @, {3 x( i& M6 |6 i" e
- w$ k2 j1 B  ^' b' y 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
# s) e, L& F9 d4 T- E* X0 G2 z( S2 b0 p0 q
  一、确认UART2需要的引脚$ ^% W( h  b& i1 N

" f5 M/ Z) ~. K- ^+ i  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表' T/ @, O5 S! \4 L
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx. ], T! T0 ^; b; ^* W- }0 m. m
2 ~6 g) W# d1 \& u, ]8 N* Z
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
5 i& B) ^* ^% A/ |: ?+ y
0 K$ s. H1 N3 E: u                    
  引脚名称               
8 O' z2 i/ R1 E
  K6 @( s2 U! [# Q2 O9 r! Z
  FETT507-C默认功能                                 
* M* ^3 L% h; Z. j
   可复用功能                                 
  H9 \: D3 j9 j  [
                                        PG15                                 
! V8 J) o6 F/ V- O* ^
  PG-TWI4-SCK                                 : R/ U/ q( t) o! N
UART2_TX
                                        PG16                                 
1 x% q8 N( f" s/ k% C9 w4 Y
  PG-TWI4-SDA                                 3 k" r' N( M) d$ M/ V7 o
  UART2_RX                                 
( k8 z, \$ E, H. i' |
                                        PH5                                 0 u" \1 @' F# g( \9 v0 S' X
  H_I2S3_MCLK                                 & R% L+ ?" J! ^( {6 C# M( }
  UART2_TX                                 
4 F. ^& ^# g1 u
                                        PH6                                 ; V1 B- \% U  l' g# }  s) D( l. G
   H_I2S3_BCLK                                 
, o2 X8 u' u* S5 E! }
   UART2_RX                                 
. \# R# j0 B- B- [$ A& E) f
  PI5                                 5 s" Y8 T0 n4 r+ \7 `1 I
   RGMII_RXCTL/RMII_CRS_DV                                 
) ?% W& v4 k7 K; I: ~6 h  Q# k
   UART2_TX                                 5 Z. z4 o9 K$ \5 V
PI6                                 
7 K4 a; ~8 h2 R8 _. s3 l* c
    PHYRSTB                                 8 T: D9 g& s  e5 N, N; x2 V
     UART2_RX                                 % ?. Y5 {. Z' n8 I$ s% E3 m9 Y  v- a- ~

' J5 p2 h! v8 D2 c0 C6 C小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
; C1 ^3 W6 {5 n( t, q, F- X5 M9 Q. ~+ k2 p! e8 X5 L; k; p
二、去掉原来功能对这些引脚的使用
- X  }# R5 ~' l- m9 Y
  ^* X; p0 s: E2 g* _6 C- F5 d! Q◾ 打开源码,先了解一下T507的设备树文件:+ G7 k) R2 p8 ?7 ]- [0 h

4 w* D9 S- |0 ?- H$ A0 pOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi! r# y* [- R! K  a$ o( ]7 E
功能配置设备树2. C. E1 h& X0 R+ O  m
- c) b9 g' w, W# X2 n8 T
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi& A; h2 L" s; l- h
功能配置设备树1
2 Y$ f- D8 s% z* K8 N
8 i4 c0 W7 S" r. j4 g& n7 J OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi( S2 E$ B6 F" v) N; B
  时钟设备树* S7 J8 o5 n$ q
0 r# m" X* ^4 U& \
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
5 m* C8 u/ m( l& y! }8 ]1 i3 X6 ~$ @9 u 引脚复用设备树
  O$ _) P( p  I$ s3 e9 c' \0 a9 D, v" O' x1 B
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
3 L3 S) ^- P! S+ P6 f9 \* C) ~- v# K- |) X3 _
    7 r% R* N& f- x8 M1 B9 O
4 g/ Z; I  S) o5 e
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b9 \. M0 Z8 G  ~1 r$ W
: p9 \2 {: E3 t- l. n! O
   
3 y. k' J' `2 }+ U' h" L. y& O1 F
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
* h0 Z2 N( C0 `7 a8 p
. F2 q" X& R# ^7 ^     a" @4 P8 S. A5 S

; X/ w; `, A# f) S( n; U3 l8 p                    & z9 u; ?& `4 ]: n. \8 Z
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
: h4 L9 o  r9 r. {2 |0 L: a' y0 n
三、添加串口并使用PG15、PG16引脚6 B3 L/ L# x6 }% N! `0 A# o6 l( j" d

$ f0 H) b! u1 {+ Z8 g) T0 R/ t◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
, w4 M$ d& H' R; {0 |1 }8 v
4 e# |1 j- {5 y' u0 K2 V4 V      6 I0 W! M7 q0 z' z

9 x- k$ }7 l. x) V9 J3 e6 \" Z0 `$ `  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
. ^3 e5 m7 D+ b* ^& V: O+ C( ~3 n7 ~- T
   
$ K1 x4 a. C7 ?! J" p# A+ B; P" U% t. O# n  ~3 c. j  F; Z
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
$ K+ e; p3 O# J# ?, w# v
% o) k, H5 R2 q& i' x( D# c( s   
2 a+ L' p' A8 a9 B7 ~# W* \
( g4 [; q" p: a( S- W, `可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。. u& m' w& d3 L% D# p, H
然后我们打开UART2,修改UART2状态为status= "okay";" s+ g. j. q, o( C- j& Z, q4 K) ~
到此我们配置了UART2的引脚,并打开了UART2的功能。) |& D9 B* T0 K6 Y9 M
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。# M2 F7 l, x# V; o
* g$ R+ T8 P$ U: I" {
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
% N0 k! S/ Y/ h4 q虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
" ~& [: U# z0 Q( K" n+ n% O  V/ H& t
        2 o% J. L$ U5 e
                                                相关产品:                                                              
/ V  Y7 J8 o9 X$ R2 k5 i& G

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
! F5 l9 ^: z" I( g        & R/ S3 U) s) v
2 P5 M  F& w6 I4 n
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-9 16:20

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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