linux
文章平均质量分 54
wlf_go
这个作者很懒,什么都没留下…
展开
-
镜像站制作 centos8
镜像站制作 centos8原创 2022-11-16 17:32:26 · 466 阅读 · 1 评论 -
vlan 划分
2. ip link 命令格式括号内为可选内容,小写为参数,直接带入,大写的为占位符,需替换为实际的值ip link help查看可用的命令:<span style="color:#000000"><span style="background-color:#f3f4f5"><code class="language-bash">Usage: <span style="color:#795da3">ip</span> <span原创 2022-03-03 10:42:26 · 1402 阅读 · 0 评论 -
RTLinux versus RTAI
ByIsmael Ripoll(2002).License:OPL.In this document I have tried to put together the most relevant (in my opinion) characteristics of RTLinux and RTAI. I did my best, but I know there may be errors... this document do not intend to be the last word on...原创 2021-12-13 22:41:57 · 457 阅读 · 0 评论 -
pcie驱动调试心得
Device Tree Usage - eLinux.orghttps://elinux.org/Device_Tree_Usage#PCI_Address_Translationpcie 设备树介绍高手作品【原创】Linux PCI驱动框架分析(三) - LoyenWang - 博客园【原创】Linux PCI驱动框架分析(二) - LoyenWang - 博客园【原创】Linux PCI驱动框架分析(一) - LoyenWang - 博客园2.1 Device Tree.原创 2021-11-12 14:45:48 · 3046 阅读 · 0 评论 -
linux密码存储在哪里,理解linux 密码存储
1. 传统上,linux把加密(哈希)的密码保存在/etc/passwd文件中,passwd文件的格式如下:smithj:x:561:561:Joe Smith:/home/smithj:/bin/bash共7个字段,由":"分隔, 各字段的含义如下:smithj, Username, up to 8 characters. Case-sensitive, usually all lowercase加密后的密码,空表示没有密码;“x"表示密码保存在/etc/shadow文件中。N...原创 2021-07-01 17:57:39 · 6667 阅读 · 0 评论 -
arm linux库资源下载站点
1.https://archlinux.org/2.https://sourceforge.net/projects/linux-diag/files/原创 2021-06-03 09:41:38 · 709 阅读 · 0 评论 -
fixed-link 网口驱动设备树
您可以将其写为固定链接,而不是在没有时指定&phy0fixed-link = <0 1 1000 0 0>;其中0是模拟PHY ID,1->全双工,速度是1000 Mb / s。您还需要禁用交换机端口6所连接的处理器端口的自动协商。ps7_ethernet_0: ps7-ethernet@e000b000 { #address-cells = <1>; #size-cells = <0>; clock-n原创 2021-05-06 09:48:09 · 2873 阅读 · 0 评论 -
Linux kernel 有关 spi 多个片选设备树参数解析
一、最近做了一个 spi 设备驱动从板级设备驱动升级到设备树设备驱动,这其中要了解 spi 设备树代码的解析。 二、 设备树配置如下: 503 &spi0 { 504 status = "okay"; 505 pinctrl-name = "default"; 506 pinctrl-0 = <&spi0_pins>; 507 ti,pindir-d0-out-d1-in; ...原创 2021-04-28 18:35:26 · 3111 阅读 · 0 评论 -
Vim配置
安装vim命令:sudo apt-get install vim在已经安装vim后,打开vim配置文件,打开方式如下:1、切换到当前用户的工作路径~$ cd currentpath2、打开配置文件~$ vim .vimrc接下来我们就开始对vim进行配置(一个完整的.vimrc配置信息如下所示)set nocompatibleset numberfilety...转载 2019-12-03 11:09:31 · 417 阅读 · 0 评论 -
Linux下的多线程编程二(线程的同步与互斥)
一、什么叫做线程的同步与互斥?为什么需要同步与互斥?1、同步与互斥互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。...原创 2018-09-11 15:46:43 · 285 阅读 · 0 评论 -
深入理解Linux网络技术内幕-设备注册和初始化(二)
NIC注册和注销的通用架构 Linux系统中NIC网络设备驱动程序利用网络代码进行注册和注销有其通用的架构,这里以PCI Ethernet NIC为例,其他设备类型只是所以函数名称和调用方式不同,主要依据于设备总线提供的接口。其中(a)为设备注册的大致流程图,而(b)为设备注销的流程图。 在PCI Ethernet NIC设备驱动程序的探测函数(热插拔设备)或模块初始化...转载 2018-05-11 17:25:34 · 225 阅读 · 0 评论 -
深入理解Linux网络技术内幕-设备注册和初始化(三)
net_device结构是一个非常庞大的数据结构,其中的字段包含了从硬件层、网络层和传输层等各种功能涉及的参数,因此,其初始化也是分批由不同的函数完成的,相当于每个函数负责其中相关联的一些子集字段,大致分为:设备驱动程序:完成与硬件配置相关的IRQ、I/O内存以及I/O端口等字段通用设备类型:对同一类设备的一些共性字段由内核实现的通用类型初始化函数完成,如ether_setup、...转载 2018-05-11 17:26:26 · 313 阅读 · 0 评论 -
深入理解Linux网络技术内幕-设备注册和初始化(四)
在内核中,网络设备通过函数register_netdev和unregister_netdev在内核中注册和注销,这两个函数对实际操作函数register_netdevice和unregister_netdevice进行封装,在调用这两个函数之前负责上锁。 在分析网络设备的注册状态改变时,注销时多了一个NETREG_UNREGISTERING状态,这个状态表示...转载 2018-05-11 17:27:18 · 2077 阅读 · 0 评论 -
深入理解Linux网络技术内幕-设备注册和初始化(五
网络设备在系统中注册、注销和关闭、打开等事件都可以通知给相应的内核组件或用户空间应用程序,其中内核组件通过netdev_chain通知链获取消息,而用户空间应用程序则通过注册Netlink RTMGRP_LINK多播群组获取事件消息。 内核组件关联的netdev_chain通知链 前面已经介绍过通知链的使用方法,主要是需要了解网络设备事件消息的内核...转载 2018-05-11 17:28:14 · 1225 阅读 · 0 评论 -
优秀博主
https://www.cnblogs.com/little-monkey/p/8126619.htmlc/c++(31) C++ Primer Plus(第6版 中文版)(19) opencv(43) Python(5) Python数据分析与挖掘实战(8) 数据分析笔记(7)DMA驱动https://blog.csdn.net/W1107101310/article/det...原创 2018-05-11 17:30:33 · 531 阅读 · 0 评论 -
使用ti am437x-gp-evm的内核和设备树文件,可以在ricoboard上正常启动,但是测试/sys/class/gpio/出现问题???
如题所示,我通过ti的sdk包,编译生成了am437x-gp-evm的内核文件zImage和设备树文件,但是我通无法控制ricoboard引脚高低电平。测试如下:echo 13 > /sys/class/gpio/exportecho out > /sys/class/gpio/gpio13/directionecho 1 > /sys/class/gpio/gpio13/val...原创 2018-06-06 20:40:49 · 745 阅读 · 0 评论 -
导出查找的内容
find 是我们很常用的一个Linux命令,但是我们一般查找出来的额并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。 exec解释: -exec 参数后面跟的是 command 命令,它的终止是以“;”为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。 {} 花括号代表前面find查找出来的文...原创 2018-06-22 11:34:59 · 470 阅读 · 0 评论 -
设置非阻塞socket收发数据
非阻塞式I/O包括非阻塞输入操作,非阻塞输出操作,非阻塞接收外来连接,非阻塞发起外出连接。包括的函数有:read, readv, recv, recvfrom, recvmsg, write, writev, send, sendto, sendmsg, accept。 将socket 设置为非阻塞模式有三种方法: (1)创建socket的时候,指定socket是异步的,...转载 2018-07-20 11:21:53 · 5714 阅读 · 0 评论 -
linux几种定时函数的使用
Linux定时函数介绍: 在程序开发过程中,我们时不时要用到一些定时器,通常如果时间精度要求不高,可以使用sleep,uslepp函数让进程睡眠一段时间来实现定时,前者单位为秒(s),后者为微妙(us);但有时候我们又不想让进程睡眠阻塞在哪儿,我们需要进程正常执行,当到达规定的时间时再去执行相应的操作,在linux下面我们一般使用alarm函数跟setitimer函数来实现定时...原创 2018-08-08 10:43:28 · 299 阅读 · 0 评论 -
linux系统运维
一、学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Linux中用户管理命令/系统相关命令/文件目录相关命令/打包压缩相关命令/比较合并相关命令/网络相关命令等 4. 熟练应用“搜索”进行举一反三的学习 二、学习资源 1. ...转载 2018-08-16 18:26:17 · 5591 阅读 · 1 评论 -
linux 使用c在tcp socket服务器端获取客户端ip
#include <sys/socket.h>#include <arpa/inet.h> .........struct sockaddr_in sa;int len;.........len = sizeof(sa);if(!getpeername(sockconn, (struct sockaddr *)&sa, &len)...原创 2018-08-22 15:07:21 · 6178 阅读 · 0 评论 -
【数据结构】高效双向链表list、树tree(二叉树)
vi正常模式下:"shift + g" 跳到最后一行"gg" 跳到第一行<效率更高的双向链表结构代码> /*代码*/ 01link.c #include <stdlib.h> #include "01link.h" //链表初始化 void link_init(Link *p_link) { p_li...原创 2018-08-21 14:03:12 · 388 阅读 · 0 评论 -
深入浅出 TCP/IP 协议栈
TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构,分别是应用层、传输层、网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求。由于我们大部分时间都工作在应用层,下层的事情不用我们操心;其次网络协议体系本身就很复杂庞大,入门门槛高,因此很难搞清楚TCP/IP的工作原...转载 2018-08-21 15:02:00 · 157 阅读 · 0 评论 -
深入理解Linux网络技术内幕-设备注册和初始化(一)
NIC设备在内核中相关联的net_device结构初始化,并添加到内核网络设备数据块中注册之后,用户才能通过用户空间的命令开启设备,使其可用。设备的注册和注销是由内核完成的,而设备的开启和关闭是由用户控制的。网络设备注册的触发事件:加载NIC设备驱动程序:若NIC设备驱动程序编译到内核中,则驱动程序将在系统引导期间初始化;若以模块加载的方式,则会在系统运行期间初始化。每当设备驱动程序初始化时,该驱...转载 2018-05-11 17:22:26 · 457 阅读 · 0 评论