嵌入式爱好者

查看: 378|回复: 1

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

[复制链接]

32

主题

33

帖子

205

积分

扫一扫,手机访问本帖
发表于 2021-12-5 17:28:32 | 显示全部楼层 |阅读模式
本帖最后由 飞凌-marketing 于 2021-12-5 17:33 编辑 8 m7 ~% C. }; U8 [( M! y

! H6 g0 q4 J9 H2 d+ N3 d  FETT507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB DDR3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志FETA40i-C核心板,性能提升超过50%。
3 Q* D1 h* y8 E                              
2 H7 t9 p9 k6 V; w7 p
% R' Z2 g: V% h, q  飞凌嵌入式FETT507-C核心板自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。- l3 w  q" ^4 A( ~& O8 J
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
/ s+ @: V$ I# b8 |( A: i- c$ Q1 t9 E) \/ ~, G3 h( L  ^1 x  U/ C
引脚功能复用思路:
( {- n: F5 R' g( R6 G 1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
" [- H0 _8 g4 y8 W: ? 2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
7 X' t3 k( O6 ~7 S3 A3、添加新的功能并使用这些引脚
& r7 t9 T* d7 u! F% {
) m8 Z  s$ v6 u8 E" |7 m 下面将以T507添加两线串口UART2为例,我们来实际操作一遍。
+ ^; e# A8 h! c" r( c/ M$ Z: p) N6 o/ l  W; g9 Q# K
  一、确认UART2需要的引脚
8 @, [+ L5 F$ I) X) U: b  ?" W& J4 r& ]
  ◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
4 ]9 |" Q$ F2 Y+ q        路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
  h0 g: L" q9 @' y) E9 m' J+ Y0 K4 _& w' j: K( f2 D
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用2 T! m  _2 |2 C, L' D

5 O% [% `: `# i! @                    
  引脚名称               1 s& P2 O! e2 x9 A, v/ d
2 F) }" \2 s6 o  @( E7 o$ ]4 @2 z9 @
  FETT507-C默认功能                                 . ~+ C% T# ?6 g, p( G
   可复用功能                                 0 T; M% Y8 V2 x# x2 E$ P
                                        PG15                                 $ }. F7 G/ W3 Y4 c0 }+ ?/ b3 _
  PG-TWI4-SCK                                   A: c3 J8 J* H: _6 [" V+ m
UART2_TX
                                        PG16                                 , w  K3 v' {+ J( U' H
  PG-TWI4-SDA                                 
6 H1 m9 T- H% v
  UART2_RX                                 
! O; ]' x2 H$ p5 [; j  V
                                        PH5                                 
