这确实有些混乱:

1. 命令行参数“console=ttySAC0”与/dev/目录没有任何关系,它被用来选择从哪个设备输出内核、驱动的printk信息:

①.

在内核kernel/printk.c中,有这一行代码:

__setup("console=", console_setup);

对于命令行参数“console=ttySAC0”,console_setup函数会将设备名(name)、索引(index)解析出来:

名为ttySAC,索引为0──表示第一个设备

②. S3C2410的串口驱动文件drivers/serial/s3c2410.c中,有如下数据结构:

1882 static struct console s3c24xx_serial_console =

1883 {

1884    .name      = S3C24XX_SERIAL_NAME,      // 这个宏被定义为"ttySAC"

1885 .device = uart_console_device,                    // init进行、用户程序打开/dev/console时用到

1886 .flags = CON_PRINTBUFFER,                        // 打印先前在log_buf中保存的信息

1887 .index = -1,                                                      // 表示使用哪个串口由命令行参数决定

1888 .write = s3c24xx_serial_console_write,          // 串口控制台的输出函数

1889  .setup = s3c24xx_serial_console_setup        // 串口控制台的设置函数

1890 };

①、②的名字(name)、索引(index)两相比较,刚好相符,所以printk信息就会通过②中的s3c24xx_serial_console_write函数输出。

2. 至于/dev目录下哪个设备文件与具体设备对应,这取决于设备文件的主、次设备号,而不是它们的名字。

①.

同样是在S3C2410的串口驱动文件drivers/serial/s3c2410.c中,有如下数据结构:

static struct uart_driver s3c24xx_uart_drv = {

.owner = THIS_MODULE,

.dev_name = "s3c2410_serial",

.nr = 3,

.cons = S3C24XX_SERIAL_CONSOLE,

.driver_name = S3C24XX_SERIAL_NAME,

.major = S3C24XX_SERIAL_MAJOR,      // 主设备号为204

.minor = S3C24XX_SERIAL_MINOR,      // 次设备号为64,这指第1个串口;第2个为65

};

②. 使用ls -l命令查看/dev目录下的某个设备文件,比如:

$ ls -l /dev/tts/0

如果它的主设备号为204、次设备号为64,那么就对应第一个串口

ttysac1 java_ttySAC0与/dev/tts/0是否对应同一个物理设备串口0相关推荐

  1. 2021-05-28 新唐M051芯片--串口0,定时器

    1.系统初始化 void SYS_Init(void) {/* Unlock protected registers */SYS_UnlockReg(); //操作寄存器解锁{ //切换外部晶振--& ...

  2. Vue报错Module build failed Error Node Sass version 6.0.1 is incompatible with ^4.0.0.解决方案

    Vue报错Module build failed: Error: Node Sass version 6.0.1 is incompatible with ^4.0.0.解决方案 错误提示: ERRO ...

  3. oracle 11.2.0.3RAC升级到11.2.0.4

    oracle 11.2.0.3RAC升级到11.2.0.4 一.GRID集群软件升级 二.Oracle数据库软件升级 注意 照着大佬的教程一步一步做的 ,升级完看也挺简单,可能会出现一些突发状况,这个 ...

  4. linux cron记录时间,crontab每分钟,5,10分钟,每小时,每天零点,每周日0点,每月1号0点,每年1月1日执行脚本,linux shell定时任务...

    crontab每分钟,5,10分钟,每小时,每天零点,每周日0点,每月1号0点,每年1月1日执行脚本,linux shell定时任务 在linux系统里做维护和开发时, 经常会遇到要用crontabl ...

  5. JZ2440 v3.0 linux-3.4.2 busybox1.20.0内核 和 文件系统移植 修改分区大小 yaffs2文件系统补丁 开源资源查找

    文章目录 零.平台 + 软件版本 + 烧写 平台 和 版本 烧写 一.编译系统的一堆命令 1. 编译uboot 2. 编译内核 3. 文件系统 yaffs2 额外的,自启动脚本配置 + 自动配置网卡 ...

  6. BigchainDB 2.0 区块链数据库白皮书 V1.0

    BigchainDB 2.0 区块链数据库白皮书 V1.0(by hwg 参考百度翻译) 摘要 1.BigchainDB 2.0 设计目标 1.1. 完全去中心化和拜占庭容错 1.2.不可篡改(Imm ...

  7. Python将小于0的书数换成0的几种方式

    >>> import numpy as np >>> a = np.random.randint(-5, 5, (5, 5)) >>> a arr ...

  8. aix oracle 10.2.0.1 升级 10.2.0.4,安装oracle 10.2.0.4 on aix 6.1的不同之处

    根据Oracle Database Installation Guide 10g Release 2 (10.2) for AIX 5L Based Systems (64-Bit)文档,在AIX 6 ...

  9. 创建符合标准的、有语意的HTML页面——ASP.NET 2.0 CSS Friendly Control Adapters 1.0发布...

    ASP.NET 2.0提供了非常多的Web开发中常用到的复杂控件,例如Menu.GridView.Login等.虽然这些控件使用方法极为简单,且功能异常强大,但若你查看一些由这些控件所生成的HTML代 ...

  10. mysql-4.0.20 use on scounix 5.0.7 error :dynamic linker:..:could not open libgthreads.so help!!!!

    周五, 2007/07/06 - 17:28 - zhenghz mysql-4.0.20 use on scounix 5.0.7 error :dynamic linker:..:could no ...

最新文章

  1. LoadRunner本机录制http协议程序遇到的问题以及解决方法
  2. 菜单项onCreateOptionsMenu()和onOptionsItemSelected()的使用
  3. C#中Brush、Color、String相互转换
  4. FatMouse's Speed hdu 1160(动态规划,最长上升子序列+记录路径)
  5. 读保护_混合ASIL系统中不同安全等级模块间的边界保护
  6. bootstrap-select动态生成数据,设置默认选项(默认值)
  7. odex vdex art区别
  8. Arcpy 去除shp文件ZM值代码及工具箱
  9. java.lang.UnsatifiedLinkError错误一例:不同虚拟机之间的库不能共用
  10. 3ds max 2020 vray 5.0 渲染设置
  11. 基于springboot的医院门诊管理系统
  12. Spring MVC+ Spring + Mybatis “三大框架”介绍
  13. 小米兰亭pro ttf_小米10Pro使用体验(三)
  14. 关于MOVE_BASE的map坐标到UTM坐标变化的理解
  15. java 定时任务 cron
  16. AMBA_AXI总线详解
  17. 软件工程---团队作业4
  18. echarts世界地图中英文转换
  19. ESP32 开发笔记(四)LVGL控件学习 Canvas 画布控件
  20. Mac 截图工具 iShot Pro - 软件介绍、下载安装详细教程

热门文章

  1. 支持向量机总结(SVM)
  2. php数据回显是什么意思,关于mysql:php脚本回显部分php而不是什么意图
  3. 比 CMD 更强大的命令行:WMIC 后渗透利用(系统命令)
  4. 注解的引入以及注解的使用
  5. python中bif是什么_python类与对象(BIF详细分析及实例讲解)
  6. Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
  7. Unity编辑器:自定义编辑器样式——GUIStyle
  8. 2018年5月26日笔记
  9. kernelchina.org内核研究
  10. Event Listener's Adapter Classes