嵌入式爱好者

查看: 1944|回复: 1

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

[复制链接]

43

主题

44

帖子

245

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 6 }6 v1 P- C2 M6 V7 r

! ~. D: f# v; D$ P  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
: Z$ g  b1 u) c/ P                              
1 r( c( w9 X' n& |5 t7 k' U9 [2 \3 q1 B9 q  q8 X
  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
, h# g. G" v+ p, z! v9 o, L, ~ 今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。' a0 r: X# v+ ?
  A' ~1 V- n- t6 U4 `9 i
引脚功能复用思路:
% U8 L& b3 T- u* F8 ~ 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能; o  N* n0 R  s! i
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
% U, L4 P" b6 z" ~4 k5 |% R+ I3、添加新的功能并使用这些引脚' B$ s: m' O' v* w! F) U% m
; @2 v' @  D6 M
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。; D+ D, h+ J' t# U1 l

, L/ D8 D# t, k9 B  一、确认UART2需要的引脚
4 y( H) Z7 T% u9 e- ^" N4 a& s0 ?, R4 _) Y+ a3 y: Y4 K
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
8 n$ s/ ~# e( t9 w! A        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
- a7 Z- R1 y: B; b; a3 P! q0 G6 ?# B  y' B1 f; r
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用
# g2 A+ H/ `* z! Y  g3 N% h
9 Q( |3 z/ Y' r  k, c% f4 c5 R0 e5 Y                    
  引脚名称               1 Y/ J6 k( }) ?4 k2 U
. U" Y+ n& \3 y1 o7 H* V# b
  FETT507-C默认功能                                 
, ?4 A+ X9 z$ X
   可复用功能                                 
! z  \0 J  u4 A
                                        PG15                                 
: b( q4 j2 q3 O8 e+ [" h( a
  PG-TWI4-SCK                                 8 k+ b) }  a# g0 A3 K; \
UART2_TX
                                        PG16                                 
9 X7 {$ @5 k  d) g7 [2 h5 {; |
  PG-TWI4-SDA                                 " d: x3 B. c  ~( k9 O# [7 v1 a
  UART2_RX                                 
$ \' e. u# [) l
                                        PH5                                 
# o/ L: j7 U) k+ g, x
  H_I2S3_MCLK                                 
& @- |, I8 y6 ?- w; b7 e" e8 N
  UART2_TX                                 
* E0 A  U& `; {- O* Z
                                        PH6                                 
% v6 _5 j# y9 u0 J3 c* }
   H_I2S3_BCLK                                 $ j; Y6 l+ t' A% l" u% H
   UART2_RX                                 
: d1 A8 N( W" i5 d, h; t! N2 L. G
  PI5                                 
" k5 a2 g' k/ H  t0 c$ J
   RGMII_RXCTL/RMII_CRS_DV                                 
4 k( ]# M* p+ l  m7 Q7 `) f7 {
   UART2_TX                                 7 D" j) q; {) z0 r
PI6                                 
: P- q9 J  o* ?$ \
    PHYRSTB                                 
+ j# n) t0 {* D
     UART2_RX                                 
" c" l+ J5 R" u/ n8 u: C
' g) i- C( @$ s+ T. J
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
0 c5 e4 P4 L5 k7 D7 V# ?) y
7 n. ^  J: b, v" L. h1 z! Q二、去掉原来功能对这些引脚的使用
  h5 D, K2 @5 U1 f+ g, Z; Y
- A) o  e1 M2 @( b◾ 打开源码,先了解一下T507的设备树文件:
2 c6 g* m4 S- }5 l/ h! I" T8 |3 L1 A) [. e
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
; q1 P& e7 ~: B  [" [ 功能配置设备树2
3 E8 n0 p+ }$ \  y" G4 {7 A8 y0 X& H3 H& B9 c' H4 R
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi' z5 d) n+ A' M* i1 e0 R1 A4 t
功能配置设备树1
# s, e6 o  J! G' M. O# K. g7 J: \3 B" a5 v- z( x- K8 ?
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
2 A; b" p, \; u6 @8 h  时钟设备树
  |8 }4 t5 F1 D5 j: A
: E. F: K% q/ {; a1 @1 { OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
4 Z" G- N& i. }- j+ M& ?! l 引脚复用设备树: x% }) Y4 Y: \) m9 D$ N- G. s" F
. J2 S2 _: I' z, ~9 `
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
7 Z* g8 c. M+ _+ G1 k) x: o
; ?7 ]" F# T+ s9 ]   
- x9 Y0 ^6 J# s1 L) A5 G0 r% |) f- G+ p0 O2 t8 h, |( Z7 H% k3 L6 D: U
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b
% f( L, X% w3 g) k6 O7 l: e! x5 Z- Q/ f: f7 z: ^& ~
    1 N5 m7 D4 z& c
4 F  F6 E/ [! z/ {! p
◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";0 J" `& H; ?" A: Q& D& x7 k4 ?
, S- g3 q9 u! K8 O
  
- q/ ]+ x4 e+ w, i: ?+ b+ I. ]
* a; a% c' i/ B+ n) @4 O% |                    
- R% s7 b0 x4 T8 I. }3 _9 j1 p 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
9 q7 C( |$ X5 ^8 f4 f: @4 X
$ N# p0 `$ \* L/ H* E4 n$ o+ V三、添加串口并使用PG15、PG16引脚
0 t! n) c& @/ i  H5 A( ~1 q& e5 I$ l3 Z
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
3 e: ~; a' L( Q* ^" L$ _: Q
9 b( ^5 t$ R8 ^9 A) X      * S$ e! E% k$ ^, D3 O' C# u. a

& Z+ m6 A  s' D, r' g( c( m! [  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图, r8 t/ `/ N$ O8 N5 U& E# ~

- v1 b0 g0 P: \  j! O( J   
: M+ @* V$ x( Z: g; S1 B$ g# ]% u: m5 a& i+ T, t
◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
5 Z) q" s5 u( Z# F9 n) L' X2 X7 o. d3 E& a+ |9 g/ z
   
" E9 O' V; S6 V" c9 ~: d. X8 k+ \+ ?2 j0 O) T- @/ z5 ^4 l
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。( r* j( R& I4 [) c/ q
然后我们打开UART2,修改UART2状态为status= "okay";+ u: z% A9 ]0 x4 a+ G1 ]* \' {7 g
到此我们配置了UART2的引脚,并打开了UART2的功能。
+ e+ y9 V# U- v. G$ V当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。* F2 X8 P2 `( G9 w2 y0 c8 ?
9 @: `, T: S3 w$ l
文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。  s$ h$ Z( M) `3 z7 S
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。; Z2 u1 i' j1 s4 N" x7 `: m
0 \1 H0 N* Q8 k
        - R" S0 n' G1 Q. S$ r9 D
                                                相关产品:                                                              
' i- E: u+ T7 o/ L$ @$ t

OKT507-C 开发板

                                                  

FETT507-C核心板

                          8 v. p' l% N; ^4 c2 i
        
+ v9 Z5 R9 v+ \0 y3 O" m# d
) O8 W% O9 O  ~! f  D
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2022-6-25 06:56

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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