linux
qqliyunpeng
努力天天有收获,努力将知识都记下来。
展开
-
i2c-tools 使用集锦
1. 简介 i2c-tools 是linux的一个工具,使用他,可以在命令行进行 i2c/SMBus 设备的用户层访问。2. 实例2.1查看某总线上所有 i2c adapter:> i2cdetect -l2.2 罗列出每个 adapter 上设备地址的有效性> i2cdetect -y <num>这个例子中 标记UU 的,表示这个地址上有个设备是有效的。即,当向这个地址发送询问时有应答。这个例子中有三个地址是有效的,0...原创 2020-06-25 17:08:21 · 3440 阅读 · 0 评论 -
linux下应用程序检测usb口热插拔事件
1. 简介usb口的检测在linux中可以通过mdev/udev热插拔机制来检测,相应的,我们只需要更改配置文件中规则即可,但是实际中,有的时候应用程序就是需要知道事件发生了,并做一些动作,该如何做呢?使用 netlink 的方式。2. 程序/* Kernel Netlink */int CUSBListener_initSock(){ const int buff...原创 2020-03-31 17:41:33 · 3581 阅读 · 0 评论 -
移植 ssh
1. 简介 ssh是远程登陆的一种,在服务器端开启sshd,远程就可以通过ssh协议登陆服务器。同ssh一起的自带sftp子线程,可以实现文件的传送。ssh 同 telnet 相比,是一种加密传输,相对安全。2. 移植2.1编译zlib./configure --prefix=/home/ohehe/wor_lip/porting/ssh/install/zlib ...原创 2020-03-09 10:18:15 · 777 阅读 · 0 评论 -
测试存储设备读写速度
1. 简介当我们拿到一个硬盘时,我们需要首先掌握他的性能,在windows下找专门的图形化的工具进行,这篇文章主要讲解在linux环境下如何测试硬盘的读写速度。2. dd命令2.1 dd简介dd -- 转换(根据操作符)并拷贝一个文件在指定块大小的时候,后边会跟特殊字符来表示单位,分别如下:b = 512 c = 1 k = 1024 w = 22.2 ...原创 2020-01-20 17:33:25 · 1442 阅读 · 0 评论 -
xargs 命令 - linux
作者: 李云鹏(qqliyunpeng@sina.cn) 版本号: 20170107 更新时间: <2017-01-07> 原创时间: <2017-01-06> 版权: 本文采用以下协议进行授权,自由转载 - 非商用 - 非衍生 - 保持署名 | Creative Commons BY-NC-ND 3.0,转载请注明作者及出处.一、Linux 内核的 Makefile 中有这样一句:head原创 2016-03-21 18:02:26 · 812 阅读 · 0 评论 -
linux 内核中的 bitmap
linux 内核中的 bitmap原创 2016-11-30 20:07:03 · 11610 阅读 · 1 评论 -
linux内核中的list
本文详细分析了 3.4.112 内核中链表结构的实现,并通过图像和实例进行了详尽的讲解。原创 2016-12-26 20:56:58 · 11106 阅读 · 0 评论 -
系统学习ARM之二 --ARM指令集
arm指令的介绍原创 2015-09-28 21:52:54 · 1452 阅读 · 0 评论 -
ARM中的---汇编指令
一. 带点的(一般都是ARM GNU伪汇编指令)1. “.text”、“.data”、“.bss”依次表示的是“以下是代码段”,“以下是初始化数据段”,“以下是未初始化数据段”。2.".global"定义一个全局符号,通常是为ld使用。比如经常看到的.global _start3.".ascii"、".byte"、".short"、".int"、".原创 2015-04-19 00:06:46 · 28992 阅读 · 3 评论 -
linux的交叉编译工具说明
介绍嵌入式开发中的 交叉编译工具 的来源原创 2016-10-12 13:06:32 · 823 阅读 · 0 评论 -
linux 中的库
1. 库:本质上来说是一种可执行代码的二进制形式。linux下的库有两种:静态库和动态库(共享库)1.1 静态库:在程序编译时被连接到目标代码中,程序运行时,将不再需要该静态库,因此体积较大。优点:程序运行时将不再需要该静态库缺点:可执行文件的体积变大。后缀是 .a1.2 动态库:编译时不连接到代码中,在运行时才载入,因此程序运行时还需要动态库存在,因此代码体积较小。优点:在程序运行时才被载入原创 2016-07-06 12:54:03 · 658 阅读 · 0 评论 -
linux中的vi命令
linux的重要的几个命令如下:①,搜寻相关1,/向游标之下搜寻/后边的字比如/work,在文中搜寻work。2,?向游标之上搜寻3,n重复前一个搜寻的动作4,N与n的搜寻方向相反,方向搜寻上一个动作②,复制粘贴相关1,x或者X-删除x是向后删除一个字元,如同delX是向前删除一个字元,如同backspace2,nx连原创 2015-06-03 23:17:15 · 1150 阅读 · 0 评论 -
kthread_worker 和 kthread_work
介绍linux内核中的线程,kthread_work和kthread_worker原创 2017-01-06 19:23:16 · 3657 阅读 · 0 评论 -
linux 基本命令
linux命令的索引界面原创 2017-01-24 10:34:40 · 560 阅读 · 0 评论 -
du 命令 - linux
介绍linux中的du命令原创 2017-01-24 10:31:12 · 541 阅读 · 0 评论 -
linux find的用法
linux中的find命令原创 2015-06-11 11:14:45 · 4003 阅读 · 0 评论 -
开发板设置静态ip的方法
开发板设置静态ip和linux设置静态ip是一个问题。1. 更改网络接口配合文件具体位置在 /etc/network/interfaces在最后,或者找到auto eth0,我们将auto eth0iface eth0 inet dhcp更改成iface eth0 inet static address 192.168.1.xx netmas原创 2017-06-06 17:14:02 · 12073 阅读 · 2 评论 -
linux开机启动挂载mmc错误解决
1. 简介: 项目中用am3359从TF卡的reiser文件系统转到ext4文件。转化原因是reiser文件系统的官网都没有了,还有文章提到reiserfs4的代码风格不符合linux代码风格,因此,linux不再主动将reiserfs的代码融合到linux中,即使reiserfs开发团队说会提供linux内核的补丁,但是,在查找网络上的文章的时候,资料实在是少,也不知道是不是网原创 2017-06-27 11:07:51 · 26141 阅读 · 0 评论 -
向ramdisk类的镜像文件中添加内容
1. 简介 Ramdisk是虚拟内存盘的意思,是通过软件将一部分的内存模拟成硬盘来使用的一种技术,相对于直接的硬盘文件访问来说,速度提升了,但缺点是你对ramdisk的文件系统中的所有操作,在重启后都是失效的。失效的这点不包括系统启动后将存储介质挂载到某个目录下的文件。2. 问题描述 在跟进公司原有系统的时候,发现有的嵌入式系统的根文件目录采用了ram...原创 2017-07-21 10:03:41 · 1259 阅读 · 0 评论 -
iconv库的移植
1. 需求 如果你在系统中涉及到字符编码集的时候,比如网页端一般使用字符编码是 utf-8,迪文屏一般支持的字符编码是 GB2312...对于字符编码间的转换在一些时候是一个绕不过的坎。那此篇文章对你可能有所有帮助。 如果你的程序在ubuntu中,在程序中包括 #include <iconv.h>,使用iconv集就能正常实现字符编码的转换,但如果是在arm板中,简...原创 2018-07-17 23:35:39 · 3234 阅读 · 0 评论 -
嵌入式 arm 中抓包:tcpdump移植
1. 简介 在网络编程中经常设计到网络数据的抓取,在linux和windows下有好用的wireshark,在arm中有tcpdump,tcpdump通过生成数据包的文件,通过ftp下载到windows或者linux下,再采用wireshark打开文件进行分析。这便是这篇文章要介绍的。2. 移植2.1 在编译环境中安装libpcaplibpcap 的源码在 tcpdump官网...原创 2018-08-02 21:49:23 · 5264 阅读 · 0 评论 -
实现 linux 终端上不同字体颜色显示
一、介绍: 在linux终端上如果调试程序,有不同的颜色来显示不同级别的信息,那看起来应该是一件赏心悦目的感觉,也有点高大上的感觉,今天就讲讲 在linux终端上输出不同颜色字体的实现。原创 2016-03-27 15:02:36 · 3485 阅读 · 0 评论 -
Linux 内核中的 kconfig 原理
linux中的 make menuconfig 出来的图形界面来配置内核,这种方法很是方便,今天我们就来分析下内核源码中是怎么实现它的。1. 第一步:配置生成 .conf当我们执行 make menuconfig 的时候,调用的是 scripts/kconfig/Makefile 文件中对 menuconfig 的定义:menuconfig: $(obj)/mconf $< $(silen原创 2016-03-11 18:19:37 · 9440 阅读 · 4 评论 -
errno
1. perror打印信息,能够用下面的方法找到宏来与之相对应。在/usr/include 下用vi -t ""的方式查找EEXIST可以用if(errno == EEXIST)等的方法来避免2. strerror(errno),能够将errno所对应的错误信息转换成字符串原创 2015-08-24 13:00:27 · 718 阅读 · 0 评论 -
linux中的grep命令用法
[Linux初窥]grep -- print lines matching a pattern (将符合样式的该行列出)原文=请移驾:http://blog.csdn.net/greytree/article/details/428532grep -- print lines matching a pattern (将符合样式的该行列出)◎语法: grep [options原创 2015-06-02 22:34:44 · 5676 阅读 · 0 评论 -
u-boot-2012.04.01移植笔记——支持NAND启动
1、加入nand读写函数文件:对于nand的读写我们需要特定的函数,之前写最小bootloader的时候曾写过nand.c文件,我们需要用到它。为了避免混淆,我们先将其改名为init.c,然后拷贝到:board\samsung\smdk2440目录下。并在本目录的Makefile文件中将COBJS := smdk2410.o修改为:COBJS := smdk2410.o init.o。原创 2015-06-12 22:42:45 · 737 阅读 · 0 评论 -
调试jz2440生成特定后缀的命令
生成dis命令:arm-linux-objdump -D u-boot> u-boot.dis原创 2015-06-05 23:25:09 · 604 阅读 · 0 评论 -
jz2440烧写方法笔记
1,jz2440用dnw烧写普通程序的步骤是:①选择将uboot烧写到nor flash或者是nand flash中②打开dnw,选择要烧写的程序,注意不是uboot,是你要烧写的程序,他将所有的程序都认为是uboot。2,使用tftp的方法:前期准备在nor flash中的uboot竟如menu后按q进入命令行,然后使用help tftp可以查看使用tftp的方法,用到的原创 2015-05-15 21:49:04 · 1510 阅读 · 0 评论 -
uboot启动流程
uboot是嵌入式中的bootloader,它之所以庞大是因为加入了调试部分,即命令行。以s3c2410为例启动过程和内存的分配过程如下:原创 2015-05-11 22:43:00 · 661 阅读 · 0 评论 -
S3C2440的内存情况在NAND FLASH或者NOR FLASH启动的情况下
1,从NANDFLASH启动时,在ARM上电时,ARM会自动把NANDFLASH前4K的内容拷贝到S3C2440内部SRAM中,同时把SRAM的地址映射到0X00000000。ARM上电后会从SRAM处开始运行。2,从NOR FLASH启动时,因为NORFLASH接在bank0。地址映射是0X00000000。所以ARM上电后直接运行NORFLASH里的程序。此时S3C2440内部SRAM原创 2015-04-20 18:08:41 · 2160 阅读 · 0 评论 -
bootloader的移植
jz2440开发板在介绍bootloader里边的内容的时候,需要知道的是:bootloader的引入的目的就是启动linux内核,一个简单的bootloader编写需要以下的步骤:①初始化硬件:关看门狗、设置时钟、设置SDRAM、初始化NAND FLASH②把内核从NAND FLASH独到SDRAM③保存要传给内核的参数到指定的位置④跳转执行内核有的时候,会遇原创 2015-04-19 00:25:18 · 2798 阅读 · 2 评论 -
如何用nfs命令烧写内核和文件系统(网络下载文件到nandflash)(未完)
使用tftp下载烧写a、设uboot里的ip地址set ipaddr 192.168.1.17(uboot的ip设置成同网段)set serverip 192.168.1.5(电脑本机作为服务ip)然后保存设置saveb、将u-boot下载到nor flash中30000000去nand erase bootloader(擦除nand flash)nand wr原创 2015-03-18 21:54:43 · 1856 阅读 · 0 评论 -
Ubuntu新装系统要装软件
1. 在虚拟机中新安装系统的时候,通常因为时间过了很长,软件有更新之后,安装vim的时候会出错,因此,装完系统先要做的:cd /var/lib/dpkg/updates/lssudo apt-get update sudo apt-get upgrate//更新最新的套件资讯2. 新装的系统使用的是vim-tiny,会有按方向键出来的结果竟然是打写的字母ABCD原创 2015-07-20 21:10:01 · 757 阅读 · 0 评论 -
linux中软件包管理
流行的软件包管理有两种:Debian Linux的Deb软件包和Redhat Linux的Rpm软件包,Debian Linux首先提出将应用程序的二进制文件、配置文档、man/info帮助页面等文件合并打包在一个文件中,用户使用软件包管理器直接操作软件包,完成获取、安装、卸载、查询等操作。软件包的管理分为2种:本地管理和网络管理本地管理:--apkg命令由于操作系原创 2015-07-22 20:41:13 · 2306 阅读 · 0 评论 -
System V 的 IPC -- 线程通信机制
一、IPC (Inter-Process Communication): --中文翻译是线程间的通信消息队列 共享内存(效率最高) 信号灯集二、客户端命令:ipcs:--用来查看system V的IPC机制标识符的命令 -q,显示当前系统中 消息队列 的使用 -m,显示当前系统中 共享内存 的使用 -s, ...原创 2020-01-20 15:54:58 · 1762 阅读 · 0 评论 -
Linux中查看二进制文件
Linux下查看二进制文件linux下查看二进制文件以十六进制格式输出:od [选项] 文件od -d 文件 十进制输出 -o 文件 八进制输出 -x 文件 十六进制输出xxd 文件 输出十六进制在vi命令状态下::%!xxd :%!od 将当前文本转化为16进制格式:%!xxd -c 12 每行显示12个字节:%!xxd -r 将当前文本转化回文本格式#原创 2016-01-20 14:26:35 · 32855 阅读 · 0 评论 -
系统学习ARM之六 --异常处理
ARM中的异常处理过程原创 2015-09-28 22:19:08 · 919 阅读 · 0 评论 -
系统学习ARM之五 --C语言和汇编混合编写
一、GNU汇编书写格式:代码行中的注释符号: ‘@’ 整行注释符号: ‘#’ 语句分离符号: ‘;’ 直接操作数前缀: ‘#’ 或 ‘$’全局标号:标号只能由a~z,A~Z,0~9,“.”,_等(由点、字母、数字、下划线等组成,除局部标号外,不能以数字开头)字符组成,标号的后面加“:”。 段内标号的地址值在汇编时确定; 段原创 2015-09-28 22:14:10 · 4186 阅读 · 0 评论 -
系统学习ARM之一 --ARM简介
一、3、 8、 7:1. ARM处理器的 3 种状态 ARM处理器正在运行那种指令,就处在那种状态 (1)ARM状态 --- 运行ARM指令 (2)Thumber状态 --- Thumber指令 (3)Java状态 --- java字节码2. ARM 有8个基本工作模式(1)为什么分不同的工作模式原创 2015-09-24 20:34:42 · 1592 阅读 · 0 评论 -
系统学习ARM之三 --load/store指令--装载和存储指令
寄存器装载存储指令原创 2015-09-28 22:02:36 · 6011 阅读 · 0 评论