今天又踩了很多坑。总结一下关于linux下如何操作串口,以及遇到的一系列问题如何解决的方法。老话,在Linux下万物皆文件。在 Linux 中,所有的设备文件一般都位于“/dev”下,其中串口一、串口二对应的设备名依次为“/dev/ttyS0”、“/dev/ttyS1”。在 Linux 下对设备的操作方法与对文件的操作方法是一样的,因此,对串口的读写就可以使用简单的“read”,“write”函数
Linux系统中,dmesg和grep是两个非常实用的命令,用于诊断和过滤系统日志信息。而串口(serial port)则是一种用于在计算机和外部设备之间进行数据传输的通信接口。本文将介绍如何使用命令“linux dmesg | grep 串口”来查找系统中关于串口的相关信息。 首先,让我们来了解一下dmesg命令的作用。dmesg命令用于显示系统启动时的内核环缓冲区内容,其中包含了有关系统硬
原创 2024-03-28 09:40:28
711阅读
一:在使用GD32单片机进行串口DMA发送时,需要进行以下配置:使能DMA时钟和串口时钟。配置DMA通道,包括数据方向、数据宽度、传输模式等参数。配置串口发送端口GPIO的模式和引脚。配置串口的基本参数,如波特率、数据位、停止位、校验位等。配置串口DMA发送所需要的DMA缓冲区。初始化DMA传输,启动发送数据。等待DMA传输完成的中断或者轮询方式,根据需要来进行处理。二;GD32单片机有两个DMA
这段时间复习了一下内核调试系统,注意看了一下printk的实现以及内核日志的相关知识,这里做一下总结。1、问题的引出:做DPDK项目时,调试rte_kni.ko时,发现printk并不会向我们想想的那样把log信息显示在我们的终端上。有人总结了三个原因:原因1:printk()有一个控制日志级别的字段,如果该字段的日记级别高于console默认的日志级别那么才会打印出来(数值越小日志级别越高,分为
目录一、实验叙述 二、通过串口传输文件1、简单的对话2、文件的传输3、延伸一、实验叙述 将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。这里会用到一些串口通信的知识,可以参考
目录目录前言一、串口通信1、 通信方式 2、通信速率3、串口通信的三种工作方式 二、串口中断通信1、串口中断特点2、CubeMX配置初始化串口中断相关外设3、串口中断程序分析 4、实验效果三、串口DMA通信1、关于DMA2、CubeMX配置初始化DMA方式串口通信的外设 3、DMA程序分析4、实验效果展示四、参考文献五、总结前言对比串口通信的不同方式,体味串
dmesg命令是用来在Unix-like系统中显示内核的相关信息的。dmesg全称是display message (or display driver),即显示信息。实际上,dmesg命令是从内核环形缓冲区中获取数据的。当我们在Linux上排除故障时,dmesg命令会十分方便,它能很好地帮我们鉴别硬件相关的error和warning。除此之外,dmesg命令还能打印出守护进程相关的信息,已帮助我
Linux是一款开源的操作系统内核,具有广泛的应用。在Linux系统中,dmesg是一个非常有用的工具,用于查看和分析内核环缓冲区的消息。本文将介绍dmesgLinux中的功能和用法。 dmesg是一个命令行工具,用于显示内核环缓冲区的消息。在Linux系统启动过程中,内核会产生各种各样的消息,包括驱动程序加载和初始化信息、硬件检测信息、内存分配信息等。通过使用dmesg命令,用户可以轻松地查
原创 2024-01-31 00:38:56
81阅读
Linux是一个广泛应用于各种设备和系统的操作系统内核。作为Linux操作系统的一部分,dmesg命令是一个非常有用的工具,用于查看内核环缓冲区的内容。当系统启动时,内核会将一些关键信息打印到这个环形缓冲区中,通过dmesg命令,用户可以轻松查看这些信息。 在Linux系统中,dmesg命令通常用于诊断系统启动过程中发生的问题。用户只需要在终端中输入“dmesg”命令,便可以看到系统启动时的各种
原创 2024-03-04 12:30:37
109阅读
dmesg’命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构、cpu、挂载的硬件,RAM等多个运行级别的大量的系统信息。当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中。在加载的过程中会显示很多的信息,在这些信息中我们可以看到内核检测硬件设备。dmesg Command Examplesdmesg 命令的使用范例‘dmesg’命令设备故障的诊断是非常重要的。在
对于串口并不陌生,使用了N遍,总以为理解很深刻,实际上还有很多细节未知。近期在处理新的板子发现串口收发很不正常,经常少一些数据、莫名其妙数据被串改了,导致校验通不过,现象很诡异 例如存在以下几种现象,可能就是这个问题:程序在接收数据时,0x13,0x11 总是收不到。串口发送方发 0x0D,接收方收到 0x0A;串口发送方发 0x0A,接收方收到 0x0D。有时候,在用write发送数据
在大家使用keil或是iar开发stm32等arm芯片的时候,想来最不陌生的就是使用print通过串口输出一些数据,用来调试或是其他作用。但是要明确的是由于keil iar gcc 他们使用的标准C语言库虽然都遵循一个标准,但他们底层的函数实现方式都是不同的,那么在GCC中我们能否像在keil中一样重映射print的输出流到串口上呢?答案是肯定的。keil中的重映射方式及原理/* * libc
Linux系统中,dmesg是一个非常有用的命令,用来查看内核日志信息。而OOM(Out of Memory)则是一种比较头疼的问题,当系统内存不足时,会触发OOM Killer,强制杀掉一些进程以释放内存。 在Linux系统中,如果出现OOM情况,可以通过查看dmesg日志来了解具体的情况。执行dmesg命令后,可以看到系统的一些重要信息,包括内存分配、错误信息等。在日志中,如果出现了“Ou
原创 2024-04-24 10:50:10
164阅读
一、前言本文基于Linux0.01源码,分析Linux系统中的进程模型,具体包括进程的介绍、组织、转换、调度等。Linux0.0.1源码下载地址:https://mirrors.edge.kernel.org/pub/linux/kernel/Historic/ 二、进程介绍1、进程的组成:程序段、相关数据段、进程控制块(PCB)(进程存在的唯一标志)。2、进程的特征:动态性、并发行、独
1. setuid #cp /bin/sh /tmp/.sh #chmod u+s /tmp/.sh 加上 suid 位到shell上,虽然很简单,但容易被发现 2. echo "hack::0:0::/:/bin/csh" >> /etc/passwd 即给系统增加一个 id 为 0(root)的帐号,无口令。 但管理员很快
1. setuid #cp /bin/sh /tmp/.sh #chmod u+s /tmp/.sh 加上 suid 位到shell上,虽然很简单,但容易被发现  2. echo “hack::0:0::/:/bin/csh” >> /etc/passwd 即给系统增加一个 id 为 0(root)的帐号,无口令。 但管理员很快就可以发现哦!3.echo “++”&
linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便。1.命令格式:  date [参数]... [+格式]2.命令功能:date 可以用来显示或设定系统的日期与时间。3.命令参数:必要参数:%H 小时(以00-23来表示)。 
、设备文件(device)、数据接口文件(sockets)、数据输送档(FIFO、pipe)。
1.功能:打印或控制内核ring buffer中的内容。ring buffer中保存了开机信息,因此用户可以使用dmesg > boot.messages,并将boot.messages发送给任何人。配合grep使用以筛选信息。2.语法:dmesg [-c] [-r] [-n level] [-s bu
原创 2016-06-30 17:29:36
973阅读
Linux系统是一种开源的操作系统,被广泛应用于各种设备和场景中。在Linux系统中,dmesg是一个非常重要的命令,用来显示系统启动时的消息。而在使用Linux系统时,我们经常会遇到与USB设备相关的问题,因此需要了解如何通过dmesg命令来查看系统中USB设备的信息。 通过dmesg命令可以查看系统启动过程中发生的各种事件和错误信息,包括对USB设备的检测和识别过程。在Linux系统中,US
原创 2024-04-30 11:51:41
219阅读
  • 1
  • 2
  • 3
  • 4
  • 5