嵌入式爱好者

查看: 16914|回复: 1

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

[复制链接]

48

主题

55

帖子

306

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 : y. ~8 N; M3 I% A9 _2 |
9 H: H) O( G, C
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。$ C7 F0 H5 {0 {6 @+ p
                              
5 m. O6 q% v3 @7 s. V
: I& ^8 N% M5 @9 K$ v4 I6 N0 H( c  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
7 B1 A. y( b  `+ J' ], m 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
# r6 J7 L4 s0 I) P  c* Q9 V1 R
9 s$ U8 ]; Q' {" F7 R 引脚功能复用思路:+ M8 r  A+ ]1 y
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
6 M/ |2 w! l5 b$ ?/ l9 t, H 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)" T% a% H% D% Z6 r
3、添加新的功能并使用这些引脚
1 x9 l& O1 k: ^% s
, e6 E6 H; m' R( v. g+ \ 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
9 v4 K3 \4 E% _" B$ _6 _7 a- A* l2 @& c* t
  一、确认UART2需要的引脚
% z0 U6 e0 `$ I! i' [! J1 }4 \; G4 B; U( A" }# b- [* d! ?
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
5 F& q! a2 T- E  M; K        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
: X8 S  k/ m1 P, k, g- _' f" t, M' _  q9 v& H1 f6 |
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
- `3 C* A9 b! j5 g( p
# x% q; v0 w( \5 ~3 b5 D                    
  引脚名称               : o5 y& r9 K: d  c% {$ R( z( N
# v0 b* l+ v- l+ s" K" E
  FETT507-C默认功能                                 
' r! R+ `' h/ b
   可复用功能                                 5 \5 |$ O: u! A) j
                                        PG15                                 
# S2 C+ R; ~% c0 q# S; h
  PG-TWI4-SCK                                 
2 B9 V9 N3 V- S" d. A! b( I. f
UART2_TX
                                        PG16                                 
2 [2 W( i1 b; }$ q7 a& F
  PG-TWI4-SDA                                 
4 t6 E$ ~2 I% p0 z9 }
  UART2_RX                                 
2 K7 [* M: b" _2 }
                                        PH5                                 9 Q: r' M8 U+ M
  H_I2S3_MCLK                                 
- p; D- c$ q! d
  UART2_TX                                 . H5 f' h' [  x3 }7 c/ V
                                        PH6                                 
7 s, h# j, x  Z  l* s$ c  S8 J$ y! G
   H_I2S3_BCLK                                 2 u. T1 Z0 R5 f7 [0 h
   UART2_RX                                 : F8 ]" m5 t/ {
  PI5                                 & ~9 J; T$ l, c3 [! \& O( j7 a
   RGMII_RXCTL/RMII_CRS_DV                                 ! D2 f, ^; y7 l; {6 _
   UART2_TX                                 
( ]6 N0 K; T5 M& w
PI6                                 
( ?) O8 k- y; o9 _0 t
    PHYRSTB                                 
1 Z5 q: v& e* e6 C* H
     UART2_RX                                 
+ [6 O, s& _9 v3 G+ a3 a  n

8 o+ O2 |" q* K( C$ [( I1 \0 i小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。6 @* ~" a3 [$ {% i- r3 v

8 D, `. G; D" M8 E) G/ t二、去掉原来功能对这些引脚的使用6 d& M. `& p5 R& i: |& q( A# Q4 p
9 H! j0 ^; f) e) {# Q+ ^
◾ 打开源码,先了解一下T507的设备树文件:
+ D% {1 d9 k$ R" z9 M9 I$ Q. [) z3 J* \
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi! z, T( P7 U+ F, ?
功能配置设备树2; c. L" a# U( w/ l+ |
* h* K, l4 _! J" v+ W, P/ W" _: W9 Q8 W
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
- _$ E& f2 G& O$ i3 `功能配置设备树1
/ E) _. l) N& ^7 p" b+ }0 C' S+ }4 X1 S* \5 @# f: S
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi  K/ \. a7 _) m8 |( F4 x
  时钟设备树$ r2 n# R' l; n( B

0 ?( h9 w9 B- i1 o OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi1 L! u# Y8 Y* |! Q
引脚复用设备树1 e+ ?* h- P( u7 @/ M4 S" T$ b* x/ Y
. z* x! Q8 H& ~- c1 O7 t1 b
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
. e$ |+ Q1 g2 x( ]% Y( M, F" K7 T3 n5 t9 f# ^6 K1 \
    6 p8 w; F7 d0 D' j( o8 p
2 f0 c; a; T; i! e$ ?
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b& y9 H/ W8 f' K  w" c
2 o3 D# C, y) E0 C
    3 P3 U& U/ E- X3 G, Z* A
, o. p" s6 w$ N8 b- F' X
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";% H8 C& W! W6 b$ G* z" ^$ i) X

: A  G2 |9 ^; n$ G2 a7 i  
- Y% H. @, S/ J! z, T
; `4 y! O1 j4 w1 L4 [1 D# r+ h3 Q                    
3 X! v  k4 n' z 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
2 \' z9 g' ^/ i5 ^9 K/ X1 G# I6 |$ p. K* S; n; F9 J
三、添加串口并使用PG15、PG16引脚# G7 c& s! i7 p; j+ B- l
' `3 C: J! w5 Q3 i' i
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8( d; ^4 _+ o- j$ n
# Y2 f$ m/ P' _4 C6 E
      , }' J! X5 f; r+ k) ~

* u' D0 ]. m' x$ X  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
+ I1 v+ V& f3 ?" j7 F1 B% W, T  J/ ^% |# ?: Y* ^# a( a
    4 Y; `" n: c0 k* o  O

5 G) c! ^$ F' S ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
+ w" v/ |. Q: W4 J5 @" r; T  q' D- g7 }$ Y6 |
    # a8 E; @# A; q- N

: W$ ?8 Y2 ^* x8 D可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。. o) z$ m( J* O0 C
然后我们打开UART2,修改UART2状态为status= "okay";
' O% c1 Q! L! y+ k到此我们配置了UART2的引脚,并打开了UART2的功能。% R6 S* f( `* }  R, ~* b: Y0 i
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。! G) d4 p( [) k

' `0 V" y2 {2 g文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。2 m& u$ R& `5 a1 r
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。( ^+ Z$ t2 c: x
0 s4 p1 i. P  \3 i
        
* v# W3 B! D0 D' E& c                                                相关产品:                                                              
- H/ p0 B8 n( x

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
& F2 d# \  b3 l8 w        % e& n8 F/ o, O$ }
; a3 e( b& f  k2 Y. @! ?, d# _$ }
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-9 14:39

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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