查看: 6500|回复: 4

[求助] imx6q_sabresd平台新增串口驱动不能正常工作

[复制链接]

该用户从未签到

1

主题

1

帖子

0

新手上路

Rank: 1

积分
15
最后登录
2014-12-17
发表于 2014-12-8 13:35:29 | 显示全部楼层 |阅读模式
本帖最后由 stefan_weids 于 2014-12-8 14:09 编辑

大家好,现在我正在调试imx6q_sabresd平台,是android4.3,bsp为3.0.35,分支为[url=]jb4.3_1.1.0-ga[/url],系统默认配置了uart1和uart3两个串口,现在我想把其他三个串口也增加进来,我按照uart1的配置,修改了以下文件,发现现在/dev/下能创建ttymxc0,ttymxc1,ttymxc2,ttymxc3和ttymxc4共五个节点,然后使用测试程序测试,其中只有uart1是可以正常收发数据,其他四个串口都不行,使用示波器也测量不到波形。然后我使用memtool工具来配置寄存器,其中只有uart1和uart3可以正常读出和写入寄存器,而uart2,uart4和uart5都提示说bus error。
其中最让我感觉到奇怪的是默认配置好的uart3也不能正常工作。
其中iomux我都反复检查了,相关引脚没有配置成其他功能,电路图也检查过了。
是不是我少配置了一些文件?请指正。我们硬件硬件应该是没有什么问题的,不可能所有四个串口都坏掉了把。
谢谢大家。
下面是我修改的文件:

1.board-mx6q_sabresd.h
/*UART2*/
MX6Q_PAD_EIM_D26_UART2_TXD,
MX6Q_PAD_EIM_D27_UART2_RXD,

/*UART4*/
MX6Q_PAD_KEY_COL0_UART4_RXD,
MX6Q_PAD_KEY_ROW0_UART4_TXD,

/*UART5 */
MX6Q_PAD_KEY_COL0_UART5_RXD,
MX6Q_PAD_KEY_ROW_UART5_TXD,


2.board-mx6q_sabresd.c

static inline void mx6q_sabresd_init_uart(void)
{
imx6q_add_imx_uart(0,NULL);
imx6q_add_imx_uart(1,NULL);
imx6q_add_imx_uart(2,NULL);
imx6q_add_imx_uart(3,NULL);
imx6q_add_imx_uart(4,NULL);
}


3.platform-imx-uart.c
#define imx6q_imx_uart_data_entry(_id, _hwid)
imx_imx_uart_lirq_data_entry(MX6Q, _id, _hwid, SZ_4K)
imx6q_imx_uart_data_entry(0,1),
imx6q_imx_uart_data_entry(1,2),
imx6q_imx_uart_data_entry(2,3),
imx6q_imx_uart_data_entry(3,4),
imx6q_imx_uart_data_entry(4,5),
};


4.clock.c
_REGISTER_CLOCK("imx_uart.0", NULL, uart_clk[0]),
_REGISTER_CLOCK("imx_uart.1", NULL, uart_clk[0]),
_REGISTER_CLOCK("imx_uart.2", NULL, uart_clk[0]),
_REGISTER_CLOCK("imx_uart.3", NULL, uart_clk[0]),
_REGISTER_CLOCK("imx_uart.4", NULL, uart_clk[0]),

5.mx6.h

#define MX6Q_UART1_BASE_ADDR UART1_BASE_ADDR
#define MX6Q_UART2_BASE_ADDR UART2_BASE_ADDR
#define MX6Q_UART3_BASE_ADDR UART3_BASE_ADDR
#define MX6Q_UART4_BASE_ADDR UART4_BASE_ADDR
#define MX6Q_UART5_BASE_ADDR UART5_BASE_ADDR


#define MX6Q_INT_UART1 MXC_INT_UART1_ANDED
#define MX6Q_INT_UART2 MXC_INT_UART2_ANDED
#define MX6Q_INT_UART3 MXC_INT_UART3_ANDED
#define MX6Q_INT_UART4 MXC_INT_UART4_ANDED
#define MX6Q_INT_UART5 MXC_INT_UART5_ANDED
我知道答案 目前已有4人回答
回复

使用道具 举报

该用户从未签到

1

主题

802

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1763
最后登录
1970-1-1
发表于 2015-1-5 15:17:13 | 显示全部楼层
先确定硬件连接没错,  再确定某一个默认的指针正确
回复 支持 反对

使用道具 举报

该用户从未签到

45

主题

2369

帖子

0

金牌会员

Rank: 6Rank: 6

积分
3275
最后登录
1970-1-1
发表于 2015-1-5 15:41:02 | 显示全部楼层
楼主你好,关于串口的配置建议你参考一下文档:
Debug UART Customization on i.MX6x.zip (1.05 MB, 下载次数: 272)
回复 支持 反对

使用道具 举报

该用户从未签到

45

主题

2369

帖子

0

金牌会员

Rank: 6Rank: 6

积分
3275
最后登录
1970-1-1
发表于 2015-1-5 15:41:14 | 显示全部楼层
有问题我们再沟通哈~~
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

20

帖子

0

注册会员

Rank: 2

积分
74
最后登录
2015-2-14
发表于 2015-1-6 10:44:09 | 显示全部楼层
看看收发有没有接反
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 13:25 , Processed in 0.099625 second(s), 26 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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