嵌入式爱好者

查看: 12675|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 ( ]9 ?3 }% ^6 T1 H1 k: e# ^

& ~* F& K8 P1 r% `  Z7 M  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
* \7 M% v, E$ r2 k; C                              
! n' w% O) a- J9 h# ~/ i9 \# V4 a& o
* ?5 ]6 g7 h. k8 F: v  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
" b" G" J' n0 i  u. U 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。; X" o; R7 ]' u8 c0 L  ~: ?& Z
, r- N" F  U( J
引脚功能复用思路:
  H- H+ \% ^6 V3 K' K 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能* \! `0 ~( T! {! k
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
  ^5 v* r- m( f3、添加新的功能并使用这些引脚
$ {4 m& ]2 o) p" A! \
% {. l, @; F5 d+ ^0 \ 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
7 x8 ^) u- Z) [6 O0 g/ _) E% B) q" N' I, F5 ?: h
  一、确认UART2需要的引脚
2 v; M& C5 c' Q! g9 T( _
. j: w6 C$ d; q7 {  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
5 Q$ o' g9 _, z. ~. M4 U        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx/ `8 \. t/ I# ~5 ?- z
3 Y" d+ z, _% o, q% w, l
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
$ d6 r+ h- [- u/ {, R" B6 y5 s' @% r  V: W. g/ s9 S
                    
  引脚名称               
# `0 S+ D" a  ~. `+ n1 Y3 I
4 Y" @/ ~* K# ^3 K3 _
  FETT507-C默认功能                                 7 k) y- i! q9 A' U1 f
   可复用功能                                   f4 j1 d. f. H) B5 K: Q
                                        PG15                                 
# k. K! \9 z4 i
  PG-TWI4-SCK                                 
2 l1 c/ ~# E7 e4 T4 L4 P
UART2_TX
                                        PG16                                 8 {" U1 L6 |& d* X. h/ u6 d2 @
  PG-TWI4-SDA                                 
( j( y7 w6 O+ ^" d  C' d9 w
  UART2_RX                                 # b9 l4 m2 _; F% C
                                        PH5                                 & |) N$ W( K- M) h" |+ p
  H_I2S3_MCLK                                   P6 z4 Q7 z/ F) G4 F
  UART2_TX                                 
: N% ^. J; U9 M6 `. [* T* S: ~" ?
                                        PH6                                 9 `3 _& u# B) s8 u. V
   H_I2S3_BCLK                                 
9 _4 ~! H: n7 p+ {9 l9 [
   UART2_RX                                 
# p' r7 O6 D+ n3 X$ P: U/ ~6 i
  PI5                                 $ `/ I' Q9 n, O/ k4 p' ~2 R
   RGMII_RXCTL/RMII_CRS_DV                                 
0 Y! X0 W4 Q$ T3 s& l4 G  e! s
   UART2_TX                                 ! V& b7 y5 r0 a- g2 a
PI6                                 8 P# h5 I4 e$ M' ]" @4 Y
    PHYRSTB                                 & [" w$ p; M+ @+ ~8 n
     UART2_RX                                 + s, @8 m  U* B3 X5 q" Z

. W) i1 b- r  I% Z/ R0 T* Z小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。& \& X, c0 T9 a; K) ~) [6 K# K
, b9 u; P( j3 U. G8 v& m
二、去掉原来功能对这些引脚的使用/ o: u' }; Z( c2 p( W% w. e# U& k
* @; E$ y; g( }) O, [
◾ 打开源码,先了解一下T507的设备树文件:
3 L+ e1 ]* p. i0 d. o. j" y. o# B' I8 g/ [  k  C- i
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi% q# M/ ^- f" q) H
功能配置设备树2
, h( M" o7 m0 k
/ ~. ?4 Y, P3 S) hOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi4 L6 g5 W* U  P$ T1 A
功能配置设备树1
# k" y3 A8 n7 C0 T+ _9 v) `' m" i. y+ C% Y
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
  h5 I' H1 R$ Y- \  时钟设备树
6 n- u" {  W% U2 ?2 T
2 f) J( I, \1 o  {5 v* { OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi* \6 B2 S, s; c- x5 L) c
引脚复用设备树
' r; M! _3 d, I0 E% P/ F3 p+ ~
; S9 P. Y7 Y1 _   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用9 P8 W# X" {- H0 r+ T# T5 ~

7 n' [, ], X( l; @      b1 W  }8 ~6 r& v) A

, ^6 z3 t5 |- x0 G. r8 ] ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
. U- q+ H8 z, T, w+ E4 [) Y$ `" q/ `6 X7 W" a  S1 f
   
0 z1 f- v: @" b& h! u9 b
4 L$ \; E; V- p- [◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
( q1 M2 j6 {! X8 o+ x
# v- C/ Y3 N/ `: F  
+ |/ Y6 }, g( o5 a+ N7 A% z
/ q* m* T7 M5 i/ {                    ; }/ s( L3 x9 G
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
% {4 X/ Z9 [! h) U
: h5 D8 a- o" {0 ^三、添加串口并使用PG15、PG16引脚
8 p8 Q# e- z$ m+ F8 O7 ]8 _4 E- K4 m- w( V8 x
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8  C) L8 T& Y6 B0 d1 p; O5 F% t
* H8 R2 I2 c. ]* r/ A: M: p5 K
      # Z6 x; u) ^$ V
5 L: S$ j( t- y
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图3 `8 d, ~- F  k* w( C$ d

1 V1 K- i0 x  o$ Y, w0 R/ b   
; O: B0 p1 P7 r4 f
; K6 `. v( A& J; Y ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。  l5 m& ]& F. W9 @

$ J" l' A& u0 z1 x" S   
* y2 |! k" `7 T  W/ l1 ~- Q# w: O+ ]5 E0 m4 P, v
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
9 q7 m$ r( Q) @6 I1 J然后我们打开UART2,修改UART2状态为status= "okay";/ a6 g8 a) X1 n! j
到此我们配置了UART2的引脚,并打开了UART2的功能。7 x* i, g# e8 r" y( i4 j/ h
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。% O2 b$ S$ F, J3 G4 I

0 L' S5 i7 c. s# |4 Z) Y文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
  V* @4 b& |% R4 }' }虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
6 q; a3 M( ^0 z9 V- d% b! A4 {& A! s6 X1 H8 ?9 z8 F
        ( D; ^. B) l' _& K8 k% \0 R9 R
                                                相关产品:                                                              

. L5 c3 c% N3 C4 S/ I3 w

OKT507-C 开发板

                                                  

FETT507-C核心板

                          ; ]7 M, s3 d. ^! Y4 B5 X
        5 ]8 N$ [  J# k3 _4 @$ i. Y. ?
: E* G8 t8 e- R7 V2 `* ^* D
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-31 01:06

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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