嵌入式爱好者

查看: 15867|回复: 1

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

[复制链接]

47

主题

54

帖子

300

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 4 {1 J0 t4 U% c1 k  k

5 V' p& S$ b4 J; [6 d( D- l& R  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。) w3 W5 w0 l1 g: [1 j+ q
                               5 m& U& _" T6 ]6 p6 G
1 W3 g' D" F! p5 ^6 ]/ q
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
8 f4 q* z7 B. H9 X2 I5 f# [! Q 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
3 H7 q  ]/ E: b% y' z) j) o6 |, H* s
" d$ n: x9 X, w: u% G8 b" J1 R5 X 引脚功能复用思路:
6 A2 d+ ]/ N) ^" w0 g3 O 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能2 V- |$ p* r, U
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
& N5 A$ B2 l- K; z3、添加新的功能并使用这些引脚2 O  @: Q" y9 N, ~" ]; ~# Y2 k# u
" o8 U8 z4 l* a, x
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
5 }- z0 a* U- j* m; ~
8 U2 N1 a, _8 \4 [" N3 E9 Q  一、确认UART2需要的引脚2 R# ]$ H( G' F/ W

! A9 j6 V4 j: o* z  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
, w+ r8 V8 Y, s7 u' f8 L/ E/ J8 t/ t        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
% k! c, g. B% ~, B( o8 J  |# q- C7 O6 f' W
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
& D, A1 Q2 f) e$ Q9 r  I
; Y% O1 f( @" y2 P                    
  引脚名称               
% d5 |; |9 T6 v+ [" L( D4 U7 [/ A# R/ ^3 Z- ~5 H% n
  FETT507-C默认功能                                 
* J# t. H$ T+ e) Q. @2 h7 k
   可复用功能                                 
4 m& Z! @# d  q- V4 i
                                        PG15                                 
1 R: b, A" z8 E% z
  PG-TWI4-SCK                                 & b! k: }6 y) v  w6 q
UART2_TX
                                        PG16                                 2 y7 t' H) ]+ i! y" l
  PG-TWI4-SDA                                 
  j. P) J$ z8 u' s0 R- `* R: C
  UART2_RX                                   v9 g% t6 T0 @1 Q. B2 s
                                        PH5                                 
' F2 \- V5 q3 E1 [
  H_I2S3_MCLK                                 # G9 [. `* @* G! s( k. q" b
  UART2_TX                                 5 ]9 u: x. w2 i% j+ C% S4 W. x
                                        PH6                                 3 D: J7 \) o! V+ k( n- P( y
   H_I2S3_BCLK                                 $ m- F; X  q& [5 C# p4 K
   UART2_RX                                 
5 R. M7 o) _5 g$ S$ d1 w
  PI5                                 ) R5 P4 t" o3 U* F: q6 O
   RGMII_RXCTL/RMII_CRS_DV                                 
8 J1 i# v7 ]1 i* L& f! y( f
   UART2_TX                                 % {# e  Z% s) S8 R0 D
PI6                                 
/ p; `1 n) Y- H( g1 Z
    PHYRSTB                                 
& K, n; P; Q! j2 n# I# p4 `/ i
     UART2_RX                                 3 }8 z9 ~  i1 d3 a3 ^

/ v8 d; ?  {: }1 C( n- t小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。' l! ?( W7 [  H) B8 H7 ~
* l" o: N* J- @  n
二、去掉原来功能对这些引脚的使用
* e( d/ I: m7 t1 l: }* q9 j3 |0 r9 b0 h
2 }: m! f5 W( y7 ?# F. o◾ 打开源码,先了解一下T507的设备树文件:
9 m5 ]- m1 U  e6 S% H1 g6 B' e( Q! F1 l3 L: Z. j
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi5 Q8 V/ i: E8 o4 x! U
功能配置设备树2
1 C9 ?' t: Z9 b! o& U9 B) m- A' }% V& s$ h8 l9 E, @+ E* E2 N4 j
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
6 G0 u$ D+ l( |功能配置设备树1
2 K3 ~; I! l' w/ m1 C5 e, }+ D+ H! U/ m7 ?, M
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
+ l0 D+ \0 U" y, ~# H, H' T  时钟设备树
2 T3 [* X& T* i
" m3 S4 b+ n+ G1 z% U) l OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
3 P( |; h& `8 s" u 引脚复用设备树
- r& N$ L" ^8 T: |# D1 y4 l
5 j8 g8 A; W7 I% h4 }0 e  |& }! U   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
: O4 g% X+ z# _: x/ c
5 s6 J) z8 V2 o* V6 c   
. \7 ]  H) \% S5 q8 m- }" X. m5 {  G* X8 e
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
* V# W1 S1 G8 M4 e
9 p( W9 u7 ]4 `    + U# m' o8 O4 l  S/ P

) _1 @4 R4 O, R! y& x. p; r◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";" J3 ]+ t' G5 {( m2 p8 ?

1 u$ _( |) w9 m) U# N  
3 l0 x- p+ {" Z. O+ E4 m& _0 ?4 z) _8 Z- ?
                    ; C+ C  L) D4 n# s
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
! [* t. C) K. G2 I% m* {5 {4 a7 \5 z; o: d6 o2 S1 Z
三、添加串口并使用PG15、PG16引脚( F! L6 D; e9 q9 |; H

; ^/ Z4 Z/ f9 p  Z+ g: h◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8: v! I, t% V; }
: I9 t* x3 s6 F! K; E% A
     
% W& T/ r$ @2 z( W0 M7 ]5 W" }/ X+ e0 P0 I+ h! _6 [
  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
! T7 s( v' T) t% O% G, k7 H7 {8 i8 x, D" U8 Q8 j4 O, s. x4 B
   
3 l$ U, T4 r' y; c
) w# n* C2 @3 R: S! Y/ R ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
. k- X1 i3 v' s8 C
' D$ H) q+ u4 O* Q8 E* @    + B$ C7 J9 Z- ?6 g" v* Q, q

- ]& A& R3 N8 t& m0 l" r, F- Y& O可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。: `5 r& t' ]) H9 k5 V3 s3 F
然后我们打开UART2,修改UART2状态为status= "okay";
9 D+ C9 @/ W5 ~( K' j# a0 o' \到此我们配置了UART2的引脚,并打开了UART2的功能。# k, N% X- q3 T; u" J7 d
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。1 @) P3 u9 U6 u7 }6 ^
& x+ [! h8 x! X' B* u
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
, A7 h5 O' t2 S" z3 [1 B7 E虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
. a! {( C6 L  H* {8 g0 e" G$ I( m3 S# {# m6 a8 s
        6 d" q2 t  F* B2 C3 {4 \$ R
                                                相关产品:                                                              

+ q" ]. z: c( L

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
/ m1 M, D7 `3 R        
6 M- ^/ N1 T) M/ N2 Y3 z8 T1 u1 H# j
  I, q  Q" r3 L; X
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-7 11:09

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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