嵌入式爱好者

查看: 17319|回复: 1

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

[复制链接]

48

主题

55

帖子

306

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 4 j2 ^& Q# ^0 I; l  ]% c9 G1 f: v( X

& k! ^) K1 ~9 q; b; i: b* L  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。  F" E3 {( V3 n* j5 h  b+ b
                               9 f' q- V. p" o4 ~! P

% H$ i7 h7 K+ j5 n) f+ |2 \  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
1 e9 k. M& p# l; v 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。5 K9 e0 y% y4 {
' G: Z. u0 D0 k+ b4 X6 Z5 `3 F! [
引脚功能复用思路:
. H2 q3 K3 \% z, ~ 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能3 d/ F. O6 m: `  y
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
; I0 K3 d2 h$ k5 S3、添加新的功能并使用这些引脚5 [7 q+ m1 l! K, ]2 U6 }
4 `) K6 y3 J( u4 b. m, {1 J
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。* Q% b' S; p# r
: a4 q& c) w3 w
  一、确认UART2需要的引脚
% J/ [1 h5 o! ?% |3 @0 K6 }& w2 t
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
1 X/ B3 [! `/ {8 r        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx# q. G1 z0 G' n6 r: ^9 Y

! z: ^0 K+ Z4 [$ Y5 O7 J  Z. U0 W ◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
" H& Q8 }7 e2 `9 @" s; H2 j6 N
                    
  引脚名称               
# j& ~$ v. W: t+ O: Z8 k
' q3 a- N' c; \' i7 m1 I. d9 g
  FETT507-C默认功能                                 + m( K, F4 A% y  e6 P% T! D0 u
   可复用功能                                 # u/ p: D- w. c- u
                                        PG15                                 + D; G* ]. v# f) X5 @4 c+ M
  PG-TWI4-SCK                                 - u. t0 l$ j; N! R& j3 l- ?/ u! J
UART2_TX
                                        PG16                                 ) }: g% |" O" n; ]
  PG-TWI4-SDA                                 ( g' D. c5 q- F; f
  UART2_RX                                 
% R0 q3 \2 t0 i( v
                                        PH5                                 
. S; a4 a# y- Q' `2 D5 W
  H_I2S3_MCLK                                 ; s5 c4 K; w2 S( t
  UART2_TX                                 
3 h' `4 C* ]" l2 @$ {
                                        PH6                                 
1 n4 \3 p* ]2 }  c2 P2 x! D  T
   H_I2S3_BCLK                                 5 i5 y, S. Q! w; ^& K- i  Z6 K
   UART2_RX                                 
* Y# W0 L4 Y0 i- i, w0 R2 K
  PI5                                 . e+ q! F6 V: d' M4 e7 U- g5 D
   RGMII_RXCTL/RMII_CRS_DV                                 
; f" l1 o! V( x2 T
   UART2_TX                                 5 C$ h6 l/ {& ?9 Q, b5 n% M
PI6                                 " d; g2 P  o$ s; L) T
    PHYRSTB                                 4 @8 B2 j, I1 t. K; {- J
     UART2_RX                                 
& x$ p6 v5 K- S' F; {8 W3 x
2 u/ v7 L* u- \* e# x- _4 y
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。+ v8 v* ^( M8 k; U. [
" g. b$ \1 R# K* \; q# f) n
二、去掉原来功能对这些引脚的使用0 s. y( `' K5 u. i

- B: _' G2 l) E1 K/ t◾ 打开源码,先了解一下T507的设备树文件:
2 M- E  `+ b( G  S& ^4 p. C
, x+ c) D, N9 N/ X* c% u" V# zOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
0 g/ E) l- w/ j, L 功能配置设备树2
+ \1 Q3 _: V8 z  I) }% x9 B& k2 ^2 J0 Y% M; `) U, r/ o
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi) w0 V4 z. h5 ^: E# \$ B0 n$ Q
功能配置设备树1
- e& e3 k/ _" M0 v* e  i- X; P" e1 _" W" M  [! C
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
6 w8 ^" a6 {  H/ ^$ h" `- F  时钟设备树
2 z1 \1 ^: z5 T8 v+ ~* ~; \' N, Y
4 @! i- I. y+ n; I; |0 O- f  u OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
8 w/ f0 I+ N/ q% u  ? 引脚复用设备树
3 z& i7 P# W! W1 s( h/ C( }5 k- f; Q4 o* I3 N: L8 V0 n9 i5 c
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用( Y* m& H$ [9 f% a+ G6 W

# e3 n6 {; l8 _3 a- e: M4 E   
4 ]. l! V, B( w3 N7 X
# k4 o! z+ ]! ]$ l% g  N) K$ `2 O ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
+ D9 Z9 a' U& k/ G7 P" M7 e9 H+ H0 m) i/ _# a' b6 i' P
      u7 J* v) G% K; P2 E3 I0 o7 K

$ y! Y" D, H+ Y) D# N. k( D5 w1 T◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
8 `0 z2 p0 x, C1 _& r
! P7 ]4 Q% Z) N8 {- Q1 p3 l   2 a% E8 e- @0 g
* F7 k$ F0 b4 Q0 [$ J, O7 W* d, B
                    
, m" ^/ t# C8 y% S/ h- |9 ` 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。' B4 ~2 N0 r( V' |/ z6 v$ h1 l
- `$ w( z+ v# p, r  f  g2 M
三、添加串口并使用PG15、PG16引脚9 Z0 c9 z* \1 f" I) o- }
" \9 S  u) Z5 g( m8 P' ?/ W
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8. O! K0 w5 }. k9 s0 o
9 d0 }; [3 G( M+ D3 j
      $ B* L) |6 G: E6 _! D2 E
) a- r8 ~& \0 d. V9 i9 m" _: _3 x
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
+ A; K3 `/ z; F8 K- I4 @9 q( |7 \5 O$ i9 i: g; j, l1 L0 G6 n( o
   
. b$ D% w9 U2 [0 P* `. A$ {- v+ v- ^* M5 `
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。) q* C6 x) i' D& x0 c6 S
1 a6 Y8 T. M! Q) Y
   
  x6 T: T" N8 h+ f" l% E
' W  _5 Y/ |% p$ N可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
8 ^- S( b7 L5 G7 R9 i4 q然后我们打开UART2,修改UART2状态为status= "okay";
% `, Y+ \8 L4 m) g/ Q& F$ D8 N$ u到此我们配置了UART2的引脚,并打开了UART2的功能。
2 t4 h& U5 d6 |. F9 r- d, F当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
4 e9 ?) a! e) E8 L: ]! q% Q
! `" `+ y6 {+ q文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
$ T. H7 V6 o6 B虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。5 U6 P! k4 K/ b5 @2 A3 h

' q! D7 f0 P* I. [; q8 I        ; G& m& }! C" g/ @5 `
                                                相关产品:                                                              
+ |' B  {5 D5 {6 {8 n- q5 n: l

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
) k" a& c5 b3 g- c5 n        
$ I. q3 D, k5 M" f6 N: Q& c! ?% K5 L4 Y1 Z. i7 k% k* ^) S
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-13 23:44

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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