嵌入式爱好者

查看: 14378|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 * t1 U' M8 T" X+ C: m7 l; n3 Y
5 `; P& m0 x( s0 A+ @
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。8 O+ Q. v) d4 I0 h+ Q
                              
' R, b6 i1 h- C' c( w; \0 Y; N2 k+ J, ]5 U; w; ^
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。' [2 d* o+ F$ O& ~: T
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
* k2 T2 _3 m) x- y  c: N0 ~; ?
% ]% p2 g- u& j3 T 引脚功能复用思路:
' C3 z. f9 T" R 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
. Y1 H9 v. R  I7 a1 L! G' c' B 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
4 r- |$ w* ?/ u# I/ ~* @3、添加新的功能并使用这些引脚  [( v/ @$ J; c0 o! p
% P7 ]5 [# D0 q& Y, L/ J4 h; ]
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。  Y3 c8 o1 O: R3 ]

4 c" r- i/ w; Y2 u7 _  一、确认UART2需要的引脚
& [) Z' O9 K; R4 b0 x' y6 {* \
7 d6 A- `/ S" m" r- J+ T# e3 m- ~  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
# {3 F: i2 Y8 ~3 G        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx; T( c, n1 _8 Y, s3 Q* t) c

4 v5 g% }- @) X: Y7 |+ p ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
( ~, ^& X% Z- n: I
/ J/ m/ n6 w  f, [% R, e/ z+ g                    
  引脚名称               6 O6 q# X+ R6 d( M. q
: K, b* j4 l' p1 S
  FETT507-C默认功能                                 % G2 \* ]- d* g& y& A4 ^: C
   可复用功能                                 
" T- \+ ]+ o# b1 S5 d3 P  a
                                        PG15                                 6 h- Q- G9 m) p* P3 z/ d
  PG-TWI4-SCK                                 
5 g6 w* c0 e" C0 d6 y
UART2_TX
                                        PG16                                 
/ Y7 D* |4 O! k  i! v0 R. u+ g
  PG-TWI4-SDA                                 0 q! e2 L" L! v+ M3 `
  UART2_RX                                 
. ?2 ^6 F3 c$ @& l. K2 q
                                        PH5                                 8 D% o7 s; O! x9 }
  H_I2S3_MCLK                                 2 D3 U, S3 A2 F3 z* r
  UART2_TX                                 2 f2 _1 {, W9 \  |4 t) E0 u
                                        PH6                                 
( ]7 o! Y- j1 g1 {
   H_I2S3_BCLK                                 
4 W# v+ [: [( g. @
   UART2_RX                                 1 ^, D! L9 U6 E0 }; ?( o; X: l+ l
  PI5                                 5 q( ?) c. m/ O, r; Z
   RGMII_RXCTL/RMII_CRS_DV                                 
) z1 h) A8 M/ r# Y) U1 P, y8 y% n& Q, M
   UART2_TX                                 + l1 U/ u& o. B% ^/ m
PI6                                 0 ?; g, z: l. @2 }! d( s7 {
    PHYRSTB                                 1 m% p( P% L# w9 N4 D" I
     UART2_RX                                 4 }  g8 j* [& j9 _
* }) P  K6 g9 b+ C" q
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。7 y- I+ Z4 L; \6 R* [) x! ~

. ]2 A* ~1 ^- _二、去掉原来功能对这些引脚的使用' o$ k7 q7 D' Q# S8 T) D+ c$ k

. n) i8 K% d& D* l◾ 打开源码,先了解一下T507的设备树文件:8 a; j0 m, s3 \! a
2 Y* x& V2 m! C& g
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi% h8 d! I, ^# ?0 H/ @+ s( ]4 h
功能配置设备树2
0 U" d- e, Q. W- x# M
/ R# A* ?! K+ O) I( I. `+ E" pOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi. p1 B& _; w; e4 ?# X- e
功能配置设备树1) O! q/ N: v, D  U3 Q! P' S

! J/ \+ t6 }9 D OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi$ R, }9 a( k7 X0 E2 I1 ^0 v
  时钟设备树
8 m! n0 A6 ?8 G; y; a/ N1 Y4 x) W9 B' X9 J$ ~# e) {! P' [/ [
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi0 Q* F4 G* r  V7 p8 b
引脚复用设备树7 G$ ^  Z' }# @" O
$ z- V) s3 q- f+ h+ o
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
. m* B8 l. U8 C9 G8 p7 Q7 _! e
" P4 C* r5 l) ^# ?   
& F1 H) q' Y/ V5 e' t3 q* x" N2 Q; I, i
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
+ S1 Z' r, V" _" @7 Z$ A0 O9 K& N( a: I/ ]+ R/ p8 p4 L; C# i/ c  T, K
   
/ [* t0 \; F  K5 N
* s2 U- j- t$ d/ q5 f5 g◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
6 p; J, D7 {) W2 |5 \9 K" U
, r; i/ J' W% D1 A  |9 N; \   1 Y% G7 n2 v; z( ?8 G& E) I5 y1 o

9 `2 Y+ k+ o2 [. y0 R1 g- v+ N- g* n/ x. }# T                    ! ~. D* N; j3 z; Y
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
' L, a# a! s8 d3 W5 F: v  P6 j/ ~  r2 X0 w  {6 |1 f0 H* v
三、添加串口并使用PG15、PG16引脚
6 D" R% G4 H8 i7 n% x
* h9 V4 l! c4 H1 c( t8 S◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8! T, k9 F9 b2 |9 {4 S9 ~
# y; b5 v) m7 S- B! d1 c! j+ N
     
! F& ^! ^$ `7 Z- ^
3 C5 A& E* P- y3 ^' c) w  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
" g: b) D7 A5 L$ n" D) M8 {
: s% j: d3 H# ^9 i% p# v1 s   
- u) f) r1 l6 y/ @6 A* a2 r$ C% F# J- Z
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
- J! r: H" F: y; [2 Q" q3 [( Y7 ?0 C) e0 {3 A" k* X
    6 d. z1 t! v4 C$ H

' m5 Y: D4 J' Y* t- e" S  `可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
4 X( d. K0 D& P: i1 n( p7 D" \) ^& s然后我们打开UART2,修改UART2状态为status= "okay";
1 x3 ^4 o" [+ M- B" `到此我们配置了UART2的引脚,并打开了UART2的功能。
! a1 a: y7 t2 B( L当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
2 i7 E, R3 P0 o) a) ~  J0 B
' t$ E  N9 x. e  K文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。2 E8 ], d% g( u4 [
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。# f7 ^7 H7 e( ?) I$ [, R; I  }

+ @) r4 c" ]0 u4 N; r        / K5 w- x! j6 R+ }3 o" P; J9 Q
                                                相关产品:                                                              

" i/ L* N7 \" _8 R, R' P% H. R, [

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
' J% T  V4 R9 {        
4 p$ J7 [; G) z: Q# x/ l& Z. I; b! V* K' S; r6 n
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-19 14:24

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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