* x2 |/ Q. H/ u) z
  H_I2S3_MCLK                                 - P% a1 D- {* O# x1 o+ O- O" K
  UART2_TX                                 + L- f( K0 w) c' A
                                        PH6                                 ' U0 u5 u- a2 d. \1 C
   H_I2S3_BCLK                                 9 Q% l; _7 l, p2 c1 |  h( O
   UART2_RX                                 " G/ _! z! z  j- c& m" U
  PI5                                 , ^3 y8 \) q- ~0 a1 G3 X
   RGMII_RXCTL/RMII_CRS_DV                                   V% N2 T" R0 w* N7 K/ ~
   UART2_TX                                 
  \" ^4 `! e. B4 `
PI6                                 . j" o2 s8 `* m* u" i
    PHYRSTB                                 
3 ]+ E& b5 G- F7 _, k6 X( q( \
     UART2_RX                                 $ u7 ]% S0 R2 s0 G6 i; w( B8 k
* ~3 l6 v3 |1 n. b
小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
% q( P. l. |) a' s
& }0 v, B* A: p! D; M6 {二、去掉原来功能对这些引脚的使用
/ w( {3 }& g1 _( p
: @9 D3 H: j5 ^◾ 打开源码,先了解一下T507的设备树文件:  Z3 O' R3 n# l, N4 n

6 c5 c: B9 X* m: V8 ]% S( I9 rOKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
' ?  C1 [' U- G- ~% e) t. |3 |: B 功能配置设备树2
) @  Y/ s) ~$ W0 I* ~$ v, E+ b& y. f9 W4 ~$ B& p9 D+ [7 t
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
4 Q$ @1 a) t/ s" ?0 e/ x功能配置设备树1
* E0 V* Y! q- n( j9 M8 e( g( e/ n, Y0 p
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
6 A3 q2 S: N* E; i. P7 `9 J  时钟设备树# _$ Y- Z+ W% h2 f
" s" l5 x( {) |; `/ s4 n
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi0 O$ D# O& M+ H: P  [
引脚复用设备树, g- ^! }3 H( r% u$ S% t
9 a  X* i! U3 i6 W) X$ J/ p
   ◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
4 p" A$ A9 k3 f. C5 u! p% l6 ?( S: N. ]
   
4 \% m" L& @* R8 j) {8 A2 x, S0 l0 q4 @2 Q0 U
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b( x) K3 e  g. u: Q  z7 F

7 p1 D# ?( H9 j8 ^9 A: V    $ g! C8 k$ w  J# N, I' \; g

3 ]! b1 U! g; ]( B◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabled";
" E% t5 A" ]& y& f+ r# X: s" t+ N1 s+ _$ m1 m+ T# R% s0 U
  
! L3 y# h* |% }$ ~
2 H9 G: c+ R. K4 y                    
. c4 s% }# g" n/ _- L6 n) N" ? 到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。2 y) h5 _2 G5 E( j8 {
6 |, m+ j  J" g# |0 E2 w
三、添加串口并使用PG15、PG16引脚8 [: L2 W/ ^6 B: t4 {" a/ j3 E" T

* z  J( ]  I  l0 D# ]* [◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
" M# ?$ z5 [- j$ ?6 ?; Y9 {/ N7 f) h6 z0 g( d! d  j" a) R6 \
      " ?# h( }* c+ ], t$ l3 i

7 l& O" P2 h8 l  V0 a( P  ◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图- ]% ~/ G* M; R' Y2 F6 f3 D: a9 {
9 Q6 [( f5 V2 I
   
. R! \9 N, R- Y# A! y$ |: Q$ w) T
  J7 L: s  C* z3 O5 @+ S. f ◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。3 c+ W; p( k% h
+ ^7 I( `- e8 v. Y" T9 n
    6 W8 e  M" o2 j: Y5 d
- W- j* r3 |4 B# X
可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
2 j2 t  p5 X  p) g7 |( m然后我们打开UART2,修改UART2状态为status= "okay";! X( y; |" k: ~& I; [
到此我们配置了UART2的引脚,并打开了UART2的功能。
  Y1 M$ n: F' L( u' G, L当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
" \/ D3 k* f: |" V( P, h. N8 S
6 A* U+ v: G, E; v' r, r文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。& |) d2 K# N' }/ j: I5 |' f2 g% S
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
$ {- X" Q- l$ E. V% h& y# W
3 a0 i! g& [9 j! J6 o+ b9 d) Q, I        
+ X( F4 m/ G& J6 l( F- n                                                相关产品:                                                              

8 F1 {  l$ G( S

OKT507-C 开发板

                                                  

FETT507-C核心板

                          
+ S; x9 B1 [1 S& K& t8 i' n        
/ X' L" O8 d9 ~% x( A* p1 ~# L( B
( [! ~2 g5 h# i; Q/ U# t1 G
回复

使用道具 举报

头像被屏蔽

0

主题

2

帖子

4

积分
发表于 2022-1-1 12:57:57 | 显示全部楼层
[极速飞艇](https://www.1686990.com/view/jisuft/pk10kai.html 又是特定经济主体为了在未来可预见的时期内获得收益或是资金增值,在一定时期内向一定领域投放足够数额的资金或实物的货币等价物的经济行为。可分为实物投资、资本投资和证券投资等。前者是以货币投入企业
- i/ M: M& o) A- X( Y) u[开奖网](https://www.1685770.com/?=T116 通过生产经营活动取得一定利润,后者是以货币购买企业发行的股票和公司债券,间接参与企业的利润分配。投资是创新创业项目孵化的一种形式,是对项目产业化综合体进行资本助推发展的经济活动。投资是货币% b! z; m0 x) j# n/ K
[SG飞艇](https://168won.com/view/sgAirship/pk10kai.html 收入或其他任何能以货币计量其价值的财富拥有者牺牲当前消费、购买或购置资本品以期在未来实现价值增值的谋利性经营性活动。投资这个名词在金融和经济方面有数个相关的意义。它涉及财产的累积以求在未来得到收益
点评回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2022-1-18 06:38

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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