linux
robin.L
物来顺应,未来不迎,当时不杂,既过不恋!
展开
-
U盘测试读写速度
## 挂载U盘mount -t vfat /dev/sda1 /var/sdcard ## 测试写入100MB速度sync;time dd if=/dev/zero of=/var/sdcard/largefile bs=10k count=10240;time sync ## 测试读取100MB速度 (清除缓存)sync;echo 3 > /proc/sys/vm/drop_caches;time dd if=/var/sdcard/largefile of=/dev/null bs.原创 2020-07-04 09:12:12 · 1750 阅读 · 0 评论 -
Linux SD/MMC/SDIO驱动分析(转)
Linux SD/MMC/SDIO驱动分析一、SD/MMC/SDIO概念区分SD(SecureDigital)与MMC(MultimediaCard)SD是一种flash memory card的标准,也就是一般常见的SD记忆卡,而MMC则是较早的一种记忆卡标准,目前已经被SD标准所取代。在维基百科上有相当详细的SD/MMC规格说明:[http://zh.wikipedia.org/wiki/Secure_Digital]。SDIO(SecureDigital I/O...原创 2020-06-14 17:22:46 · 845 阅读 · 0 评论 -
iptables的内核配置
CONFIG_PACKET - 允许程序直接访问网络设备(译者注:最常用的就是网卡了),象tcpdump 和 snort就要使用这个功能。严格地说,iptables并不需要CONFIG_PACKET,但是它有很多用处(译者注:其他程序需要),所以就选上了。当然,你不想要,不选就是了。(译者注:建议还是选的为好)CONFIG_NETFILTER - 允许计算机作为网关或防火墙。这个是必需的,因为整篇文章都要用到这个功能。我想你也需要这个,谁叫你学iptables呢:)当然,你要给网络设备安装正确的原创 2020-05-26 19:58:21 · 2843 阅读 · 0 评论 -
Linux-gdb-段错误调试
Linux-gdb-段错误调试Gdb 是一个超级强大的工具,经常在 Linux 平台的内核开发与应用程序开发当中看到它的身影。由于它的命令集极其庞大,本文就不针对具体的命令进行介绍,而是根据具体的问题场景进行一次使用总结,我最常用来调试的是段错误一类的场景,这里就取一个例子进行总结。。段错误类属于泛指,其实包括 SIGBUS、SIGSEGV 等类型的错误,或者是程序运行到某一段之后出现崩溃导致程序退出的问题。通常情况下使用一些 log 工具集成到代码里面也可以查出段错误类发生时刻的函数调用.原创 2020-05-24 15:29:55 · 830 阅读 · 0 评论 -
CMake Error: Could not find CMAKE_ROOT !!!
ubuntu安装最新cmak时候出现以下错误root@linux:/home/root/cmake-3.17.2# cmake --versionCMake Error: Could not find CMAKE_ROOT !!!CMake has most likely not been installed correctly.Modules directory not found in/usr/local/binSegmentation fault (core dumped)解决方法原创 2020-05-10 10:30:05 · 1181 阅读 · 0 评论 -
海思kernel异常反汇编定位
加载驱动时候内核打印报错PC is at ssp_lcd_ioctl+0x5c/0x84 [hi_ssp_ota5182]LR is at do_vfs_ioctl+0xb0/0x8ecpc : [<bf8aa364>] lr : [<c01f031c>] psr: 80000013sp : ccbbdef8 ip : 00000003 fp : ...原创 2020-04-11 10:50:55 · 732 阅读 · 0 评论 -
编译驱动时候报错 WARNING: "__aeabi_d2uiz" undefined!
WARNING: "__aeabi_d2uiz" [xxx.ko] undefined!WARNING: "__aeabi_dmul" [xxx.ko] undefined!WARNING: "__aeabi_ddiv" [xxx.ko] undefined!WARNING: "__aeabi_ui2d" [xxx.ko] undefined!原因:为了进度当时使用了浮点数除法报错,网...原创 2020-04-08 14:11:31 · 1883 阅读 · 1 评论 -
Linux下进程重命名的 prctl函数
有时候调试多线程时候,特别有时候查找cpu占有率的问题时候,不知道哪个线程占有,不好查找。#include <sys/prctl.h>int prctl(int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5);option:PR_GET_PD...原创 2020-04-01 10:10:23 · 1096 阅读 · 0 评论 -
编译驱动警告 warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
ISO C90禁止将变量声明和代码混合使用,具体表现为在语句后面声明变量。原创 2020-03-26 15:02:28 · 1814 阅读 · 1 评论 -
wpa_supplicant
官网: http://w1.fi/wpa_supplicant/wpa_supplicant是一个连接、配置WIFI的工具,它主要包含wpa_supplicant与wpa_cli两个程序。通常情况下,可以通过wpa_cli来进行WIFI的配置与连接,如果有特殊的需要,可以编写应用程序直接调用wpa_supplicant的接口直接开发。启动wpa_supplicant应用$ wpa_su...原创 2020-03-15 11:50:35 · 177 阅读 · 0 评论 -
VID PID -List of USB ID's(一)
## List of USB ID's## Maintained by Stephen J. Gowdy <linux.usb.ids@gmail.com># If you have any new entries, please submit them via# http://www.linux-usb.org/usb-ids.html# or send entrie...原创 2020-02-29 10:46:51 · 64227 阅读 · 0 评论 -
Hi3519AV100 内核编译错误 ./lib/build_OID_registry line 14
Can't locate strict.pm in @INC (@INC contains: /tmp/ndk-andrewhsieh/build/perl/prefix/lib/site_perl/5.16.2/x86_64-linux /tmp/ndk-andrewhsieh/build/perl/prefix/lib/site_perl/5.16.2 /tmp/ndk-andrewhsieh...原创 2020-02-28 09:04:46 · 891 阅读 · 0 评论 -
shell 脚本 xargs rm -f
makefile里面可以通过find 查找特定的名字来删除特定的文件,比较方便。通过 xargs rm -f可以把find命令查找到的结果删除clean: @rm $(PCIE_MCC_TOPD)/out/* -f @find $(PCIE_MCC_TOPD) -name '*.o' -o -name '.*.cmd' | xargs rm -f @find $(P...原创 2020-02-26 09:22:10 · 4341 阅读 · 0 评论 -
./TestSerialReadWrite: line 1: syntax error: unexpected word (expecting ")")
编译命令arm-himix200-linux-gcc -c TestSerialReadWrite.c -o TestSerialReadWrite运行就会报如上错误,可是去掉-c就可以正常运行。通过查询如下-c 编译、汇编到目标代码,不进行链接-o <文件> 输出到 <文件>...原创 2020-02-24 17:48:37 · 310 阅读 · 0 评论 -
find和grep区别
在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。使用方法:grep --he...原创 2019-12-30 10:29:21 · 6062 阅读 · 0 评论 -
tar & split 使用
tar cjf - Hi3519AV100_SDK_V2.0.2.0 |split -b 1024m - Hi3519AV100_SDK_V2.0.2.0.tar.bz2.cat Hi3519AV100_SDK_V2.0.2.0.tar.bz2.* | tar -xv原创 2019-12-05 11:25:28 · 194 阅读 · 0 评论 -
修改系统时区 /etc/localtime
使用 /etc/localtime 文件修改时区先查看一下当前的时区,下面这个例子中使用UTC即世界统一标准时区。假设你可能需要改为美国西部标准时间,即太平洋时间。# dateThu Aug 17 22:59:24 UTC 2016在某些发行版的 Linux 系统(比如CentOS)中,系统时区是由/etc/localtime文件控制的,所以可以通过修改/etc/l...原创 2019-11-15 23:16:25 · 20777 阅读 · 1 评论 -
Linux - send 出现 Resource temporarily unavailable
1.前言主机和AI设备通讯时候,通过send发送小数据,发送和接受都正常。可是发送YUV数据时候,一帧720P数据大概1.3M左右,发送时候就会报错Resource temporarily unavailable错误,只发送了一帧的部分数据,导致该帧数据不完整,无法使用。通过错误码查找,是由于发送缓存池满导致的。2.代码int Send(int handle, unsigned ch...原创 2019-11-09 13:30:15 · 9077 阅读 · 0 评论 -
数据包转发功能/proc/sys/net/ipv4/ip_forward
/home # cat /proc/sys/net/ipv4/ip_forward0出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送数据包。配置Linux系统的ip转发功能,首先保证硬件连通,然后打开系统的转发功能cat /proc/sys/net/i...原创 2019-11-07 19:13:33 · 834 阅读 · 0 评论 -
mkdir命令
mkdir命令用来创建指定的名称的目录,要求创建用户在当前目录具有权限,并且制定的目录名不能是当前目录中已有的目录。mkdir [选项] [目录]命令参数-m --mode=模式,建立目录的时候同时设置目录的权限;-p --parents 若所建立的上层目录目前尚未建立,则会一并建立上层目录;-v --verbose 每次创建新目录都显示信息-h --help 帮助信息#...原创 2019-10-29 10:55:09 · 591 阅读 · 1 评论 -
海思烧写32M flash流程
烧写整个flash1. 单板上电后,敲 CTRL+C键,进入u-boot2、关闭开门狗3、设置IP地址setenv ipaddr 192.168.1.217setenv serverip 192.168.1.36ping 192.168.1.364、打开tftp.exe5、擦除和下载到内存中mw.b 0x82000000 ff 0x2000000;tftp 0x82...原创 2019-10-28 18:44:20 · 1012 阅读 · 0 评论 -
tar --exclude用法
有时候我们压缩文件时,不希望把该文件下的某个文件夹或文件压缩进去,我们可以使用tar --exclude命令。可是该命令文件夹路径写法需要特别注意,明明加了--exclude,可是还是把不想压缩的压缩进去了。1、我们以一个文件夹为例,如下结构[pc@localhost tar_test]$ ls -a. .. 1.txt 2.txt 3.txt 4.txt .svn[pc...原创 2019-10-25 09:22:05 · 15648 阅读 · 1 评论 -
mount -o remount,rw /mnt/app
mount -o remount,rw /mnt/app对只有Read-only filesystem的文件,可以改为为可写、可读权限,即系统重新挂载一下,可以修改该文件夹下的文件了。/ # mount/dev/mtdblock3 on /mnt/app type jffs2 (ro,relatime)/ # / # / # / # / # mount -o remount,...原创 2019-10-25 08:52:00 · 1920 阅读 · 1 评论 -
Linux下ifconfig、route和netstat
1、ifconfig命令 ifconfig eth0 192.168.0.79 netmask 255.255.255.0 route add default gw 192.168.0.254 ifconfig eth0 up2、route命令查看路由 route -n 增加路由route add -net 9.123.0.0 netmask 255.255...原创 2019-06-26 18:07:56 · 737 阅读 · 0 评论 -
udev和mdev hotplug事件
udev和mdev hotplug事件关于udev和mdev之间的区别与联系我发现自己现在还没有把它完整的给区分开来和联系起来. 设备文件系统有devfs,mdev,udev mdev是udev的简化版本,是busybox中所带的程序,最适合用在嵌入式系统,而udev一般用在PC上的linux中,相对mdev来说要复杂些,devfs是2.4内核引入的,而在2.6内核中却被...原创 2019-06-27 16:37:58 · 425 阅读 · 0 评论 -
linux设备模型十四(hotplug和mdev使用)
linux设备模型十四(hotplug和mdev使用)版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_16777851/article/details/89407658mdev有两个主要的用途:初始化常用设备和动态更新。这两个用途都要需要内核的sysfs的支持并且需要把sysfs挂载到/sys。对于动态更新来说,你也需要开启内核的热...转载 2019-06-27 16:44:29 · 339 阅读 · 0 评论 -
FTP:文件传输协议(指令及响应代码)
文件传输协议(FTP)使得主机间可以共享文件。 FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。控制连接使用类似 TELNET 协议在主机间交换命令和消息。 FTP 的主要功能如下:提供文件的共享(计算机程序 / 数据); 支持间接使用远程计算机; 使用户不因各类主机文件存储器系统的差异而受影响; 可靠且有效的传输数据。 FT...原创 2019-09-10 16:29:24 · 1113 阅读 · 0 评论 -
WG225驱动WIFI和BT命令
.config位kernel配置hi3559av100.dtsi是kernel dts配置sys_config.c是pinmux设置驱动合并后重新编译rootfs是打包好的镜像以下是wifi bt操作命令wifi:insmod /lib/modules/8821cs.koifconfig eth0 downifconfig wlan0 uphostapd /etc/hosta...原创 2019-09-16 15:01:44 · 3075 阅读 · 0 评论 -
在linux中挂载磁盘ext3和ext4之间的区别
https://blog.csdn.net/zhaoyoulin2016/article/details/80221101Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。 Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有...原创 2019-10-11 17:51:10 · 813 阅读 · 0 评论 -
linux-IPC(共享内存)
Linux 信号量 shmget();shmctl();shmat();shmdt()函数 用法 顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是...原创 2019-03-26 19:16:19 · 102 阅读 · 0 评论 -
用户配置文件/etc/passwd和密码配置文件/etc/shadow详解
一,用户配置文件和密码配置文件认识/etc/passwd和/etc/shadow这两个文件可以说是Linux系统中最重要的文件之一。如果没有这两个文件或者这两个文件出了问题,则无法正常登录系统。二, 解说用户配置文件/etc/passwd注:每创建一个用户都会在这个文件里面增加一行记录。[root@localhost ~]# cat /etc/passwdroot:x:0:0:ro...原创 2019-06-11 18:40:52 · 4835 阅读 · 0 评论 -
linux /sys目录下各个子目录的具体说明
/sys下的子目录内容# ls /sys/block class firmware kernel powerbus devices fs module---------------------------------------------------------------------------------------...原创 2019-06-20 10:19:59 · 817 阅读 · 1 评论 -
【磁盘管理】linux获取块设备挂载信息
linux获取块设备挂载信息1、函数介绍头文件#include<stdio.h>和#include<mntent.h>(1)setmntent:打开文件系统描述文件的文件名,并且返回可以被使用的文件指针getmntent().其函数原型为:FILE * setmntent(const char * filename ,const char * type )...原创 2019-04-22 14:22:32 · 1067 阅读 · 0 评论 -
【磁盘管理】linux获取块设备大小几种方法
linux获取块设备大小几种方法1、lseek#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <sys/types.h>#include <sys/stat.h>#include <sys/ioctl.h>#include ...原创 2019-04-22 14:20:30 · 1690 阅读 · 0 评论 -
海思常用一些调试指令
1、4G的AT指令调试 echo -e "AT+CGDCONT?\r\n" >/dev/ttyUSB2|cat /dev/ttyUSB22、海思模块日志打印 cat /proc/umap/vi | grep "VI PIPE STATUS" -A 103、nfs挂载 mount -t nfs -o nolock 192.168.0.202:/h...原创 2019-04-22 09:05:45 · 3564 阅读 · 0 评论 -
使用 udev 高效、动态地管理 Linux 设备文件(转)
概述:Linux 用户常常会很难鉴别同一类型的设备名,比如 eth0, eth1, sda, sdb 等等。通过观察这些设备的内核设备名称,用户通常能知道这些是什么类型的设备,但是不知道哪一个设备是他们想要的。例如,在一个充斥着本地磁盘和光纤磁盘的设备名清单 (/dev/sd*) 中,用户无法找到一个序列号为“35000c50000a7ef67”的磁盘。在这种情况下,udev 就能动态地...原创 2019-04-16 08:54:49 · 169 阅读 · 0 评论 -
linux下获取网卡实时速率 /proc/net/dev
1、前言 针对安防行业,实时通过4G上传实时码流推送到监控中心,网络带宽好的时,上传一定分辨率和码率的实时流,通过RTP协议上传到监控中心,可以实时观看,延迟不大;但是当网络不好时,再上传固定码流和分辨率下,监控中心延迟非常大,那么怎么能动态改变分辨率和码率实时上传码流,监控中心实时观看呢。目前可通过/proc/net/dev 来获取实时发送和接收状态,从而可以有效监控和改变分辨...原创 2019-04-12 16:58:57 · 6676 阅读 · 1 评论 -
McbXML纯C语言xml解析器linux移植和用法
McbXML纯C语言xml解析器linux移植和用法1、源码下载 源码链接McbXML2、海思环境编译原创 2019-03-28 18:24:58 · 324 阅读 · 0 评论 -
linux-IPC(消息队列)
linux消息队列消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。Linux用宏MSGMAX和MSGMNB来限制一条消息的最大长度和一个队列的最大长度。1、头文件2...原创 2019-03-26 19:19:05 · 595 阅读 · 0 评论 -
linux-IPC(信号量)
Linux 信号量 semget();semctl();semop()函数 用法1、函数头文件#include <sys/types.h>#include <sys/ipc.h>#include <sys/sem.h>2、semget函数原型int semget(key_t _key ,int _nsems,int _semflg)...原创 2019-03-26 19:14:11 · 205 阅读 · 0 评论