LINUX
文章平均质量分 56
以各种linux系统中的技巧,驱动,编程思路为出发点,深入研究linux系统。
CJourneys
cosmicjourneys:我的学习之旅就像宇宙中的浩瀚旅程,不断探索新的知识和技能。
展开
-
linux驱动总结
在Linux系统中,存在两种类型的驱动:内核中自启动的驱动和KO模块(Loadable Kernel Module,可加载内核模块)。总体来说,内核中自启动的驱动适合对系统资源要求较高、固定不变的驱动,而KO模块适合需要动态加载、管理和更新的驱动或模块。原创 2024-04-01 16:38:01 · 450 阅读 · 0 评论 -
linux系统启动流程之Init进程启动
计算机通电后,首先执行基本输入输出系统(BIOS)或统一可扩展固件接口(UEFI)中的引导程序。这个引导程序负责初始化硬件并加载引导加载程序。:引导加载程序(如 GRUB、LILO 等)被加载到内存中,它会读取配置文件(如grub.cfg)以确定应该引导哪个操作系统。引导加载程序负责加载内核和初始 RAM 磁盘(initramfs)到内存中。:引导加载程序加载 Linux 内核(通常是 vmlinuz)和 initramfs 到内存中,然后将控制权交给内核。原创 2024-04-01 15:55:15 · 672 阅读 · 0 评论 -
ADB调试简单使用
【代码】ADB调试简单使用。原创 2023-11-20 13:39:44 · 72 阅读 · 0 评论 -
linux 中的串口驱动
打开串口设备:首先需要打开串口设备文件,通常是/dev/ttyX(如/dev/ttyUSB0,/dev/ttyS0等)。可以使用open()系统调用打开串口设备文件,获取一个文件描述符。配置串口属性:打开串口后,需要配置串口的属性,例如波特率、数据位、奇偶校验、停止位等。可以使用termios库来设置串口属性。读写数据:串口配置完成后,可以使用read()和write()系统调用来进行串口数据的读取和写入。原创 2023-08-04 15:53:29 · 2168 阅读 · 0 评论 -
liunx系统应用程序段错误的寻找方法
以下是一些常用的方法:使用调试器:使用调试器,如gdb,可以更详细地调试应用程序,包括跟踪段错误。你可以在编译时使用-g选项来生成调试信息,然后使用调试器启动应用程序。当应用程序发生段错误时,调试器会停止程序,并提供有关引发段错误的位置的信息,包括源代码位置、函数调用栈等。内存检查工具:使用内存检查工具,如Valgrind,可以帮助你发现内存错误,包括段错误。Valgrind可以检测应用程序中的内存访问错误、内存泄漏等问题,并提供详细的报告以指导你进行修复。原创 2023-08-01 09:59:12 · 1239 阅读 · 0 评论 -
CAN从原理到应用
差分信号由一对电平互补的信号线组成,通常被称为正差分线(Positive)和负差分线(Negative)。正差分线携带的信号电平高时,负差分线的信号电平低;反之,正差分线的信号电平低时,负差分线的信号电平高。通过在接收端计算正差分线和负差分线之间的差值,可以还原出原始信号。原创 2023-07-18 13:05:34 · 208 阅读 · 0 评论 -
USB接口驱动从原理到应用
USB HID(Human Interface Device)是一种用于人机交互设备的USB协议,它定义了一组报告格式和通信规范,用于传输输入设备(如键盘、鼠标、游戏控制器等)的数据。设备识别:当USB HID设备插入到主机系统上时,主机会检测到设备的存在并进行识别。报告描述:USB HID设备包含有关报告格式的描述信息,通常使用HID描述符定义报告的结构和属性。该描述符定义了报告的大小、字段和数据类型等信息。报告传输:HID设备将输入数据以报告的形式发送给主机系统。每个报告由一个或多个数据包组成。原创 2023-07-17 15:03:02 · 1901 阅读 · 0 评论 -
linux中的USB摄像头驱动(应用层)(基于V4L2)
V4L2 是 Video4Linux2 的缩写,是 Linux 内核中的一个视频设备驱动接口。2.配置参数:分辨率,fps,格式 ioctl。USB-V4L2 初始化流程。3.请求分配帧缓存->地址映射。1.打开设备节点 open。原创 2021-08-19 16:14:59 · 1719 阅读 · 0 评论 -
I2C接口从原理到应用
I2C(Inter-Integrated Circuit)是一种串行通信接口,用于在集成电路之间进行数字数据传输。它由Philips(现在的NXP Semiconductors)公司在上世纪80年代开发,并已广泛应用于各种电子设备中。下面是I2C接口从原理到应用的简要介绍:原理:I2C接口基于两根线,即串行数据线(SDA)和串行时钟线(SCL设备之间通过这两根线进行双向的通信。在I2C通信中,有两种基本角色:主设备(master)和从设备(slave)。原创 2023-07-13 10:02:24 · 171 阅读 · 0 评论 -
SPI从原理到应用
(Serial Peripheral Interface)是一种,用于在微控制器、传感器、存储器和其他外围设备之间进行数据交换SPI协议使用多路单向通信方式,其中包括一个。主设备通过控制clk以及MISO、MOSICS与从设备进行通信。SPI通信基于全双工传输模式,主设备和从设备之间可以同时发送和接收数据。通信过程由主设备发起,其通过选择特定的片选线来选中从设备。数据交换通过时钟信号同步进行,主设备控制时钟的频率和极性。原创 2023-07-12 15:54:54 · 586 阅读 · 1 评论 -
liunx网络驱动-TCP(作为主机)
TCP(Transmission Control Protocol,传输控制协议)是一种常用的网络传输协议,位于网络协议栈的传输层。它为应用程序提供了可靠的、面向连接的数据传输服务。TCP通过建立连接、数据传输和断开连接等步骤来确保可靠的数据传输。它使用一种称为三次握手的机制来建立连接,其中客户端和服务器通过交换特定的控制信息来协商和确认连接的建立。一旦连接建立,TCP使用序号和确认机制来保证数据的正确性和有序性。TCP的连接可以分为长连接和短连接,它们在连接的持续时间和使用场景上有所不同。原创 2023-07-12 14:54:16 · 477 阅读 · 0 评论 -
GDB安装
选择8.3版本(交叉编译无需依赖其他库,7.x版本依赖ncurses库还需编译麻烦)原创 2021-08-12 14:52:11 · 349 阅读 · 0 评论 -
mips 平台增加 ssh支持
从编译好的openssh中复制sftp-server 到设备的/usr/libexec目录。将生成的 bin(客户端) 和 sbin(服务器端) 目录下的程序复制到设备上。将需要的库复制到lib目录下(用了新的ssl的缘故)创建目录 /etc/dropbear。添加 sftp-server。1.3修改makefile。1.2 配置config。2.1下载zlib源码。3.编译openssh。4编译drobear。原创 2021-06-15 09:31:20 · 84 阅读 · 0 评论 -
stdout(打印函数)的重定向
调用printf时,打印不再输出在终端,而在文件中。原创 2021-08-17 16:58:56 · 778 阅读 · 0 评论 -
Ubuntu 16.04 开启root用户和使用root用户登陆
4消除[Error found when loading /root/.profile]提示。打开文件后找到“mesg n”,将其更改为“tty -s && mesg n”在最后增加greeter-show-manual-login=true。在最后增加allow-guest=false。2使用root用户登陆。3关闭guest用户。原创 2020-12-31 14:45:49 · 905 阅读 · 0 评论 -
ubuntu1604虚拟机分区
后来发现,原来是swap分区的UUID号发生了变化。输入下面的命令查看swap分区的真实UUID。两个UUID不同,正好解释了为什么swap分区会挂载失败。解决方法是删除/etc/fstab文件中swap分区的UUID,再用sudo。退出Gparted 启动界面, 即关机,将CD/DVD(SATA)的项设置为不启动连接, 并移除Gparted镜像。然后再查看/etc/fstab文件中swap分区的UUID。再右键”未分配”新建扩展分区,点击Add。再右键”未分配”新建逻辑分区,点击Add。原创 2021-01-05 19:16:14 · 514 阅读 · 0 评论 -
ubuntu1604-搜狗拼音安装指南
打开 系统设置——区域和语言——管理已安装的语言——在“语言”tab下——点击“添加或删除语言”搜狗输入法已支持Ubuntu1604、1804、1910、2004、2010。sudo dpkg -i sogoupinyin_版本号_amd64.deb。回到“语言支持”窗口,在键盘输入法系统中,选择“fcitx”各系统安装步骤可能略有不同,以Ubuntu2004为例。弹出“已安装语言”窗口,勾选中文(简体),点击应用。点击“应用到整个系统”,关闭窗口,重启电脑。Ubuntu搜狗输入法安装指南。原创 2021-01-08 10:26:27 · 1791 阅读 · 0 评论 -
ubuntu1604 安装 qt 5.12.10 和 cmake-3.18.5 出现问题解决方法
根据自己的实际路径直接将libfcitxplatforminputcontextplugin.so文件拷贝至QT的 platforminputcontexts目录下,关闭QT重启即可,或者在终端输入以下命令(命令中路径按自己实际安装路径做相应修改)问题1:apt-get install libxcb-xinerama0。问题2:无法使用拼音输入法。原创 2021-01-08 10:29:18 · 441 阅读 · 0 评论 -
vmware虚拟机清理垃圾缓存
如果路径有空格,必须用双引号引起来。原创 2021-05-19 14:46:08 · 1813 阅读 · 2 评论