嵌入式爱好者

查看: 8559|回复: 1

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

[复制链接]

46

主题

51

帖子

289

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑
9 d/ @% |/ g& W$ z3 X$ j
5 X" q; _+ Y( h* |  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
- a$ w3 |/ y7 h6 @7 {7 k                              
- M8 M' D7 }+ Q% H  `5 {, S$ H, p4 F/ A4 R9 T# A# Q
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。2 m+ i0 j  L5 r6 l
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。/ E% F" I% b' H, j2 w7 h
- G+ i' A: ^# y+ s8 j* q- T
引脚功能复用思路:5 Z8 P  e; \! d+ f. ]: X& o6 I
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
2 N) S6 I6 P9 E 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
+ w& `0 a: \% n, Q$ j, c3、添加新的功能并使用这些引脚
% f+ ^; G& [  s) a& G- \
$ D. B! s3 h. `3 A% |- I: ` 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
! y1 R/ a2 H9 i- H7 V( V4 c$ T( p; u2 N
  一、确认UART2需要的引脚+ t0 u3 n4 @& [

. r" M4 r+ G% h9 Y- Z  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
6 P8 B* `5 I! [8 ]9 j9 H0 [# V. `* o7 v5 I        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx- ^1 d, Y6 L3 l' {5 D
% {) c9 k! _1 s3 Z& w1 e. z$ v
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
7 k1 i& G' `4 s/ a" S9 W5 a0 ~1 |
                    
  引脚名称               
0 N" n3 N7 m3 R) [: T) |3 A+ r1 J; ~1 v' r8 }
  FETT507-C默认功能                                 : T! K! k; J: D: _$ s* {
   可复用功能                                 / X4 j7 S* g; b1 W. d
                                        PG15                                 ; M. c- _- r/ }. @# l8 f3 M
  PG-TWI4-SCK                                 
/ G& A/ O# }4 ]) H* p8 j- q
UART2_TX
                                        PG16                                 
2 V. u  w- ?, O8 M  P3 T
  PG-TWI4-SDA                                 ( j! U5 U% V: d
  UART2_RX                                 7 v0 g& c, O0 n
                                        PH5                                 
) |8 ^, {5 F8 N! d
  H_I2S3_MCLK                                 
" ~+ V1 j: p0 b
  UART2_TX                                 0 ~, k( e5 n1 `; B
                                        PH6                                 
& b$ _! M) e+ t  c
   H_I2S3_BCLK                                 9 C8 h$ e/ _* w3 e) N' k
   UART2_RX                                 3 W1 c( e+ a1 y" G6 {% i% H0 t% T6 E
  PI5                                 
- l( i) t" ?; b8 E3 t) r
   RGMII_RXCTL/RMII_CRS_DV                                 
3 _5 _# r( p* @5 e% y) T; G
   UART2_TX                                 
# `) v5 q6 @8 F% E/ I0 B  x
PI6                                 ; h6 j5 l& J( B( o, ?" S
    PHYRSTB                                 
  z. v9 c" T, a: @  M5 r1 U; Q
     UART2_RX                                 
5 R: r8 [0 g( |  h% `& n0 C

3 w3 ~8 A2 I5 |* j0 G: c小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。4 \" _+ P- C, T
+ B2 ~4 F3 g8 q4 c2 J0 Y
二、去掉原来功能对这些引脚的使用) L4 V1 }" j; C1 `8 u9 a2 l/ d9 [) n
4 ?9 u% ?% Y) k9 I
◾ 打开源码,先了解一下T507的设备树文件:/ {( B6 I" R2 f; {

1 k  j6 J# [4 e) }7 ~1 S" V% DOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi. q$ r7 }. R9 N; G
功能配置设备树2
  Q; P, H0 D8 U7 r& a5 i2 _2 o1 ~1 @. B: q. I2 a4 b
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
3 I. R  Z) x4 q- O功能配置设备树1, S/ d& _( H/ S
9 U  g' e9 k5 O" K
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi% i  B: P; i, q% l' F- x+ g7 B2 |! c
  时钟设备树
( }: e" f  d, B' h
6 Q" f1 C6 r: L) m7 D OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi/ x( ~4 q8 V; @5 E: O3 S' K
引脚复用设备树
" x9 ~/ @8 ], I, H2 Y( \/ g- N% `. ~$ i9 k2 H; l3 R
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用; N( Z2 M; s3 V, h5 q

% @) {( t; o# N& n- \" V   
# S# X2 e" \1 D9 h3 X
! {& F4 t+ f# ]/ C. s# s$ z ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
  Q8 ^. D& P% t5 k0 K- R/ J8 x" ^+ U! }# M
    ' I% Y" e: n/ J& \( }6 I

7 k( L$ U* \; {$ {# U& t$ H◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
4 H/ N' J9 J# {- `$ {$ u5 P
0 s3 n9 V. i- G$ q" z9 F   . }& Q7 Z8 V9 V$ v$ X" x. B7 D

" a4 c, v# L2 X$ b! {5 K                    
5 b! x+ B# D, q: [: M+ `6 k 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。* S% [5 D) A% |
3 l) {$ Y! x, V; G. [5 S. T3 _
三、添加串口并使用PG15、PG16引脚9 K; H6 R8 v6 z3 O1 M

1 Y! e5 p' O0 z1 M0 \◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
- ^5 B. W- `  O2 m* f* @3 G+ N, E  l% [
      8 B5 }6 B+ {# x/ ~& p! u2 P
: f7 m' N9 d. [9 T/ B$ `- F* Q8 w8 s
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
9 Q+ \; }+ A4 f* f8 \0 d/ d4 ~7 G- {; p$ g3 l
   
. D( ]2 y8 h9 ^7 R  ]. l4 u. G0 w3 ]" K  P( a1 _- F7 b, v
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。& w, g- |# J( [2 S
. l) R* n8 p# x' ]1 ?! {8 n3 e
   
- g3 x* d& [. x4 r6 S8 h. l
8 o% c8 _% k  W: R. X可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
. R: a3 Q/ Q4 [0 }" w然后我们打开UART2,修改UART2状态为status= "okay";5 L- a  j! Y! T% I  M$ m
到此我们配置了UART2的引脚,并打开了UART2的功能。
* t( `1 Q* o7 i8 \/ x+ L- ]5 R! V当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
! \# w  f$ T" F4 O( \* K) |( ]8 }1 o& v5 z) t3 w
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。( a6 d- B& W& s& ~- m
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。4 k+ D0 o0 H2 a& H% n
1 |% ]1 ^, x2 o3 H, f5 V: b
        
; [9 H) I. @, r" f: t1 t7 a1 B- _                                                相关产品:                                                              
! Z" K9 g3 b: m7 K% J4 \" M

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
# n. M. }; w5 g/ g$ M        1 C3 O( P/ `( d) a8 c8 g
1 Y) I) G, O0 j+ |" h
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 21:01

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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