嵌入式爱好者

查看: 12064|回复: 1

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

[复制链接]

46

主题

53

帖子

295

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑
" g# M) e# j5 @. k
2 P; b) r" b2 k  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。2 _# [! \& K" z2 e
                              
5 E/ |' {2 E# U: N. {$ W9 z( ~9 j/ |1 u
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。1 D; _4 C7 t- U
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。8 n* g4 U0 t' O9 s# l

: Q3 v- e. F/ f0 A 引脚功能复用思路:
9 l; Q- `0 z: |+ Y 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
! v) A. h* m  ?& M2 Q% A8 M. N4 z 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚), ^6 f. h: d" J9 g- s
3、添加新的功能并使用这些引脚
" N; b6 {) M$ I  `
0 R2 N: n# n5 F1 y# F4 @ 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
8 i, Q" ^! Z% J" D. [& w, C
/ r  k* s1 T9 h- p5 [  一、确认UART2需要的引脚
  c% M7 o; K2 V% s" n$ D
% D2 w$ x! {3 h, ^  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表4 p# d# X# [; d6 Y; d7 B
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
1 X0 T; Z, L8 P6 u8 |* Z" E4 K( n3 D* ?/ Z+ X; G
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
+ F. u0 {' ^3 P& y+ j
; T$ u1 {) T, k# W3 r6 c                    
  引脚名称               7 L* B5 H3 H- j, d9 e

# m2 i7 \- K# i8 Z: K
  FETT507-C默认功能                                 6 g( K5 k- P/ k% Y
   可复用功能                                 # U1 f, s# L0 G8 ~1 m
                                        PG15                                 / d6 n( T9 U# v9 \% q
  PG-TWI4-SCK                                 
/ ~; m/ h1 I- I+ g/ v0 S
UART2_TX
                                        PG16                                 / V" `2 w- Q* t* U1 r
  PG-TWI4-SDA                                 
: t. X: R: R  L9 f" b- b. y
  UART2_RX                                 
' A9 Z  }, D+ g0 h
                                        PH5                                 
0 S7 D2 K' U  F: R  z
  H_I2S3_MCLK                                 
2 g! P. t6 z1 U
  UART2_TX                                 ) s7 @# h: b0 T( q! l  B4 W
                                        PH6                                 
1 k: K% P1 _$ `( D7 o# f
   H_I2S3_BCLK                                 + p3 Y; O# x' t. j' Y
   UART2_RX                                 ( I% e' o  d' L' E4 r+ d
  PI5                                 , ^- J- x1 A2 f/ j( e
   RGMII_RXCTL/RMII_CRS_DV                                 
2 Y" G6 [9 Y0 p% A, Z. W" ^
   UART2_TX                                 
/ N: |) f7 u. w# ?3 H# O- M! `
PI6                                 
; y, V9 j& P+ a$ M
    PHYRSTB                                 , x! ?8 q7 o8 e& n  T, k
     UART2_RX                                 ; u9 p# S; U& @
3 p& F9 t9 e& F
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
2 Z4 g0 b' K# |; a( r5 _; K' q7 \0 B
0 J& d1 y2 p" v9 t" F二、去掉原来功能对这些引脚的使用
, z' W) y* z1 z
' z9 ^( C, g$ N$ o  O; ?$ @( J◾ 打开源码,先了解一下T507的设备树文件:0 L7 @1 t' }! f3 Y
1 h7 x5 C/ e  t! ?. y3 r
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi% _# b, ^1 q2 z# ^5 n, m- q
功能配置设备树2
( y; ^; L5 c8 ?2 C6 e7 r, S) G' n* l/ p* F1 ~$ ^" G6 m$ ^+ i
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi$ n) H2 y* T0 q- M
功能配置设备树1
6 M# ?0 i* A; p  @, S% O
, p' i' T  r, N' R6 |0 [( }7 G OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi5 A7 ?3 ]7 Q4 Z8 T" @4 W
  时钟设备树
7 N; O. E3 {" `) l
' b# m! x( e# Y; t" i OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
# J: v; ^. e. @ 引脚复用设备树
1 T( P+ N/ j7 s8 {( ?
$ @, P% h6 l2 r$ a' B' M2 P+ W   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用  z2 F5 R. a* a  V0 }  U2 U4 Q

& S- q3 i' z. x; t: G    ; n9 D! L! c3 a2 T9 F  t
  a  N: z0 U+ C. V8 f( B7 K) Z
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b1 d: B+ @$ v- C: A" }+ X

/ c- b2 P2 m* c3 v- a+ o    7 q( G# j7 Y) `  Y: c
) Y0 a* i) o9 S- e/ r
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";; U4 H3 J. u- q8 s3 f2 [' R* g
. [2 L5 c) L: {3 v1 B0 w9 {
   6 }5 y# R3 ~5 {0 ^# q' M1 s, ]

" X, W: x# Y8 |( Q. q6 t8 q* F( L                    " ~* V3 B; t; ]9 c& R
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
; ~. N7 ^6 h4 `; I/ b
; c/ }9 d* ~. I1 P三、添加串口并使用PG15、PG16引脚
, Z1 e7 O/ ]! p9 @, W! t, n* P, N$ d) |+ b% e1 }& c
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
& ~3 i: o- z1 f8 q3 ~0 w9 E' ^+ B& {. ^8 _& d6 }
     
# r- \! c; g/ R# ]2 Q; O2 c
0 [; n9 W, f! m2 i7 E  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图: l8 d. T7 |. ]6 ^1 O+ l; e
& G+ F" G  F7 G
    : L* X6 o* b" w7 U0 w
& `* [3 X# I7 v; O; |# c5 N
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。1 Q: J' v6 z% c6 B3 q2 z9 a
8 P. v7 o) d) I9 a
   
' ?- ?9 a, n( x8 H0 f5 D* U0 f1 V, W4 G  Z& M
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。4 e* h7 Q( \# o% a3 J
然后我们打开UART2,修改UART2状态为status= "okay";" N0 W, A% W2 X0 u
到此我们配置了UART2的引脚,并打开了UART2的功能。
" _+ G3 p" k; W, l- Y; r& G" u& j当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。1 H0 k2 n, F1 _, {$ B3 k$ m. g2 U

# K% l5 I7 d6 q文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
9 E4 F' `# ^' c' ?# H虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。/ _- ^1 _  k6 X& y8 U

; _8 }, i! [3 D" [! g7 S; q3 D        ) V# H. l1 s9 K: `6 l- X4 |: [1 d
                                                相关产品:                                                              

7 z* e/ X4 W" J# y0 Q; I$ N$ x

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
5 S) x4 h: \) V, r* n7 @: C* F        8 O% d: s3 F+ w5 v7 a! x

! {: K+ T% T9 Q  j+ I5 b5 T
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 00:26

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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