嵌入式爱好者

查看: 16641|回复: 1

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

[复制链接]

48

主题

55

帖子

305

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑
% l" e2 X; A/ e/ ?8 i
. ^% H) h' l. e5 t9 I, D  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
7 T" J0 L' @* ^% i                               0 I9 k0 J$ V# X8 n

, [0 f) U, p" f' I' x1 C  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。$ g% |* o1 @! H4 }4 B
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。, {# w7 w2 o% W& O/ C+ j9 g& f
- x8 [) _( h' o/ x1 Q
引脚功能复用思路:
1 [9 l+ P% {1 W( j( ?, e 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
+ P2 ~# z- ^! h! \& {9 X/ R 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
, ^  T5 Q1 P& i% ^! A  ]3、添加新的功能并使用这些引脚, l% [5 L) m3 I7 H$ ^4 r

) c+ a, V- P. L: n2 p* a! r7 c 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
/ U, U9 ^0 L9 G& x$ E
9 U4 H7 C+ r- y& W+ W  J  一、确认UART2需要的引脚3 B9 _9 |  i" }# k4 M

& ]- j* d9 s* ~4 S5 N0 ~4 I  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
2 d- ^( V7 b* L/ B        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
; |* q' i9 ~4 p: N/ p+ A2 r7 R8 o3 G( h
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用$ R3 M  t# E$ y: E& d; z& X

8 e! m' [/ Q0 N$ m3 O                    
  引脚名称               
; l' {; L* ~6 w0 \# Q: e/ S; y1 [2 k+ T( b0 `& B: `0 p
  FETT507-C默认功能                                 
' Z* Q2 H$ `  U- r5 U% o* J
   可复用功能                                 
  d7 _/ N% T( V( c
                                        PG15                                 
8 L4 x: N: n, d8 b: Q0 B
  PG-TWI4-SCK                                 / K" J, s& h1 `, ?. _
UART2_TX
                                        PG16                                 
" c+ o0 a7 ^6 O' w; Q0 c
  PG-TWI4-SDA                                 
% n  u$ Z6 g6 R8 l% E4 g' @! p7 U6 `
  UART2_RX                                 ) S2 D2 ^- @! P/ b9 r. z1 g
                                        PH5                                 
5 ~( T; }; h) N- A4 l0 x/ U
  H_I2S3_MCLK                                 ( e% {0 E: V, J. Q5 I
  UART2_TX                                 & n; q* G5 n1 A3 l
                                        PH6                                 
! f3 l1 h% i+ W" H* \
   H_I2S3_BCLK                                 
4 j3 c7 \' H/ N7 ?, F0 q9 n6 x
   UART2_RX                                 6 D8 V: N) b$ O+ Z: v5 P
  PI5                                 
/ M) ^2 z" t1 N" E) u9 v
   RGMII_RXCTL/RMII_CRS_DV                                 7 z. d( e" I7 w, j* B& d, E
   UART2_TX                                 
; I1 q+ r$ J2 @. V" s5 W& L# a
PI6                                 
; f4 W/ ?, f$ X) w& f
    PHYRSTB                                 ' t3 W# z0 Q. ?2 `( \3 v
     UART2_RX                                 : c5 Q& B3 d2 m4 O! a& {
4 Z/ S7 O& ^; F/ d
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
8 ^5 H  A& g8 l$ X' _* f4 c) i& k. E' K6 l) Q+ X- L1 }
二、去掉原来功能对这些引脚的使用+ P4 {( _; Q/ c  l2 r+ P3 [. ]
9 J' n) t4 S  o1 V" G' b# m
◾ 打开源码,先了解一下T507的设备树文件:
/ V& X! y" K+ n% H- W+ c& ^3 k4 {1 n. a
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
2 a9 ^# z& N; E' X" g% V6 Q 功能配置设备树2: g8 b. z0 r: r* n

- D/ [% c: m- |: x  C! H* \OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
% _+ H5 y& I' \1 k, Y& c6 _功能配置设备树1" O5 o# {( k4 t4 f7 D+ c

, @3 R0 R) T  W' e OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi5 ]( y3 `' m6 i! T
  时钟设备树
( p2 \5 Q9 I: D! R
2 w+ W; f/ G& ^3 D  U OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
: K7 ?) c& O/ N 引脚复用设备树' R1 _1 `* J4 L9 {2 L% y4 J
" D3 i3 [7 w8 {+ C3 ]2 j1 J# h0 b* ]
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
  F$ Q+ `& i" v" v2 e3 S" \, c3 H- ~. h  b$ `4 b
    # S* f6 q' F; ]1 v3 ^3 }. u
2 g, n( }, a  _( W* {  w  u
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b3 p# I3 G9 o( N/ {$ v7 r. ]1 y1 ~

8 i+ f& o" B  p" F) f+ `( Q" E    ' z. |3 W6 t7 D
! l, i; E! |+ g0 L4 S/ \
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";7 {3 W6 P/ S. l2 ?4 h& B* G
$ t: B9 x7 e0 ~3 A
  
' |3 h+ ]' W% B. s  \7 \3 V0 f2 ~* S- V4 Q  w% [! J- k# j
                    7 i  a( @" W1 M2 a; d
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。" W! I& d* @0 C
3 q& M) A/ d5 j/ c& P; a+ r
三、添加串口并使用PG15、PG16引脚% Y! f2 N0 k; `! j  q

7 D; W! r7 D# o$ z8 w8 B9 x◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH81 _6 Y1 E8 `5 |* d! A- y% n6 l
- C. n9 }. o& X2 m4 R! ^4 G1 o* A
     
8 ^' W2 U+ M; {7 k/ n8 l( J4 s) S( Z! F) _0 ~" z2 |
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图+ ^' Z$ ?: Y0 b( D
$ f5 |% H4 K- B# l+ d: L
    , f/ j! `  z# e
8 r: |! v' s: ^& o$ y1 H
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
' e; a" J& W( k0 x/ R( F2 C6 n- K( A( [5 i- N3 A7 h7 y
    ; w9 m2 T  [- s: z/ J
- Z  h! v) J: x  F: X6 Y2 n3 u
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。9 H8 T% @( t' F% E2 G% V
然后我们打开UART2,修改UART2状态为status= "okay";
  y! B0 i* q& P" B; f/ g. G1 u到此我们配置了UART2的引脚,并打开了UART2的功能。
. c8 L5 `( k  c当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。+ h/ l& C9 O/ I9 P
; C  E( `- _5 Z! o4 h
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。% j6 `: m6 B/ B" U; A* {0 K8 i; P. {' ~
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。# k, L) e9 J" N9 O6 d0 b. j+ I# P

, n: C) R% _; @  `        9 x. e; m. L( s9 c2 a
                                                相关产品:                                                              
: {& {* f! q  H0 O

OKT507-C 开发板

                                                  

FETT507-C核心板

                          , Z% T. ]% w( t1 M: G
        8 K& T+ @5 ?- r& ]
9 T5 \8 x8 N% k
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-16 11:16

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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