嵌入式爱好者

查看: 15200|回复: 1

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

[复制链接]

46

主题

53

帖子

297

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 * g+ ^2 @1 n! s1 l. t* u: e
* j  W4 A4 l+ v6 _( P
  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
3 U$ g- o1 z3 `/ b1 ^                              
3 X& B) C- F: @! t2 p) ^0 v: r
: `6 z$ i2 B. F6 R- L5 v4 L1 \8 A  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。& O, f$ Z, K+ e9 g  h
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。) e& H9 O! Z) d2 N! b' x

! `3 P7 @) u0 [; Q9 `$ t 引脚功能复用思路:
5 u9 D5 G$ u! m. g4 G 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能: ~# n9 X1 I: K: @  F7 y
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)9 x0 s! b( U& y) t8 `' b2 ]
3、添加新的功能并使用这些引脚
7 U7 K# w' V. o$ b4 s
) D3 c& }5 q+ h; Y+ B 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
* D, J( T) W% W3 w3 g' v1 _% z3 q% _9 L/ F
  一、确认UART2需要的引脚+ ~2 E- ]0 [9 `/ ~
6 U7 q, Q/ e% I/ G1 ]: f
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
& @* f8 `- {# n1 ^% ?3 c        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
" C  a2 f% x! {+ m/ T2 \  }! k! U0 s$ h9 R) H' b. G: K# ?7 \
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
8 E6 j- P8 i! s0 }& |" y  |
- M" c8 b+ @1 c, `. J5 f/ {                    
  引脚名称               
* c# A# o: l$ x
0 z' H& i/ p5 ?4 h6 f7 Q" j" I
  FETT507-C默认功能                                 9 D  E* K8 V% [$ q2 z
   可复用功能                                 $ N7 ]3 ~9 L9 {! m; \
                                        PG15                                   \' _6 C& Y( }* I( z' K' j
  PG-TWI4-SCK                                 ; `5 t! O$ A9 e9 B: Y1 E9 Y
UART2_TX
                                        PG16                                 / Z1 Y. b6 }' S, P
  PG-TWI4-SDA                                 4 `' r6 h* \$ O' K) E% r2 `
  UART2_RX                                 8 i7 R7 f/ h. \! P9 ~) m! r
                                        PH5                                 8 o1 K$ s" N& p: ~
  H_I2S3_MCLK                                 6 y  n4 h2 ~* F- E
  UART2_TX                                 
& T% j4 z' b, N+ X" c
                                        PH6                                 ( J* J! D4 A$ j6 M* k5 P* ^* [
   H_I2S3_BCLK                                 
+ U2 v6 w! D$ P  z  g  ]
   UART2_RX                                 * O3 u: Y( w- G' d% @4 i9 {9 g* I
  PI5                                 
. y8 L: N8 a% L# b3 d
   RGMII_RXCTL/RMII_CRS_DV                                   L) f' r. s) U: L" Q
   UART2_TX                                 ) A: o0 u/ i% A4 }" H
PI6                                 7 ]4 ^% ?4 }7 o+ z- G  ?
    PHYRSTB                                 0 z  o) Q1 T$ x; o% R2 T: z) B
     UART2_RX                                 
0 Z% |( `: E% I% x

- j8 m0 _: n1 }5 @小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。  ~! I; g& k3 {
2 M1 O, m7 y, |3 l& k* B/ A0 ?
二、去掉原来功能对这些引脚的使用1 `: X1 {) _- a+ @5 a( ?" }- z

6 E7 `9 w" n2 ~5 h; f/ e2 f+ b' k◾ 打开源码,先了解一下T507的设备树文件:
& I4 t4 [7 g! O7 B5 C
; i( `, }4 l1 d! UOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
5 U' R, H! j2 h$ D* J 功能配置设备树2) ~2 }" k- Q" W/ a7 I4 Z5 e
% L$ [3 ?2 E1 t! g
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
( P4 s# s( ?% D3 ^4 y1 ?4 U功能配置设备树1
3 W" D- o+ s' t- w  w) T2 g2 B; t3 ]0 K( O: s/ J
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
2 }: B6 `( z2 c0 e) T% T  时钟设备树2 v1 v" t7 a  M
& G% D; o7 E) o0 m5 r
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi9 N% M5 j( D2 t3 y- i& b
引脚复用设备树" K. X/ d) B" s! x6 R. _7 _" I" `

7 h: ]2 e, k$ N: A   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
8 q2 l$ F" O  o$ C( C" S( {: `( O3 G, Y+ R$ o8 [
    : _2 t/ L; G+ L% T. g
& \7 {6 T2 y- w# {1 M! R
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b7 ~: T- l5 B4 E; }7 G

8 f! Y. E$ K( S( X8 T: [0 M   
/ l" M. V- m3 A3 ?  y% t! q, ]; j. b  K6 ^
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
" V# {7 \6 j' c, U  a- A
0 Y% ]& n9 Z' i8 v1 T' ^: |, W  
7 w1 r1 b4 T1 j7 u( e3 U! f( ~" s# h# y; c8 ^3 i1 d: x$ C
                    
8 t( W, Z! H1 |% ]# \( z 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。  g0 N) u0 N/ H
- p# A" |7 i% P
三、添加串口并使用PG15、PG16引脚
. U+ `6 I& i2 _, ^9 [0 u2 L4 _$ [8 R0 X' ^
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8& y' W7 _1 B7 @
0 b. B% _+ \* r
      * ]4 {0 H/ W3 o9 A% J

" ^0 F& A$ r- a  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图" V5 j* f4 `3 R: O
" R! N% ^1 g' z: Z, W" {( O
   
8 y5 Y, ]- T4 j" F+ {: F8 K9 h- f+ g% ]% Z
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
7 n+ F( v* e/ P$ N4 b6 W6 J" F1 ?9 x
   
: o! ^8 ~  \& o; p8 o) |- z9 K$ w/ \  N- J
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
  p; o+ ?$ ^1 a5 b( P# u; Z然后我们打开UART2,修改UART2状态为status= "okay";
( L0 Y% `5 I& }1 Q" H# C; z9 P! a到此我们配置了UART2的引脚,并打开了UART2的功能。0 [6 s7 Z; _# H6 R& c$ [0 }( X
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
' S+ e" \4 l8 K3 n+ b! Y  y: H7 R0 g0 W
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。: y/ Q1 z# |: ]( d
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。$ v. g4 p* B. c5 i8 B
" ?8 g& e' ]0 k
        
0 A% x% h  G7 g0 J' ^# x" C                                                相关产品:                                                              
1 ], b! p1 `% l% n) y

OKT507-C 开发板

                                                  

FETT507-C核心板

                          ' G4 }, L/ r0 m7 @; Q" t
        3 e* j2 ?7 t( h7 ~0 A( ^% @
8 V" A( H3 q5 f9 ^" f/ i. {5 |' U
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-5 12:12

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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