嵌入式爱好者

查看: 16411|回复: 1

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

[复制链接]

48

主题

55

帖子

305

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑
( i) \' J, b% H% i- ^8 r$ A8 h4 x7 D2 `( ]4 i
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
$ B1 l% Q. r# u( k, X9 j                               8 x$ J( n+ a5 v" S

0 T; Y6 b3 Q! o# u6 G  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。4 C, l; H8 Z( w/ f+ t
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。# l  r( Y3 D+ g* J
* n  b# p& J! l4 g, ]
引脚功能复用思路:
/ ~6 s; }+ ~; h% `. R 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能3 _( D" l: c& Y; r$ f
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
, u- g6 m* C3 y5 Z# @; K$ k$ j; ~8 o0 h3、添加新的功能并使用这些引脚
$ ^3 l% M8 i1 m, u4 B/ m  m  h/ X6 t& z
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
- ?5 @. U( X- c' E/ R6 i# k, N& `1 [% w. U9 Z$ M9 A2 Z4 U' ], [
  一、确认UART2需要的引脚$ o% ~0 d1 T9 t2 W/ |9 f' S" n

3 E+ |8 P( }; ^5 q6 S# U8 {  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表8 A0 H8 M8 _' N+ S' ?7 A
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
2 T6 j) O1 u5 s3 @# U$ f2 ]8 \! k* {* j8 n
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
" K7 X; ^3 d( [1 ~# s9 {  x! Q
3 ]6 Q+ A* j2 D0 |' ]/ _  Z) h" n                    
  引脚名称               4 E. _1 k  }5 b+ l) y! M

9 L3 ~0 F5 g/ g1 l
  FETT507-C默认功能                                 
  |- c5 O; U. U, m2 g, @9 C
   可复用功能                                 $ n: C4 N% w, q* `' g
                                        PG15                                 $ T0 Z) d# F% w, V4 @: ~) {6 H
  PG-TWI4-SCK                                 
& z) [: F& Y9 C0 ?
UART2_TX
                                        PG16                                 
( l; J# P( ~3 n  f# Y
  PG-TWI4-SDA                                 
2 _" o9 G! q7 P: \: k. y5 c
  UART2_RX                                 9 I, h0 ]2 @/ b0 N% Z9 B
                                        PH5                                 
8 Z  H/ x3 x0 v
  H_I2S3_MCLK                                 
% c/ g9 d# Y6 D
  UART2_TX                                 & N; F( S( V1 D/ K- W) K4 F
                                        PH6                                 4 t, c1 H: c# g% t
   H_I2S3_BCLK                                 % l  a" L, F' U6 g
   UART2_RX                                 / ?* S' ?. N+ Y$ h4 A$ l  U, C
  PI5                                 
  c0 H1 u7 x) u: v: M
   RGMII_RXCTL/RMII_CRS_DV                                 
' Y$ |2 A- r( d. i9 t7 [
   UART2_TX                                 5 P: D" {! E6 s, z" X
PI6                                 & N! C/ Z( B# D# }3 |
    PHYRSTB                                 % c7 N9 o  J: D1 n$ F5 u4 C
     UART2_RX                                 9 x) W6 {' ^/ o+ d1 ^- t  V) N4 l: E% n
# d% I# A- t  y/ d( U: v2 x
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。5 v. p5 H4 E  h7 J+ K0 a0 t7 g

3 @9 y, e' h. Q. ]5 ?& z$ C二、去掉原来功能对这些引脚的使用
& c$ l* S* R/ Q5 E
' u+ J) ?$ w; D. g: H◾ 打开源码,先了解一下T507的设备树文件:4 ?) q- Q6 U2 Q- N# ^8 o+ n) l
, f8 _4 T' C: s. o" V; M
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi- U, Q; g. l. L
功能配置设备树2
% K; a5 F. E' `& y8 w! p- F( C- X, h6 q8 E9 u. j: J
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi  f  S( c! ]+ t0 p. b9 p+ u
功能配置设备树1
4 I8 }: t0 P* ^) |8 P" R" s3 M. a8 k- d9 z9 `
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi5 Z3 f8 ^, s; s) `1 S3 G) K
  时钟设备树  {, P4 Z6 ^" P1 ]! p

$ h6 T8 P; R% y4 d- g! s# \* I+ c OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi0 j5 L" L0 H8 e
引脚复用设备树
4 e9 j! ]. I' j# c) O6 L8 D( s. w1 a9 |
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
6 B; R5 _: g' r
$ n/ l0 p/ r3 c: }" _5 Q7 {   
8 L( Z! ]9 L/ \! W3 e
) t- x! e3 `+ r6 L% f ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
" u9 u! P. q5 g, j* f4 V: n' W  t" R! J- N8 o6 S  ^2 H
    ' B+ s9 \( d+ d$ ~; d8 I
) N' N; w) i! u
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
  h: S5 k( F/ F* T# |# U- B* q& ]3 k3 B1 a0 y" _1 g' p
   , u/ U# m3 \: P

& _- E$ w6 u4 ~( ~                    4 y9 I) y# M1 o2 q8 k  g$ D$ `
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。7 \+ Q7 d4 \+ U3 T! M/ b' O

* b7 t0 P. p  I, M- P三、添加串口并使用PG15、PG16引脚
1 t+ d; ]( J! m3 I6 V. m% @3 @/ i: a
! J) U5 c9 s  i; N: ~◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH81 r5 h0 e3 m% N$ P: z, l3 Y

* a  n0 \2 C) R7 a3 n( {6 ]8 z% i1 w4 p      % {1 W; m! T0 }; C, m, x  j% e
2 P5 G4 [3 F0 f' X: T# W( C
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
& T% u6 u+ }, r
' u1 E% B) y( h( {* P: G    $ b' P/ Y2 \- Q, B1 P
. ?4 g7 h6 z( D) Y$ i6 x0 c
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
8 B/ q3 W. G  d6 P& T$ I( @& g& R# k" n* p  K7 F9 j
   
) Q( ?' K" r$ E4 ~9 b5 W! t" O4 G5 g1 R
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。3 s8 Z. E$ c) }0 L( o" @
然后我们打开UART2,修改UART2状态为status= "okay";
# c2 a: p7 H2 ]% [7 r' q到此我们配置了UART2的引脚,并打开了UART2的功能。
3 p3 P, d1 Z9 |2 \当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
/ l& Z# r* D: q' T- v- a
9 r) c5 H6 {  y7 W# R文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
3 e* }0 }" e$ x" s虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。- {& _. e+ g( f& Y3 h. p3 x7 |
: i$ q' i6 q- I  f& y
        
1 _; ~" ~6 H5 R" o- E                                                相关产品:                                                              
$ B/ z1 G0 k9 _  P: ~

OKT507-C 开发板

                                                  

FETT507-C核心板

                          # J. l& k8 J" z2 k6 P3 f& X$ p# v4 O
        
% \3 r( `0 w' Q1 B: w2 Y
7 H6 D$ U* T& y) S7 X' L8 K, M; `
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-26 09:00

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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