
linux
yiwuxue
这个作者很懒,什么都没留下…
展开
-
linux 驱动模块编译
1.若为hello.cMakefile 编写obj-m: hello.o用如下命令编译Hello World 模块make -C /usr/src/linux-2.6.15.5/ M=/driver_study/ modules如果当前处于模块所在目录make –C /usr/src/linux-2.6.15.5 M=$(pwd) modules原创 2013-03-05 15:14:16 · 540 阅读 · 0 评论 -
linux 查看input dev info
cat /proc/bus/input/devices原创 2014-05-20 10:39:22 · 1814 阅读 · 0 评论 -
dos coy 命令
copy /B 1+2+nvram+header+ucos+boot+sto+dyncfg+permcfg nor4m.bin原创 2014-04-22 17:27:16 · 486 阅读 · 0 评论 -
个人整理的Linux Shell语法速查表(用C语言语法来作对比)
虽然学过Linux Shell编程,但由于编写Shell脚本的机会实在是比较少(通常在项目初期搭建开发环境时编写得比较多一些),所以一些语法久而久之就会忘了,一个简单的语法去翻书效率实在是慢,所以就个人整理了一个表格,由于我用的编程语言是C/C++,所以在编程的时候往往脑海里面首先浮现的是用C语言怎么去编写它,所以我干脆拿C语言的语法来和Shell编程的语法作个对比表,这样查起来就方便了,哈:转载 2014-05-04 15:19:17 · 460 阅读 · 0 评论 -
C语言中volatile关键字的作用
C语言中volatile关键字的作用2012-04-05 10:04 34152人阅读 评论(71) 收藏 举报语言编译器优化ccompiler目录(?)[+]一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不转载 2014-03-19 11:28:32 · 414 阅读 · 0 评论 -
详解coredump
一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。 通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调转载 2014-03-19 13:46:14 · 791 阅读 · 1 评论 -
频繁分配释放内存导致的性能问题的分析
现象1 压力测试过程中,发现被测对象性能不够理想,具体表现为: 进程的系统态CPU消耗20,用户态CPU消耗10,系统idle大约70 2 用ps -o majflt,minflt -C program命令查看,发现majflt每秒增量为0,而minflt每秒增量大于10000。初步分析majflt代表major fault,中文名叫大错误,minflt代表minor fa转载 2014-03-19 14:26:17 · 500 阅读 · 0 评论 -
linux 设置运行时动态库路径
PATH和LD_LIBRARY_PATH本质都是变量,所谓变量的意思就是由别人赋值产生的,直觉往往会让我们添加和减少这个变量本身的某些路径,实际上这是不正确的。正确的做法是我们要去修改赋予这个变量数值的那些配置文件,加一条路径或者减一条。说到底变量只关乎显示,不关乎其用于显示的内容。PATH: 可执行程序的查找路径查看当前环境变量:echo $PA转载 2013-11-01 09:39:48 · 4110 阅读 · 0 评论 -
fstab文件中挂载/dev/mtdblock设备不行
在fstabl文件中加入红色部分时:# /etc/fstab: static file system information. ▽ /dev/root / ext2 rw,noauto 0 1proc /proc proc转载 2014-07-29 17:51:31 · 3332 阅读 · 0 评论 -
ubuntu系统下创建新用户
在Ubuntu中创建新用户,通常会用到两个命令:useradd和adduser。虽然作用一样,但用法却不尽相同: 1. 使用useradd时,如果后面不添加任何参数选项,例如:#sudo useradd test创建出来的用户将是默认“三无”用户:一无Home Directory,二无密码,三无系统Shell。解决方法: sudo useradd -m -s /bi转载 2015-11-02 10:47:30 · 918 阅读 · 0 评论 -
Ubuntu下配置支持Windows访问的Samba共享
一、安装Ubuntu samba服务器$ sudo apt-get install samba$ sudo apt-get install smbclient # Linux客户端测试用 二、创建samba配置文件1. 备份原配置文件$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak转载 2015-11-02 10:45:24 · 611 阅读 · 0 评论 -
find命令
find . -name "*.*" | xargs grep "内部存储"1. set命令可以显示出当前shell下所有全局参量定义及其值; 2. 查找并删除当前目录下小文件:find . -type f -size -10k -exec rm {} \;说明: www.2cto.com -type f 查找文件转载 2015-07-02 10:20:59 · 432 阅读 · 0 评论 -
查看静态库和动态库是32位还是64位
动态库:file ./usr/libexec/sudo_noexec.so静态库:objdump -a libmqapi.a原创 2015-04-16 09:55:42 · 3980 阅读 · 1 评论 -
Linux程序分析工具介绍—ldd,nm
本文要介绍的ldd和nm是linux下,两个用来分析程序很实用的工具。ldd是用来分析程序运行时需要依赖的动态库的工具;nm是用来查看指定程序中的符号表相关内容的工具。下面通过例子,分别来介绍一下这两个工具:1. ldd, 先看下面的例子, 用ldd查看cs程序所依赖的动态库:$ ldd cs linux-gate.so.1 => (0xffffe000) libz.so.1转载 2015-04-14 17:55:17 · 645 阅读 · 0 评论 -
uinput
#include #include #include #include #include #include #include #include void usage(void){ printf(" Usage : keyboard [key number...]\n"); printf(" keyboard 29 56 32 /* CTRL + ALT +D */\n"); printf(" ke转载 2015-03-27 15:12:27 · 791 阅读 · 0 评论 -
popen函数执行命令,读取流数据
int Volume::createDeviceNode(const char *path, int major, int minor) { mode_t mode = 0666 | S_IFBLK; dev_t dev = (major << 8) | minor; if (mknod(path, mode, dev) < 0) { if (errno !原创 2014-11-19 15:06:17 · 4953 阅读 · 0 评论 -
快速窥探elf格式文件文件的内部信息
Linux的二进制执行文件,通常是ELF格式的。查看这些文件的常用命令有:1、file 显示执行文件的基本信息,包括位数、库等。2、nm -D 显示调用的标准库函数等。3、strings 显示内部的静态字符串列表。4、lsof -p 运行期间执行该命令,可以查看打开的句柄情况。转载 2014-11-19 16:19:55 · 445 阅读 · 0 评论 -
Linux 主机名被修改成bogon问题
Linux 主机名被修改成bogon问题的几种解决办法博客分类: LinuxLinuxbogon 当Linux主机名由@myhostname变成了@bogon了之后,访问网络就会出现问题,重启后也没有解决。网上搜索N久之后,发现了如下几种解决方式,特此记录一下。 1、在linux下添加一个127.0.0.2名叫bogon的主机此方转载 2013-11-13 17:55:32 · 1035 阅读 · 0 评论 -
linux 系统查找段错误的方法
简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它 指向的 gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是转载 2013-09-26 15:24:40 · 2178 阅读 · 0 评论 -
linux mii 调试总结
MII (Media Independent Interface(介质无关接口);或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口,以及一个MAC和PHY之间的管理接口。数据接口包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要16个信号。管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。通过管理接口原创 2013-05-22 16:51:58 · 2729 阅读 · 0 评论 -
linux 内核对于video phone 的支持
Linux 内核只对于video phone 支持主要是摄像头和麦克风Linux内核中已经带有很完善的USB摄像头驱动,支持几乎所有的USB摄像头,我们只需要配置内核,选择上相应的Sensor型号即可。配置内核,支持USB摄像头:Device Drivers ---> Multimedia support ---> Video For Linux[*] Enabl原创 2013-06-09 17:01:06 · 1015 阅读 · 0 评论 -
linux-2.6.37 移植yaffs2文件系统
通过以下命令即可在linux-2.6.37-3.1 上成功移植yaffs2文件系统 $ git clone git://www.aleph1.co.uk/yaffs2 Initialized empty Git repository in /home/zhangyi/4G/yaffs2/.git/ remote: Counting objects: 7516, done. rem原创 2013-05-08 18:40:48 · 826 阅读 · 0 评论 -
ubuntu 下 搭建 tftp nfs 服务器
ubuntu tftp服务安装步骤安装$sudo apt-get install tftpd-hpa$sudo vim /etc/default/tftpd-hpa TFTP_USERNAME="tftp"TFTP_DIRECTORY="/home/your/tftpdir/" TFTP_ADDRESS="0.0.0.0:69"TFTP原创 2013-03-01 17:34:50 · 356 阅读 · 0 评论 -
git 使用
1.git 配置信息git config user.name "your name"git config user.email yourname@email_servergit config core.editor vimgit config core.paper "less -N"git config color.diff truegit config alias.co che原创 2013-03-01 17:29:24 · 400 阅读 · 0 评论 -
Linux kernel input子系统
对于linux平台下的输入设备,已经趋向于统一使用标准的input设备模型,Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过input输入子系统。[编辑]1、分配、注册、注销input设备 struct input_dev *input_allocate_device(void)int input_r翻译 2013-03-01 17:14:59 · 676 阅读 · 0 评论 -
linux U sdcard 盘自动挂载
mdev是busybox自带的一个简化版的udev,适合于嵌入式的应用埸合。其具有使用简单的特点。它的作用,就是在系统启动和热插拔或动态加载驱动程序时,自动产生驱动程序所需的节点文件。在以busybox为基础构建嵌入式linux的根文件系统时,使用它是最优的选择1)确保内核支持热插拔# cd linux-2.6.30.4# vi .configCONFIG_KALLSYMS=y#原创 2013-03-01 16:55:51 · 1236 阅读 · 0 评论 -
深入浅出MIPS MIPS的内存映射
二 MIPS的内存映射 在32位MIPS体系结构下,最多可寻址4GB地址空间。这4GB空间的分配是怎样的呢?让我们看下面这张图: +----------------------------------------------+ | | 0xFFFFFFFF |转载 2013-03-06 14:37:47 · 2748 阅读 · 1 评论 -
curl shell 用法
基本用法(配合sed/awk/grep)$curl http: //bpsky.net下载保存$curl http://bpsky.net > index.html$curl -o index.html http://bpsky.net$curl -O http://bpsky.net/target.tar.gz通过代理$curl -x 123.45 .转载 2013-06-30 11:21:40 · 1774 阅读 · 0 评论 -
DHCP的工作流程
DHCP的工作流程 DHCP服务的工作过程是这样的: 1)发现阶段,即DHCP客户机寻找DHCP服务器的阶段。 DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCPdiscover发现信息来寻找DHCP服务器,即向地址255.255.255.2原创 2013-06-28 13:31:26 · 995 阅读 · 0 评论 -
测试UVC摄像头驱动
直接上代码#include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(){ int uvc_handle, ret, format; st原创 2013-08-28 17:49:11 · 1281 阅读 · 0 评论 -
uboot烧写文件
* 此篇文章只介绍了往板子上烧写引导程序及系统,具体的詳細参数设置,或者是通过nfs方式引导系统并没有介绍,如有兴趣可参考Platform Group: 在我们的板子上通过NFS方式启动系统 * 此篇文章介绍了NewBox目前采用SPI Flash + SLC Nand方案 * 我们以前曾经采用过Nor Flash + Nand Flash方案, 现在已经不用了, 如有兴趣,可原创 2013-08-28 16:54:21 · 2225 阅读 · 0 评论 -
Flash文件系统介绍和平台采用squashfs+ubifs原因
Flash文件系统介绍和平台采用squashfs+ubifs原因嵌入式系统与通用PC机不同,一般没有硬盘这样的存储设备而是使用Flash闪存芯片、小型闪存卡等专为嵌入式系统设计的存储装置。因此在嵌入式系统很少使用PC上常用的文件系统,取而代之是根据flash其特点定制的文件系统。一、常见文件系统简介Romfs 传统型的Romfs文件系统是最常使用的一种文件系统,它是一种简原创 2013-08-28 17:46:48 · 11076 阅读 · 1 评论 -
ubuntu下安装与卸载软件方法
ubuntu下安装与卸载软件方法1、通过deb包安装的情况:安装.deb包:代码:sudo dpkg -i package_file.deb反安装.deb包:代码:sudo dpkg -r package_name2、通过apt-get安装的情况:安装代码:sudo apt-get install package_name反安装代码:sudo apt-g原创 2013-08-28 16:52:44 · 653 阅读 · 0 评论 -
linux 环境变量设置
linux下安装QT之设置环境变量设置环境变量。执行vi ~/.bashrc 添加如下内容:QTDIR=/usr/local/Trolltech/Qt-4.7.0/PATH=$QTDIR/bin:$PATHMANPATH=$QTDIR/doc/man:$MANPATHLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHexport QT原创 2013-08-01 10:51:12 · 501 阅读 · 0 评论 -
linux 下解压命令
01-.tar格式解包:[*******]$ tar xvf FileName.tar打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)02-.gz格式解压1:[*******]$ gunzip FileName.gz解压2:[*******]$ gzip -d FileName.gz压 缩:[*****原创 2013-08-01 10:48:59 · 426 阅读 · 0 评论 -
Tun/tap 上网及编程
使用了linux下的虚拟网卡;虚拟网卡Tun/tap驱动是一个开源项目,支持很多的类UNIX平台,OpenVPN和Vtun都是基于它实现隧道包封装。首先,ubuntu下:apt-get install uml-utilities--网卡apt-get install bridge-utils--网桥virtualBox上网方式有三种 1:nat 这种方式在客户机上不用做转载 2013-07-22 17:04:38 · 4185 阅读 · 0 评论 -
TAP/TUN、NAT、Linux Bridge、VLAN等技术实现云中网络
摘要:在生产环境中,云中的网络通常被划分为公共网络、管理网络和服务网络。本文首先通过三个小试验向您介绍了如何通过 TAP/TUN、NAT、Linux Bridge、VLAN 等技术实现云中网络的一般原理。TAG标签: NAT VLAN TAP/TUN Linux Bridge 云网络有了这些基础,相信您会对接下来介绍的一个具体的 OpenStack 云的转载 2013-07-22 17:20:23 · 4648 阅读 · 0 评论 -
使用位图字体工具BMFont从图片生成自定义字体
上一篇转了别人的一篇文章,讲了BMFont的基本用法。对BMFont比较陌生的同学请点击这里先去学习:http://blog.youkuaiyun.com/keshuiyun/article/details/9960589。本篇讲解如何利用美工提供的字符图形来生成自定义字体。美术提供的字体经常是下面这样的:或者这样的:这时候我们就要借助BMFont了,首转载 2016-01-05 11:17:42 · 771 阅读 · 0 评论