嵌入式爱好者

查看: 14937|回复: 1

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

[复制链接]

46

主题

53

帖子

296

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 4 l( E) t) D/ J1 J4 R# q+ A
" X1 S9 S/ E" y, O
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
9 r. u% M2 ~& Z                              
8 A4 y7 H& o5 L" O; V8 b9 x# W9 N% P" i" o* \% v8 L" S+ u
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
0 I6 @4 S  ~6 l3 n 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
& r5 v9 _2 T/ j3 S. _2 L- m; P/ Y" m% i( i1 a
引脚功能复用思路:
1 E6 g* @8 T8 c6 V. X 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能, I+ b& ]( p. g3 o0 ]1 p% Q
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
0 X7 |+ l( v& p0 ?+ I4 u+ B# V3、添加新的功能并使用这些引脚
. K7 U4 z* [; c& E3 |! n+ d9 q. y7 w
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
0 T# E3 @; v/ z: B5 i
' q( S2 V8 r$ a  一、确认UART2需要的引脚
2 c/ A, s' J. s" k# k
( n! y& t0 j; l* G2 I9 y6 x  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表3 c% U% _* r* ]0 i4 B* W
        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx9 l, F, J1 D( h; U7 n5 S  L
+ I! ^9 O$ E+ ?9 u5 i. Q8 @; G5 X
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用( D8 k+ i% v, G! n! Q

. m! t1 j+ B' [# c$ @5 d. ^- l                    
  引脚名称               
- \* |4 a2 ?  J4 ~  Z8 I& c- n# }0 v( p/ J9 S1 S1 x: B! A1 @
  FETT507-C默认功能                                 # ?1 J3 R. F( a  h3 d
   可复用功能                                 8 f' d% R7 J) F/ v
                                        PG15                                 6 \5 \3 D1 b: N  G
  PG-TWI4-SCK                                   [; G( C# b: @8 q- b
UART2_TX
                                        PG16                                 
. ]' X. b6 f7 E, A) x
  PG-TWI4-SDA                                 8 u6 W! v0 `; b
  UART2_RX                                 
3 Y/ m9 ?( r8 _) {0 }- f7 R4 s
                                        PH5                                 
0 B- q6 m- u$ Q+ w4 U& B& M
  H_I2S3_MCLK                                 6 n( g) A" h9 y; q4 B  m
  UART2_TX                                 / o, `% A' e  S
                                        PH6                                 ( W$ l! q& G9 b8 @+ s1 ^3 y& }/ g/ o
   H_I2S3_BCLK                                 ; U! R7 a/ v2 l
   UART2_RX                                 9 C* g, I5 t9 E/ K# ], E
  PI5                                 
0 O5 R# ^; x* `3 k4 L# V
   RGMII_RXCTL/RMII_CRS_DV                                 $ u# i; R8 \# |& g( L
   UART2_TX                                 
& O6 [( I! Y  r+ Q$ |- e
PI6                                 
" \' z5 D9 b5 `; s+ M% Y
    PHYRSTB                                 . z/ I! n8 T* n9 D5 |
     UART2_RX                                 
# L: G' Q7 w( _  U$ r

1 F1 x) w  e8 n: f, i- }( G小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。) s( ?0 v' C2 X, s$ s, P% n- Z

/ N2 o  o8 `' N二、去掉原来功能对这些引脚的使用
2 v+ _( t5 p; l$ }8 @+ T. ^; J% f# l
◾ 打开源码,先了解一下T507的设备树文件:
# I6 F3 n8 k/ J4 R0 W5 G1 |* S' f: j  v; {$ J8 u+ X/ v1 I
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi$ B6 j6 I2 q, q  c, i
功能配置设备树2
4 b4 }4 K- t  e* ~& ~" d. L5 `/ ]
( r+ r" A+ X% b' d  _4 m% zOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
2 j3 }% v6 w+ O1 H功能配置设备树1
" n1 s/ U# D% J( q8 u
2 f* {: d/ Q. c0 v$ p' O OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi$ c; D0 W& g7 s( H
  时钟设备树; U( |, {$ A/ g  a& f

3 [/ [% G- V0 k  o) q OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi9 f9 n, o4 c0 X( E! \: w
引脚复用设备树8 h' x, v% D7 d& U- E6 M$ ]

; H9 J  {8 ], }   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
, W$ k# h8 ?$ q- c' `3 O- H( G; M8 F; x( K6 i7 e; n
    $ J6 k3 p) k( v! f7 ?

$ o! X5 r8 K% A6 T ◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
, P/ P' N8 ^' [9 j; F% ?( C
3 U/ U3 \+ j( r2 K8 Y   
4 W$ \. H. {& g
0 d5 o* e: H% s4 O6 B3 C3 [◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
. ]% d2 r' z- F- m: l! @( E; G9 T* J6 n' a: g+ p8 X
  
3 G$ l& o5 Y* c
4 A! a* b  p7 C( }8 i                    
% P7 b* `# l7 z# C. f7 T 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
3 s0 O! {( y% Z( k. Y
( C. W3 B  @% ]. `1 x2 G  L三、添加串口并使用PG15、PG16引脚. j3 J6 m* c+ q3 }9 i  }  g( }5 C

7 |/ G- r3 F- C! \; o" V7 T◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
  h" @$ J8 u9 |6 k6 ?! f! M( w6 a% u( {8 V
      1 d7 S4 X* _7 R5 z1 R; e

, S: {1 n) r4 B6 z  d  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图
* r4 H1 \& v# I- l
* H6 l5 j6 J3 O. T, d* i$ L* L* @( f   
9 N( |7 v4 E. A) [2 _3 \9 d6 v
0 c. l; U' p5 D ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
2 X  C. Y& v5 g, V; c" E* C; `- L
& ]7 U  H# ]7 U3 x% R   
2 m' r/ v3 {/ K0 h* \; j6 \) o: n/ u% X1 Y/ o, o6 c8 ]  r% g
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
" D: a& I4 p$ w; O, t" m然后我们打开UART2,修改UART2状态为status= "okay";
( Q, _5 c9 t8 s; P2 X& |到此我们配置了UART2的引脚,并打开了UART2的功能。
" s8 C# W3 U: @' Z3 b8 ~' E当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。( }: i3 z* F0 r: P& ^

, b& ]2 n( ~% C# x- p! t文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。' G" R& G4 b7 o3 d, M
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
+ u$ b0 h2 l1 A6 }/ j8 n' ~% I! {+ L& n$ V" }, i; n1 w
        
" q; r" S+ @# D/ g                                                相关产品:                                                              
: _" _2 j4 ]. g% N

OKT507-C 开发板

                                                  

FETT507-C核心板

                          5 _. _' Y2 a+ O3 N
        
$ r6 d/ y: x; N  p# B
" r! ^: }! L3 t: d, P  h) ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-15 11:53

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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