本篇节选自 Configuration 和 这两篇树莓派官方文档上面有关UART使用说明的段落,并且按照自己的学习思路调整了一下前后知识点的展示顺序,翻译内容仅供参考。
(相关资料图)
以下内容节选自:/documentation/computers/
使用命令行
如果你无法正常访问图形化用户界面用来设置树莓派上的无线网,那么这种办法就比较合适,尤其是当你没有屏幕或有线以太网络时使用串口终端线缆连接的情况。无需额外的软件,因为你需要的所有工具都已包含在树莓派的系统中了。
使用 raspi-config
raspi-config 最初是由 Alex Bradbury 编写的树莓派配置工具。想要开启配置工具,请在命令行中输入以下命令:
其中 sudo 是必要的,因为作为 pi 用户你将会修改那些不属于你的文件。
注意:如果你正在使用的是树莓派桌面,那么你可以使用首选项菜单中的图形化配置应用来配置你的树莓派。
随后你应该会看到一个蓝底带选项的灰框界面:
使用上下键在可用的选项之间移动高亮选择框。按下向右键将会跳出选项菜单并把焦点落在 <Select> 和 <Finish> 按钮上。按下向左键则回到选项中。此外,你也可以使用 tab 键在上述选项之间来回切换。
总之,raspi-config 工具旨在为大部分常见的配置提供(便捷的)修改功能,这可能会自动编辑 /boot/ 以及众多标准 Linux 配置文件。部分选项需要重启后生效。如果你修改了当中的任何一个,当你选中按下 <Finish> 按钮后 raspi-config 则会询问你是否立即重启树莓派。
注意:在长列表选项中(像是时区城市列表),你也可以键入字母以跳转到列表中对应的选项上,例如,输入 L 则会跳转到离 London 有两选项之遥的 Lisbon,借助字母表将节省你从头至尾上下滚动的时间。
选项列表
Interfacing Options
在这个子菜单中有下列选项可被启用或禁用:Camera,SSH,VNC,SPI,I2C,Serial,1-wire 以及 Remote GPIO
Serial
启用/禁用在串口连接上登录 shell 和打印内核信息。
内核命令行
Linux 内核在启动时接受一条由参数构成的命令行。在树莓派中,这条命令行被定义在 boot 分区下一个名为 的文件里面,这是一个可被任意的文本编辑器(例如 Nano)编辑的、简单的文本文件。
注意:必须使用 sudo 编辑 boot 分区中的任何内容,并且 里面的所有参数必须在同一行。
启动时被传入内核的命令行内容可使用 cat /proc/cmdline 进行查看,由于固件可能会在内核启动之前修改其中的某些内容,因此无法与 完全一致。
命令行选项
有许多内核命令行参数,其中的一些是由内核定义,其他的则是由内核可能用到的代码定义。
标准项
console:定义了串口中断,通常有(以下)两条内容:
root:定义了根文件系统的位置,例如 root=/dev/mmcblk0p2 表示多媒体存储卡的 0 号区块 2 号分区
rootfstype:定义了 rootfs 所使用的文件系统类型,例如 rootfstype=ext4
quiet:设置默认的内核日志级别为 KERN_WARNING,会在启动时抑制除非常严重的日志消息以外所有内容的输出。
配置通用异步收发器(UART)
在树莓派上有 PL011 和 miniUART 这两种类型的 UART 可被使用。PL011 是全功能的、广泛兼容 16550 的 UART,而 miniUART 只包含更少的功能集。
树莓派上的所有 UART 耐受电压仅为 ,如果(直接)接入到 5V 的电路系统中可能会被烧坏,可以用一个适配器连接到 5V 电路系统。除此以外,也可以使用第三方的低功耗 USB 转 串口适配器。
树莓派 Zero,1,2 ,3
树莓派 Zero,1,2,3 型号各自含有如下的 2 个 UART:
树莓派 4 以及 400 系列
树莓派 4B 和 400 拥有额外的 4 个 PL011 串口,默认是被禁用的:
CM1,CM3,CM3+ 以及 CM4
第一代通用计算模块(CM1),与 CM3 和 CM3+ 各自拥有 2 个 UART,而 CM4 则拥有上述的 6 个 UART。
在所有型号的计算模块中,UART 默认是被禁用且可以使用设备树 overlay 被精确地启用。你也可以指定使用哪个 GPIO 针脚,例如:
主串口(Primary UART)
在树莓派上,其中一个 UART 被选择呈现在 GPIO 14(传输)和 GPIO 15(接收)针脚上,这个就是主串口。默认情况下,这也会作为在上面显示 Linux 终端的 UART,注意 GPIO 14 对应着 GPIO 排头的 8 号物理针脚,而 GPIO 15 对应 10 号物理针脚。
辅助串口(Secondary UART)
辅助串口通常不会被呈现在 GPIO 控制器上。在那些含有这类控制器的设备型号上,默认情况是被连接到集成了无线网/蓝牙控制器的蓝牙模块一侧。
主串口与辅助串口
以下总结了前两个 UART 的分配情况:
解释示例:Raspberry Pi 4 系列型号产品的主串口对应 miniUART;辅助串口对应 UART0(PL011)被用蓝牙模块。其他项目依此类推。
注意:mini UART 默认是被禁用的,无论是被设计成主串口还是辅助串口。
Raspberry Pi OS 中的 Linux 设备文件:
注意:/dev/serial0 和 /dev/serial1 分别是指向 /dev/ttyS0 或 /dev/ttyAMA0 设备的符号连接。
Mini-UART 与 CPU 核心频率
为了使用 mini UART,你需要配置树莓派使用一个固定的 VPU 核心时钟频率。这是因为 mini UART 的时钟是与 VPU 的核心时钟相关联的,因此当核心时钟频率发生改变时,UART 的波特率也会随之改变。可以向 中添加 enable_uart 和 core_freq 设置以改变 mini UART 的行为。以下总结了可能的组合形式:
enable_uart 标志的默认状态取决于主串口是哪种类型的 UART:
禁用 Linux 串口终端
默认情况下,主串口会被分配作为 Linux 终端,如果你希望将主串口用作其他的用途,你必须先重新配置一下系统,这一步可以用 raspi-config 来完成:
1. 开启 raspi-config:sudo raspi-config
2. 选中选项3:Interface Options
3. 选中选项P6:Serial Port
4. 在提示 Would you like a login shell to be accessible over serial? 的时候选择 "No"
5. 在提示 Would you like the serial port hardware to be enabled? 的时候选择 "Yes"
6. 退出 raspi-config 然后重启树莓派让修改生效。
启用 Linux Early Console
尽管 Linux 内核在启动过程中相对较早地就开启了 UART,但仍然会晚于部分基础设备的临界位被设置的时间,此时如果不能获取到内核日志,那么在这些早期阶段产生的错误就很难被诊断。为了能让其中一个 UART 启用 earlycon 支持功能,请添加下列选项中的一个到 文件,具体内容取决于主串口是何种类型:
对于 Raspberry Pi 4,400 以及 Compute Module 4:
对于 Raspberry Pi 2,Pi 3 以及 Compute Module 3:
对于 Raspberry Pi 1,Pi Zero 以及 Compute Module 1:
波特率默认是 115200 bps
注意:选错 Early Console 可能会导致树莓派启动失败。
UART 与设备树
许多 UART 设备树的 overlay 定义可以在 /raspberrypi/linux 上面找到,其中两个最有用的 overlay 莫过于 disable-bt 和 miniuart-bt
disable-bt 会禁用蓝牙设备并且让 first PL011 (UART0) 作为主串口。同时你也必须禁用掉初始化蓝牙解调器的系统服务,以确保彻底不会连上 UART,使用 sudo systemctl disable hciuart 即可。
miniuart-bt 会将蓝牙功能切换为使用 mini UART,并且 让 first PL011 (UART0) 作为主串口。请注意这可能会降低最大可用的波特率(参考下方的 mini UART 限制说明)。同时你也必须用 force_turbo=1 或 core_freq=250 将 VPU 的核心时钟设为固定频率。
uart2,uart3,uart4 和 uart5 这四个 overlays 可以被用来启用树莓派4型号设备上额外的 4 个 UART。在目录中另有特殊的 UART overlay,请参考 /boot/overlays/README 以获取设备树 overlay 的详细内容,或者执行 dtoverlay -h overlay-name 用以获取描述和使用帮助。
你可以向 文件中添加一行配置用来启用一个设备树 overlay,请注意 的文件名部分已被移除。例如:
PL011 与 mini-UART
PL011 UART 和 mini-UART 之间存在着一些差异:
mini-UART 拥有更小的 FIFO,并且缺少对流控制的支持,这导致在更高的波特率条件下更有可能会丢失字符。相比 PL011 在功能上也会有所缺失,主要是因为其自身的波特率会受到 VPU 的时钟速度的影响。
与 PL011 相比 mini UART 最显著的缺点是:
1. 没有中断检测
2. 没有数据帧错误检测
3. 没有校验位
4. 没有接收超时中断
但无论是 mini UART 还是 PL011 在 BCM2835 上的实现都不支持 DCD,DSR,DTR 或者 RI 信号。
有关 mini UART 的更多资料可以在 /bcm2835/ 上面找到。
以下内容节选自 /documentation/computers/config_
init_uart_baud
init_uart_baud 表示 UART 初始波特率,默认为 115200
init_uart_clock
init_uart_clock 表示 UART 初始时钟频率,默认值为 48000000(48MHz)。请注意这个时钟仅会作用于 UART0(ttyAMA0),并且最大波特率被限制为时钟的 1/16。而在树莓派 3 以及 Zero 上面的默认 UART 是 UART1(ttyS0),且时钟是核心 VPU 的时钟,至少为 250 MHz。
enable_uart
enable_uart=1(配合 当中的 console=serial0 参数使用)请求内核创建一个串口终端,使用 GPIO 14 和 15 进行连接。编辑 移除命令行中的 quiet 参数以开启内核启动消息。另见 uart_2ndstage。
uart_2ndstage
设置 uart_2ndstage=1 让第二阶段的引导程序(树莓派4之前设备上的 ,或是树莓派4 EEPROM 里面的启动代码)和主固件(start*.elf)输出诊断信息到 UART0。注意可能会和蓝牙操作发生冲突,除非你禁用了蓝牙(dtoverlay=disable-bt)或切换到其他 UART(dtoverlay=miniuart-bt)上面。并且同一时间如果 UART 上面既有输入也有输出,那么数据很可能会丢失输出也会受影响。所以这项功能只应该被用来诊断早期启动加载时的问题。
参考资料:
/documentation/computers/
/documentation/computers/config_
标签:
精彩推荐
本篇节选自Configuration和Config txt这两篇树莓派官方文档上面有关UAR
近期,全国多地燃气安全事故频发,石家庄市城市管理综合行政执法局、石
1、八哥鸟又名鸭鹊、喇喇鸟。喜欢栖居平原的村落、田园和山林边缘。喜
1、“贵州通”APP为市民提供交通、旅游、教育、医疗、社会保障、城市建
6月28日,截至收盘,南方誉慧一年混合A(009296)较前一交易日净值上涨
根据近五年财报数据,证券之星估值分析工具显示,思科瑞(688053)行业
光明地产:光明地产关于对外担保的情况简报
6月27日,农业农村部网站发布郑重声明,声明原文如下:近期,有不法分
“万里大造林”案是国家督办的重大非法集资案件,目前该案善后处置工作
腺病毒(adenovirus,Ad)是一种高效的基因载体工具,应用范围广,动物
珠海民办大学有哪些学校?序号学校名称学历层次办学性质5北京理工大学
1、2005年《金刚》女主角是娜奥米·沃茨。2、娜奥米·沃茨(NaomiWatts
昨日国际油价日内宽幅震荡,美油布油盘中一度向上突破上方压力位,但夜
今天小编给大家整理2023传奇手游排行榜,游戏里的传奇世界boss限时开放
相信目前很多小伙伴对于信用卡都比较感兴趣,那么小搜今天在网上也
长兴县永绿林业发展中心(长兴县林场)经过公开报名、资格审查、体能测试
6月26日,大理药业发布公告称,公司参与了全国中成药采购联盟集中带量
当下关于Dbrand皮革皮肤评测,相信很多小伙伴都不是很了解吧那么下面小
1、阿玛尼是意大利品牌。2、意大利阿玛尼公司,世界知名奢侈品品牌乔治
员工在掌握了公司的关键信息后另起炉灶,设立同类型公司,成为“老东家
资讯News
06-20
11-03
11-03
11-03
11-03
11-03
11-03
11-03
11-03
11-03
11-03
聚焦Policy
当好农民工的“护薪人” 近日,罗某等7名农民工在收到被拖欠的工资后,纷纷打电话向江西省南昌市...
“通讯录里所有人都知道我欠钱了” □ 本报记者 韩丹东 □ 本报见习记者 张守坤 ...
大连宝马车撞人案肇事司机被判死刑 本报讯 记者韩宇 10月29日,辽宁省大连市中级人民法院一审...
医院财务迷上网络赌博输光5000万元公款 □ 本报记者 马维博 □ 本报通讯员 汪宇堂 曹...
辊环车削 雕琢毫厘(工匠绝活) 【绝活看点】 23年来,雷虎始终扎根一线,改进钢材轧制工艺...
交警严查超标电动自行车挪用“白牌” 截至昨晚6时,处罚电动自行车违法行为共计6585笔;下一步将...
明起寒潮来袭 北方气温普降10℃以上 中央气象台预计,本周日北京平原地区最低气温降至-4℃左右...
多种蔬菜价格降幅达五成 包括菠菜、蒿子秆等 预计本月中旬蔬菜恢复供需平衡 本报讯(记者...
北京周日最低气温或达-4℃ 本报讯(记者 赵婷婷)北京青年报记者昨天从中央气象台获悉,新一股...
昌平一家四口确诊新冠肺炎 天通北苑第二社区升级为中风险地区 朝阳两涉疫校区及16所学校停课 ...