嵌入式爱好者

查看: 14062|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 % T& Y) C( F" z; x) F

; J1 O& x% w/ [3 j, T1 b  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
; b) x% V+ K; X) z; S                               ( p) J) K# d$ k- j& r
/ l" ?# N3 l9 D9 m5 o+ Y' Z' \( |
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。# x" W$ a3 I9 T7 k
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
( M: F- o+ U5 N$ G2 C- b, j) C. B4 k, f  M6 t' Z& }
引脚功能复用思路:6 D$ @4 A8 F. V) p: ?% t! r
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能5 S5 I" ^! K9 c! d( ?
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)% ~3 j" E! Z' |& l6 ~
3、添加新的功能并使用这些引脚
6 k+ e0 h, p$ y0 F9 a7 _" |. T) s5 x8 _5 t0 @
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。- d. V2 I" G2 B

. Q* \$ N' p& A. @  一、确认UART2需要的引脚
5 n8 O' G# C; M
" E1 N+ @1 l, P% c" v, ~  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
1 O& b- e, _  F) J7 F        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx7 R/ E1 F: H3 ?

8 N$ a$ z5 ]1 i: S- X! R/ g ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
* }$ s! `  K# R' {% u! F) W  Q- Q% k; P' c, R# S$ R
                    
  引脚名称               
* x3 c8 l2 y) B( d0 l, N8 v9 r4 [% ]$ C
  FETT507-C默认功能                                 0 r* V* G9 z& c5 ?% G
   可复用功能                                 
: Q  U; ?8 K. C* m& b
                                        PG15                                 
' c% k2 B/ L3 q; _1 r
  PG-TWI4-SCK                                 5 l& \! L% s) z( a1 d5 d2 b8 Y) v
UART2_TX
                                        PG16                                 2 X, }/ z! l3 l' s* q
  PG-TWI4-SDA                                 
9 `  b( k% \) J* W
  UART2_RX                                 & U" q' [9 v! s
                                        PH5                                 
/ c) R' }; }' V1 _4 n1 Q6 f
  H_I2S3_MCLK                                 ' L+ m0 k2 ^6 o6 I! I
  UART2_TX                                 
2 x8 f4 u. m! z9 Z! {" V
                                        PH6                                 
9 I5 `7 f: j$ @8 \
   H_I2S3_BCLK                                 3 Z6 I) [  D( R! k+ m! Y
   UART2_RX                                 , j' I$ m6 V1 Y/ O; C
  PI5                                 
% I5 M- D6 y; O9 w
   RGMII_RXCTL/RMII_CRS_DV                                 
2 N" H) X7 F% P2 p& i$ T
   UART2_TX                                 
* u( N' \6 y- @, G; s8 C
PI6                                 7 @4 n( R7 w1 v/ n
    PHYRSTB                                 " G6 J  y6 D) U8 m5 [
     UART2_RX                                 ! A1 [/ S. T# i

+ f  N* R6 f2 a- V1 K8 D2 K小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。. D' O  h: K' w3 ]4 d
# _* L, V4 M- m3 W. W# p7 }( ~( w% b& q
二、去掉原来功能对这些引脚的使用
: ~! n6 T) t2 N; O# K* s
$ w# o  u; X# x& {% s1 P; z, k◾ 打开源码,先了解一下T507的设备树文件:6 L7 m- S+ u# N/ S! f8 [* Q

5 E/ M# W. z$ L) _# W- W  HOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
  ^2 W7 E1 A" k/ }, k- U( }+ T 功能配置设备树2
5 p; g5 F7 b, Q2 z, r% p4 K3 d# j1 N( A" q- b6 q( L
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
- N4 x+ K3 m7 ~9 |功能配置设备树1
5 q3 P; K, [4 o+ @% j2 h4 Y# o( a+ l
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi# P( V6 _) ~! f# _$ j$ f
  时钟设备树
3 h* E' J  x3 e) ~- ^# ]* Y: r- u
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi& f% G  j' n3 P+ \6 T& Q
引脚复用设备树/ x# F2 Q* j* v; h) c: U, P

1 G1 s  |8 A8 c/ L/ \0 E   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
$ e+ y7 X$ r; B* m5 ^4 x- J1 W. d; y5 z# V9 a+ `5 P* ]
   
3 I9 M( A2 Y3 i% ?
5 y7 G' e  m! u7 @" T1 p; A ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b) {/ e4 w% m' z: x$ ?
& C! C6 k/ T' [0 J
   
5 C+ H: ?0 k+ m! d2 \* m2 P
2 O# c+ P6 L6 O3 C1 ~8 C& o◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";9 C; m# n) J9 d4 D8 ?, o* d' x
2 C. L9 r  p0 v) Z$ I& p6 K
   1 U6 |7 C, f  ]: y0 z

1 L" T% u! k$ M7 {1 ?- e6 c                    9 M$ H) o7 U, j5 V. S4 T: \( M
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
8 m; c5 \5 @7 |; h/ p" Y( |- U
- |$ Y; f, i! Y& g" c三、添加串口并使用PG15、PG16引脚3 h6 \# b2 L0 c1 ]8 [
# I) Y- s' ^+ g) ^! o3 Q
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
- N+ z& r2 b. Z! j' d
$ y2 w0 X! K- H      7 A% L) s) G! w

9 i8 @) e; H% l8 G) |  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
" c/ b( l2 J) P# |: k; T& V$ c. f5 z! S4 X$ w$ d& x# H: k
   
! D# J, z: i' V2 I3 [8 t$ q9 o7 e' ]# }# Y
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。6 s$ d, x8 I$ K4 S5 V

2 j$ `4 Z( j9 O+ F) e4 Y4 B8 @   
: A5 ~" H" F$ m5 [- I8 i* J, ]& @
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
  _# `( X- k7 X. l% E& W% L4 W然后我们打开UART2,修改UART2状态为status= "okay";9 Q4 H' p, J" V9 O- I
到此我们配置了UART2的引脚,并打开了UART2的功能。; g2 X$ @7 }5 ~. h
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
9 T$ r: o! }3 a0 |$ a+ `5 ?4 V! `7 g( N$ ~& q: l
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
0 F; f3 x& B" ~7 A! {虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
/ `2 g8 M$ Z2 _: ^6 ^% m4 N2 ~- W: A$ v; a7 p/ o) W4 ?( ~
        
3 a3 W' y! p$ A, ?8 l" M                                                相关产品:                                                              

) T6 ?& `' f- c& p& A' f

OKT507-C 开发板

                                                  

FETT507-C核心板

                          # M+ I5 a: k" l4 g( [, z; {. q
        ' E4 E2 @- D: `9 R2 g4 p2 S0 O2 O

3 Z) F: q8 R% J
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-19 06:58

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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