Firefly开源社区

打印 上一主题 下一主题

3288_Reload 串口UART4无法使用

115

积分

0

威望

0

贡献

技术小白

积分
115

3288_Reload 串口UART4无法使用

发表于 2017-3-31 15:09:52      浏览:7598 | 回复:6        打印      只看该作者   [复制链接] 楼主
按照维基的教学,在reload.dts文件中加入了
&uart_exp {
    status = "okay";
    dma-names = "!tx", "!rx";
    pinctrl-0 = <&uart4_xfer &uart4_cts>;
};
使能同时因为spi0的复用关系,关闭spi0
&spi0 {
status = "disabled";}

3288.dtsi文件:
aliases {
  serial0 = &uart_bt;
  serial1 = &uart_bb;
  serial2 = &uart_dbg;
  serial3 = &uart_gps;
  serial4 = &uart_exp;
  i2c0 = &i2c0;
  i2c1 = &i2c1;
  i2c2 = &i2c2;
  i2c3 = &i2c3;
  i2c4 = &i2c4;
  i2c5 = &i2c5;
  lcdc0 = &lcdc0;
  lcdc1 = &lcdc1;
  //spi0 = &spi0;
  spi1 = &spi1;
  spi2 = &spi2;
};

编译后UART4还是无法连接外设,求问各位大神我是不是忽略的哪里没有设置
回复

使用道具 举报

115

积分

0

威望

0

贡献

技术小白

积分
115
发表于 2017-3-31 15:55:52        只看该作者  来自 2#
已经找到问题,是ttyS4的权限不够,无法读写
回复

使用道具 举报

38

积分

0

威望

0

贡献

游客

积分
38
发表于 2017-4-6 11:54:54        只看该作者  板凳
celticszhao 发表于 2017-3-31 15:55
已经找到问题,是ttyS4的权限不够,无法读写

怎么获取权限呢
回复

使用道具 举报

115

积分

0

威望

0

贡献

技术小白

积分
115
发表于 2017-4-6 16:27:29        只看该作者  地板

init.connectivity.rc里面增加tty4的权限就可以了
回复

使用道具 举报

38

积分

0

威望

0

贡献

游客

积分
38
发表于 2017-4-6 18:08:02        只看该作者  5#
celticszhao 发表于 2017-4-6 16:27
init.connectivity.rc里面增加tty4的权限就可以了

ttyS3是否用过
回复

使用道具 举报

115

积分

0

威望

0

贡献

技术小白

积分
115
发表于 2017-4-7 09:54:52        只看该作者  6#

用过,一样的
回复

使用道具 举报

3750

积分

17

威望

18

贡献

官方团队

Rank: 9Rank: 9Rank: 9

积分
3750
发表于 2017-4-7 14:28:32        只看该作者  7#
请尝试修改如下代码
--- a/kernel/drivers/tty/serial/rk_serial.c
+++ b/kernel/drivers/tty/serial/rk_serial.c
@@ -1425,6 +1425,7 @@ serial_rk_set_termios(struct uart_port *port, struct ktermios *termios,
        baud = uart_get_baud_rate(port, termios, old,
                                  port->uartclk / 16 / 0xffff,
                                  port->uartclk / 16);
+/*
if ( port->baud > 0 && port->line != 0)
{
        baud = port->baud;
@@ -1434,6 +1435,7 @@ else
{
        printk("%d,baud is:%d\n",port->line,baud);
}
+*/
        quot = uart_get_divisor(port, baud);
        //dev_info(up->port.dev, "uartclk:%d\n", port->uartclk/16);
        //dev_info(up->port.dev, "baud:%d\n", baud);
回复

使用道具 举报

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

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表