|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本文档主要介绍 IMX6 plus 开发板串口扩展过程。
; o" L+ C" u) ` T5 _IMX6 一共支持 5 个 UART,底板上还可以再扩展出两个,分别是串口 4 和串口 5。
& Z8 _1 _+ \9 Q5 x {硬件环境:iMX6 开发板:底板 v_2.3 。
& H8 ]5 v# O: {/ @% L: L% f软件环境:Ubuntu14。3 q0 e/ [- E* P" X: s# q
修改管脚配置
* T7 ]6 I7 n; N因为在底板上串口 4 和串口 5 对应的管脚被摄像头占用了,所以我要修改一下管脚配
1 g' R8 t8 f/ P) y8 p1 t* S6 b7 M置,首先我们进入到内核源码目录下,如下图所示:7 [/ t W% S3 T6 }' L
8 m* G, ]; F( B* S& s! y输入命令“vi arch/ARM/boot/dts/imx6qdl-sabrESD.dtsi”打开文件。在文件的第' d% g5 O% k" P8 `' N& A
1064 行左右添加如下代码:
2 `1 e( k7 j% Cpinctrl_uart4: uart4grp { o; Y" }; K9 q0 c# s4 {% F% G3 s
fsl,pins = <- [) [5 A4 f8 F2 S5 ^( _3 ^ F
MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1, g' Y x8 M+ f) W: u- ^
MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1
3 u0 w; n2 ]1 U$ J; b>;# ?1 w6 F! H' o- d$ E, j2 M( S
};
( v- I! L" D) x! C, j添加完成如下图所示:" S: s t% b. E4 v% u& f: \
! g x3 d( p% ` S3 E. H: [( @% J在文件的第 1077 行左右添加如下代码:9 R L) a* t: O/ w7 j* O
MX6QDL_PAD_CSI0_DAT14__UART5_TX_DATA 0x1b0b1
3 o" S3 n2 G; Y" cMX6QDL_PAD_CSI0_DAT15__UART5_RX_DATA 0x1b0b1
: R2 H% }7 `& {4 M' }添加完成如下图所示:
6 P' |0 \5 b. k4 z* i x6 U" V
+ K* O- B1 `, r6 a6 w/ o在文件的第 1279 行左右添加如下代码:5 Z% S/ L( N8 f8 q. \, D
&uart4 {
1 t- F9 g( U- O: T+ F: k5 apinctrl-names = "default";
; F. t& y" r( o6 G; Zpinctrl-0 = <&pinctrl_uart4>;
6 @" `6 Y* g* J9 |status = "okay"; x2 \$ z5 P( m6 z& O# i6 x
};- ]) K6 k6 E o& h
添加完成如下图所示:: L/ R! n3 s* t; r$ m
* K7 n% H# i( l3 @( u9 l8 g
在文件 1005 左右注释掉摄像头部分管脚代码配置,如下图所示:
5 [, I( P% j8 `, a
- j& v* {! I) E, R* c# a8 u保存,返回到源码路径下,输入命令“./build_qt_kernel.sh plus”编译内核源码,把
# m8 j: {9 ~) w) l! H0 ~) b X: Okernel_imx/arch/arm/boot 目 录 下 的 zImage , 把 kernel_imx/arch/arm/boot/dts ”
) r1 m: z- C5 Rtopeet_10.1inch.dtb、topeet_7inch.dtb 和 topeet_9.7inch.dtb 烧写进开发板。9 P$ d+ I! F% m9 N1 y: X: j
在底板原理图上对应的为牛角座的第 16,18,19,20 管脚,如下图所示:+ Y2 e% O/ e" a2 q2 v0 E$ g
+ e. T8 }* `/ u p- ~第 19,20 脚为串口 5 的引脚,对应的设备节点的为 /dev/ttymxc4 。其中 19 脚为
) W+ i( r6 z) w, }1 t3 n2 E$ ETX,20 脚为 RX。
E: I# f. p4 f" I把测试程序 uart_write_read 拷贝到开发板的根目录,同时把 19,20 管脚短接,输入命令4 K/ J5 X; i* |! u3 k
“ ./uart_write_read /dev/ttymxc4”,可以看到开发板已经收到数据。如下图所示:4 a! b) ?$ H8 U3 ~6 f
" T" L5 m# U& J& m
第 16,18 脚为串口 4 的引脚,对应的设备节点的为 /dev/ttymxc3 。其中 16 脚为
! {( Q! {- d' N" CTX,18 脚为 RX。把测试程序 uart_write_read 拷贝到开发板的根目录,同时把 19,20 管脚短
# V2 ]( Q& I1 F( p接,输入命令“ ./uart_write_read /dev/ttymxc3”,可以看到开发板已经收到数据。如下: r$ I& G( ~7 J0 ^0 m7 e* U
图所示:
: `" U4 m9 V; D7 y7 w' e* R
7 y; {) T$ `5 C o3 \0 @
0 {" j6 v% M( b& k8 @
0 U2 n* f% `8 Y" m! m3 k& A5 X7 [ |
|