嵌入式爱好者

查看: 14261|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 % |! @- P, a: @) k/ l$ H9 {1 C/ L- |
/ O, |- R) i: |% n
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。% _# w. R2 E$ v% c7 p6 U0 P% T1 U
                               ! t+ s, q! X4 @" N( v: d$ a: R8 q

5 T5 J7 v, u* U5 v  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。1 k3 @! F6 Q! w+ k/ D7 J9 N+ \
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。  D6 _7 E0 t) w% n

7 a1 o9 {+ f; B$ C3 _/ \! H  N 引脚功能复用思路:
$ l, o& J. K! J/ R! t' O+ ? 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能: P" A% _( R! n
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)  y* T: H" R( X' t7 d0 F  ]: l0 O0 O- d
3、添加新的功能并使用这些引脚# i8 ~* z1 ~* |% }

% j; v' q: S  S( y- J- p7 B 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。; C4 Q8 y: {  g+ l, r+ V$ D6 l* u
& F* b7 O9 x+ s# R- y9 x% N
  一、确认UART2需要的引脚% f! x0 j. ]# [
( Z: K6 _% n! u- L& @
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
8 \6 C! @) P; n) Z8 w1 H1 U% C7 b        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx9 ?6 D0 O, N3 p- ]$ [
- t/ j  q9 p- j9 K7 o, L
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用+ @2 v8 u2 ^6 V

/ }+ Q0 I; f/ f5 i, B2 r                    
  引脚名称               
  O; h" m& B( ]6 M2 N2 @; O8 D6 T2 u( s) B
  FETT507-C默认功能                                 
5 N! i! J6 G$ ~/ \, o' Q
   可复用功能                                 
2 q/ O3 d6 f1 ^: ~
                                        PG15                                 
, b4 V. M! l, L& ~+ Z$ }1 Z  Z
  PG-TWI4-SCK                                 ' |, l( _: N$ P0 r. n5 A
UART2_TX
                                        PG16                                 ; x& t+ @2 Y9 j9 e0 O( b
  PG-TWI4-SDA                                 " ]: G0 ?( I/ Y) Z3 ~  [
  UART2_RX                                 
( r* C1 @; ?7 u9 \  b7 e. [
                                        PH5                                 ) U1 Y( G* ]8 K* ^: p# p6 ?
  H_I2S3_MCLK                                 ) d! y2 s& A9 f5 K
  UART2_TX                                 
4 k- i7 g. t0 p/ C: k) p/ C
                                        PH6                                 9 M& ~$ m+ R4 m( ?! G6 K9 u! ~' L
   H_I2S3_BCLK                                 1 J8 T. D7 D5 R: E1 L5 g
   UART2_RX                                 ' u2 o) M7 y9 p' [
  PI5                                 4 z2 O% R3 w$ \
   RGMII_RXCTL/RMII_CRS_DV                                 
+ W. P# C- l. X! y) m/ k2 m
   UART2_TX                                 
9 a9 ^! @4 _, I( V# ?
PI6                                 
& D' _  u" F0 P1 C7 D1 Q6 [
    PHYRSTB                                 
9 h% h* n1 d0 W5 c" D) V9 y) ?
     UART2_RX                                 
6 a" I  ^5 P& |1 E' m

: ]# W- h) r& Q& U( T# y小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。$ l! a/ N  K; h' Q2 u3 F# r

! n; `% d1 s8 k# S3 {二、去掉原来功能对这些引脚的使用
# R( h- s2 t0 G/ Q/ K' e+ J0 \: O
6 Z2 Q' M- s% d! }/ k9 x: m◾ 打开源码,先了解一下T507的设备树文件:5 G, j# V0 a% A0 D1 p
% b9 h$ L4 }8 D/ q; Z4 D
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
5 L  u3 X; P0 j7 e# U2 U 功能配置设备树2
5 W- F4 P7 J9 L+ ^- _( }6 a: s/ \0 `; l. x5 Z
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi& J& A! S& Q6 K' M
功能配置设备树19 y' K: S& l  X; B# b2 q1 |
$ |$ J2 X. F, z+ k) x/ x
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
, ]8 u8 u% D$ C& t# r  时钟设备树
' b7 u$ X0 U' r
  _4 `4 U- r$ u7 i- u: d% Y3 y% x OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi% K  P0 m* q' r, ^
引脚复用设备树
& H7 Z, {# A- ^: R9 B& y, _8 L. z/ W3 M& Z: z6 O
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
2 ]  P. H9 b  w9 _' w; y( ?( ~. W( e$ e7 e
    ! L  E0 G, f- R) W5 S4 M

$ E9 t! l. H3 ]1 |" ?3 u ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
0 D. U6 m+ s2 }: T) r" Q8 |' \: i6 q2 B4 Z* s
    4 J- f) X4 Z9 Z( Z0 j) x
) H0 i& Z& T5 F0 J/ T1 E: C7 a5 P: v
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";$ J$ u# w  r& z( T7 \

+ ~6 c, ]; G" T2 m; w- H! h   5 ~0 d1 h- `; Y: S
  \$ I8 z3 l9 p' m7 [1 b
                    
. h- P/ x& q2 Y9 G1 ~& r/ f 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。6 X! a, [( b3 K8 ]# z0 s

3 m7 l9 s" N2 h% d三、添加串口并使用PG15、PG16引脚3 T1 g1 ]' z0 W
1 ]" T0 V/ h! I3 j) t# c: l. _
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH89 D1 W1 |+ J9 C, l- Q% S* e6 K
, u( G: T+ S" h# W, |- @& L/ P4 A# t
     
) r: B) n" X, B' b& h. a
9 M( K$ N( ^$ z: g- ~/ i  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
: @0 P. o# l- o# _
5 G2 T" N8 \0 z0 \   
0 {$ C( ^. V0 [
9 ]3 J4 _. Z% |- E ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
- B: z) o9 ^9 k1 k1 O: D6 H5 {5 R  l' Y9 Y- V) C
   
) B8 F9 p+ W6 R( S$ `& b" t' t1 m& E0 h! `7 d! n/ O
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。9 Y6 w  [! I8 c* V0 ~
然后我们打开UART2,修改UART2状态为status= "okay";
9 \- ]) l! \. }7 L到此我们配置了UART2的引脚,并打开了UART2的功能。
0 o# l4 }8 O8 V% c- U" ~1 A8 }7 s, y当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
, z8 `0 L7 S* ?( \3 M5 t/ R; a! _4 \' i4 h0 S( V3 H9 ?
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
/ |) k! S( x' m, C- ?2 S虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。4 K! q1 C7 h# ]  {# x) W6 k

. D9 j) p, k! I+ a/ ]4 ~2 U0 x/ j        . n8 w* \1 }7 F+ O( G* ~
                                                相关产品:                                                              

( c2 d2 P4 U+ r& O/ W

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
2 x) O! m) H. d        
/ O; H# N( ?1 U! s* ?4 O; b6 y0 F: I! E4 S
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-11 09:57

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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