嵌入式爱好者

查看: 17670|回复: 1

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

[复制链接]

48

主题

55

帖子

308

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑
. s5 Z$ S0 B" X) }( s5 A
9 ~$ e6 f5 V$ x: U8 e4 b6 f, v% _5 X  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
3 N% Z9 c+ J6 G/ D& U; V                              
! N3 ?+ k+ q) R; b5 Q" m0 A
- `  M& Q9 w  q% F5 L- Y! e4 S  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
; C* `& D2 |% {9 `- y 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
* \* j  S. C! W, C  p. \/ h: _3 `; i- [" H" F% T
引脚功能复用思路:
! ?" N% Y0 a/ o' E" Q 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
$ A6 V4 ]8 n* ~7 M  G 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)" A2 Z- R8 N4 h5 A$ @
3、添加新的功能并使用这些引脚* e) [- _9 ?% x

' c6 Y. z0 P: ` 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。8 o/ x$ {2 W9 ~

6 I, U) Y: u7 f4 k, J* E  一、确认UART2需要的引脚1 O- z) R; \4 u: u% x& h7 x

+ L/ ^% k" n9 {, o$ ?2 ?  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
$ `8 j7 z) [8 ^+ R0 R  ]; P- [        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx9 E, b1 }4 a: D# Y3 Q. p( @
& Q! v; K) q: i, }1 n( h( k
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
  C  O: g  C9 [5 m5 H0 |% m' @8 c6 S- T
                    
  引脚名称               
, s. d$ d9 |( a! L
  ^5 @; E0 q' F; i
  FETT507-C默认功能                                 4 o' {# F: U) W% a0 b/ d' q
   可复用功能                                   P& O- u) f. D9 s7 C0 f
                                        PG15                                 , i  M3 M. ?# c/ w( n( a  T
  PG-TWI4-SCK                                 
% G" v! t# s2 q4 d4 p
UART2_TX
                                        PG16                                 
8 {. \3 z0 F/ {$ f' W2 X" t; z
  PG-TWI4-SDA                                 
% e% S; m2 R# g
  UART2_RX                                 
* m4 k  `  v$ }& |7 Y
                                        PH5                                 
% z8 m$ P0 _: N/ ^$ R
  H_I2S3_MCLK                                 2 H% a" z! t  G% Z& i$ ]
  UART2_TX                                 2 ~  G1 \  a+ I8 e
                                        PH6                                   K$ y% b# w( [
   H_I2S3_BCLK                                 8 n  F- n3 }) G* a* S1 L! c
   UART2_RX                                 
4 |0 Y1 P* j5 ]" B6 J
  PI5                                 * R8 O3 R6 s, z! H- G& U0 c
   RGMII_RXCTL/RMII_CRS_DV                                 ) r: }9 I1 r% w; C* J
   UART2_TX                                   s0 A, i, V2 X6 ~6 j. V; ]9 X
PI6                                 " T' |+ q2 ?; q9 \
    PHYRSTB                                 , \9 c+ J) T( n- v' t1 n* x6 i
     UART2_RX                                 9 P( y4 C6 ]3 J" R% j
$ Z0 o. L' Z: B/ u# f; j
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。& ~, T: }9 S- u3 A

; I- s: I9 `9 A# w" n二、去掉原来功能对这些引脚的使用) w4 |. @5 Z6 H, y/ W( w3 |
! T; q% l  I! e* C
◾ 打开源码,先了解一下T507的设备树文件:
8 }& H5 Z3 u5 `7 f
$ J' k' ?. W* G5 UOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
+ ?" [; G4 j; [$ z3 b8 z 功能配置设备树2) s. A4 j# C2 e( ^# M' Z) |- q' H

% ]: Q) ?/ b, H& `( G' qOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
8 U0 k& p6 s1 N; X功能配置设备树1& [" }- O, `& m8 i/ D* r

1 L! ?; K3 r$ x4 l" N" { OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi( J& Q1 Z9 B5 p/ M! R
  时钟设备树
8 t* Q# m8 Q, w: e, s6 A5 b7 j! q% E5 m( }' {
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi! Q7 O. e) P& i* Y! z9 q- v
引脚复用设备树& W/ A+ k) G# ]; ?

5 O; i  e& X  S2 t$ m   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用: t9 U7 ^& a9 z% C: S
7 m# e" w7 V$ k3 u, E$ ~: V: Q$ r
    ' I' G0 v/ F2 ^( `
, X1 D3 V: J/ t0 ?
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
5 X( e5 a# v) q6 M4 S9 l3 h& m+ s9 L# U, n' x
    % c4 U4 G% n" I6 }5 p) P6 \" j

9 I; p& H2 t2 T- C8 a◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";: q) a% u9 `# q

+ `" p, a; V* Y   0 i/ ^4 t; C1 U- t
0 V! H9 E! I  e3 Y. y  b% @
                    
( o( R1 s: m  l, K+ V6 J 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
2 g& }: o# Z. _$ a/ f
. m0 l; ?7 w) |7 y/ J; @0 Y5 b三、添加串口并使用PG15、PG16引脚
0 N( }( G* g# F$ n- f6 T3 g6 }$ s% @. L% V) h
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH83 P+ C6 I* u" Y7 q, P
$ Z' w2 x, d! P% R" f) H# z0 x5 r
     
0 g( i3 x6 A$ i0 H* }
" ~& V* Q+ L  ^6 ^$ G  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图/ M4 o. V! S5 R2 M, Y! p
( ^/ j/ l0 r0 j1 A
    9 y4 L* p& k6 G; h( t

1 ~( F9 p. A9 @+ ] ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
5 V9 b; m( b' Y2 x4 D' a2 B8 ?" r! p& Z' Z
   
2 K# |8 w8 E/ Y( R) p8 H; X- k! s) r3 g" [1 u
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
0 [$ n: Q( F; w9 W然后我们打开UART2,修改UART2状态为status= "okay";$ ^7 [* J  D9 x/ f
到此我们配置了UART2的引脚,并打开了UART2的功能。' H5 L4 E; b4 a+ O
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
1 t" k; U2 g  p. v" D6 k( m6 r
% [; m" u- N( J5 N文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。& V6 K+ i# e9 V1 {1 n; N* L$ ~
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。7 o3 s1 I, f" ]4 d5 k
* L6 o* p4 w9 [% M" l
        7 r6 ^; d, s* B6 T, _
                                                相关产品:                                                              

: ?) G9 C) y8 V

OKT507-C 开发板

                                                  

FETT507-C核心板

                          0 k/ H/ B0 @3 ^( }- L  z: r
        
2 \4 ^- W' ?. ^/ X. Q0 `* U' |) u
2 P" ~! O! H! G- t0 [3 W. `0 Y
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-23 18:52

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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