- 博客(142)
- 收藏
- 关注
转载 我使用过的Linux命令之hwclock - 查询和设置硬件时钟
我使用过的Linux命令之hwclock - 查询和设置硬件时钟本文链接:http://codingstandards.iteye.com/blog/804830 (转载请注明出处) 用途说明hwclock命令,与clock命令是同一个命令,主要用来查询和设置硬件时钟(query and set the hardware clock (RTC))。RTC=Rea
2017-02-09 09:37:52 310
转载 gcc编译参数-fPIC的一些问题
ppc_85xx-gcc -shared -fPIC liberr.c -o liberr.so-fPIC 作用于编译阶段,告诉编译器产生与位置无关代码(Position-Independent Code), 则产生的代码中,没有绝对地址,全部使用相对地址,故而代码可以被加载器加载到内存的任意 位置,都可以正确的执行。这正是共享库所要求的,共享库被加载时,在内存的位置不是固
2017-02-08 17:19:57 433
原创 编译libcurl
1.下载源码后,执行./buidconf产生configure配置文件2.通过build.sh来设定configure 配置的参数#!/bin/sh#export CFLAGS='-O3 -w -isystem /home/xuxuequan/Ingenicwork/toolchain/mips-gcc472-glibc216-32bit/mips-linux-gnu/libc/u
2017-02-03 13:51:37 624
转载 Linux I/O 调度方法
操作系统的调度有CPU调度 CPU schedulerIO调度 IO scheduler IO调度器的总体目标是希望让磁头能够总是往一个方向移动,移动到底了再往反方向走,这恰恰就是现实生活中的电梯模型,所以IO调 度器也被叫做电梯. (elevator)而相应的算法也就被叫做电梯算法. 而Linux中IO调度的电梯算法有好几种,as(Antici
2017-01-26 09:14:40 209
转载 文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别
这两天在调优数据库性能的过程中需要降低操作系统文件Cache对数据库性能的影响,故调研了一些降低文件系统缓存大小的方法,其中一种是通过修改/proc/sys/vm/dirty_background_ration以及/proc/sys/vm/dirty_ratio两个参数的大小来实现。看了不少相关博文的介绍,不过一直弄不清楚这两个参数的区别在哪里,后来看了下面的一篇英文博客才大致了解了它们的不同。
2017-01-24 20:41:05 346
转载 dup/dup2函数的用法
系统调用dup和dup2能够复制文件描述符。dup返回新的文件文件描述符(没有用的文件描述符最小的编号)。dup2可以让用户指定返回的文件描述符的值,如果需要,则首先接近newfd的值,他通常用来重新打开或者重定向一个文件描述符。他的原型如下:#include int dup(int oldfd);int dup2(int oldfd,int newfd);
2017-01-24 09:35:01 234
转载 fcntl的使用
功能描述:根据文件描述词来操作文件的特性。#include #include int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock);[描述]fcntl()针对(文件)描述符提供控制。参数fd
2017-01-24 08:28:11 215
转载 fasync驱动异步通知机制
fasync简介编辑异步通知fasync应用于系统调用signal和sigaction函数,简单的说,signal函数就是让一个信号与与一个函数对应,每当接收到这个信号就会调用相应的函数。[1] 那么什么是异步通知?异步通知类似于中断的机制,当设备可写时,设备驱动函数发送一个信号给内核,告知内核有数据可读,在条件不满足之前,并不会造成阻塞。而不像之前学的阻塞型IO和poll,它
2017-01-24 08:12:54 1176
原创 登陆后保持环境变量导出
在嵌入式开发中,要保证在系统登录后,导出的环境变量依然有效,需要修改如下文件:/etc/profileexport PATH=/bin:/sbin:/usr/bin:/usr/sbinexport PATH=/system/bin:$PATHexport LD_LIBRARY_PATH=/system/libexport LD_LIBRARY_PATH=/thirdlib:
2017-01-23 21:25:29 253
转载 jffs2常见问题
Question1:JFFS2 error: (1) jffs2_build_inode_pass1: child dir "alsa" (ino #1159) of dir ino #1074 appears to be a hard link JFFS2 error: (1) jffs2_build_inode_pass1: child dir "l" (ino #1170) of dir
2017-01-23 14:44:50 9483
转载 关于jffs2文件系统如何掉电保护
JFFS2 是将节点信息保存在内存中 Flash上日志型文件系统的资料,了解到传统的基于闪存转换层(FLT)的文件系统存在的主要问题:1. 效率低。因为每次都要把要修改的数据所在擦写块放入内存,产生了许多不必要的读操作;写入时,要将原来的擦写块擦除,然后再将内存中修改的数据写入该擦写块。这样就造成了数据带宽的严重浪费。2. 降低了Flash的寿命。因为有大量无用的擦写动作,使得许多
2017-01-23 14:28:46 3220
转载 JFFS2文件系统挂载过程优化的分析报告
一 问题描述在上电启动优化中发现Linux系统下挂载JFFS2文件系统耗时较长,以128M的NOR FLASH为例,用时接近20秒。后续单板的FLASH容量为256M,时间会更长。如此长的挂载时间,会大增加系统的上电启动时间。希望能对mount功能或JFFS2文件系统做适当优化,将256M FLASH的挂载时间降到3~5秒内,优化时需要同时保证文件系统的可靠性和读写速度,要保证兼容优化前的文件
2017-01-23 14:14:21 3444 1
转载 jffs2 启动的常见的问题
Q:在启动过程中出现at91sam user.warn kernel: Empty flash at 0x00f0fffc ends at 0x00f10000问题A:在mkfs.jffs2的时候,加上-e 0x20000指定擦除块的大小。-e是指定擦除块的大小,我们使用的nandflash的块大小为128K字节,因此-e后的参数为(128*1024)10=(20000)16。
2017-01-22 16:42:31 1507
原创 君正T20平台生成jffs2格式rootfs
基于系统升级的考虑,这两天在君正T20平台上折腾如何生成jffs2 格式的rootfs。详细的过程如下:1.修改uboot中的分区参数:修改为rootfs格式为jffs2的,且适当扩大rootfs分区大小。(因jffs2的压缩比不如只读的squashfs)#define CONFIG_BOOTARGS BOOTARGS_COMMON " init=/linuxrc rootfstype
2017-01-22 16:41:19 2813 2
转载 mkfs.jffs2参数详解
实例:mkfs.jffs2 -r rootfs -o rootfs.jffs2 -e 0x4000 --pad=0x1000000 -s 0x200 -nmkfs.jffs2: Usage: mkfs.jffs2 [OPTIONS]Make a JFFS2 file system image from an existing directory treeOptions:-p
2017-01-22 09:03:44 3531
原创 ubuntu下修复U盘只读问题
1.通过mount指令查看u盘挂载的实际设备/dev/sdb1 on /media/xuxuequan/0BEB-331A type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)2.umount挂载点umoun
2017-01-19 12:39:51 3991 2
转载 内核ko模块strip使用
编译一个内核时,习惯性的在install目标下加了命令:$(STRIP) --strip-all --remove-section=.note --remove-section=.comment test.ko结果在insmod test.ko时出现错误:test: module has no symbols (stripped?)...............
2017-01-18 16:10:41 3498
转载 gpio_direction_output 与 gpio_set_value
gpio_set_value(port_num,0/1) 一般只是在这个GPIO口的寄存器上写上某个值,至于这个端口是否设置为输出,它就管不了!而gpio_direction_output (port_num,0/1),在某个GPIO口写上某个值之后,还会把这个端口设置为输出模式。 因此,有人也许就会建议,把gpio_set_value这个函数直接去掉不用,是否可以,显然是可以
2017-01-18 09:48:23 1455
转载 Linux内核驱动之GPIO子系统(一)GPIO的使用
一 概述 Linux内核中gpio是最简单,最常用的资源(和 interrupt ,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之间的整数标识,不能使用负数,gpio与硬件体系密切相关的,不过linux有一个框架处理gpio,能够使用统一的接口来操作gpio.在讲gpio核心(gpiolib.c)之前先来看看gpio是怎么使用
2017-01-18 09:46:02 1327
转载 wpa_supplicant与wpa_cli之间通信过程
wpa_supplicant编译:1. wpa_supplicant/Android.mk :-- wpa_cli-- wpa_supplicant -- libwpa_client.so 2. hostapd/Android.mk :-- hostapd_cli-- hostapd 从通信
2017-01-13 08:42:29 2343
原创 移植wpa_supplicant 2.2问题
1.编译libnl1.1问题In file included from addr.c:28:0:../include/netlink-local.h: In function '__str2type':../include/netlink-local.h:218:11: error: 'ULONG_MAX' undeclared (first use in this function)
2017-01-12 18:17:52 1988
转载 >/dev/null 2>&1 的作用
shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo "123" > /home/123.txt 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 2 表示stderr标准错误 & 表示等同
2017-01-09 09:44:16 614
原创 编译boa过程记录
boa是比较老的HTTP的本地Server,本文是针对0.94.13版本的编译过程做出记录1.下载boa的程序包,本文的编译是针对misp平台的交叉编译2.在编译之前,需要针对产品的文件系统和修改编译时可能遇到的错误,修改相关的文件。(1)src/boa.c 注释掉可引起编译错误的语句line209开始注释如下语句#if 0 passwd
2016-12-27 13:31:45 880
转载 交叉编译openssl不修改Makefile的方法
网上流传的方法都是要修改Makefile的cc值,我来说个不用修改的方法作者:帅得不敢出门 C++哈哈堂openssl 下载http://www.openssl.org/source/tar -xvf openssl-1.0.1c.tar.gzcd openssl-1.0.1c/CC=arm-linux-gcc ./config no-asm shared --prefi
2016-12-08 13:49:18 812
转载 gcc与g++的区别
一:gcc与g++比较编译c/c++代码的时候,有人用gcc,有人用g++,于是各种说法都来了,譬如c代码用gcc,而 c++代码用g++,或者说编译用gcc,链接用g++,一时也不知哪个说法正确,如果再遇上个extern "C",分歧就更多了,这里我想作个了结,毕竟知识的目的是令人更清醒,而不是更糊涂。 误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请
2016-12-08 11:32:45 241
原创 编译faac错误分析
编译faac时遇到了以下的编译错误:/home/xuxuequan/Ingenicwork/toolchain/mips-gcc472-glibc216-32bit/mips-linux-gnu/libc/usr/include/string.h:365:26: error:ambiguates old declaration 'const char* strcasestr(const c
2016-12-08 11:28:54 1726
转载 比较zImage和uImage的区别
一、vmlinuzvmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz的建立有两种方式。一是编译内核时通过“make zImage”创建,然后通过:“cp /usr/src/linux-2.4/arch/
2016-11-18 11:38:55 295
转载 Linux应用程序在内存中的地址布局
栈:局部变量(初始化的和未初始化的,但不包含局部静态变量)、局部只读变量(const)堆:动态分配的区域(如使用malloc函数申请的区域)BSS段:存储未初始化的全局变量和静态变量数据段:存储初始化的全局变量和静态变量代码段:代码、全局const常量、字符量通过命令ps -aux | grep app 可以查找app的pid在/proc
2016-11-18 08:58:32 512
转载 MTD和 uboot中的bootargs 下属 mtdparts
MTD 设备是象闪存芯片、小型闪存卡、记忆棒等之类的设备,它们在嵌入式设备中的使用正在不断增长。MTD 驱动程序是在 Linux 下专门为嵌入式环境开发的新的一类驱动程序。相对于常规块设备驱动程序,使用 MTD 驱动程序的主要优点在于 MTD 驱动程序是专门为基于闪存的设备所设计的,所以它们通常有更好的支持、更好的管理和基于扇区的擦除和读写操作的更好的接口。Linux 下的 MTD 驱动程
2016-11-17 22:10:02 6514
转载 uboot 的 bootcmd 和bootargs参数详解
U-boot的环境变量值得注意的有两个: bootcmd 和bootargs。u-bootcmd 前面有说过bootcmd是自动启动时默认执行的一些命令,因此你可以在当前环境中定义各种不同配置,不同环境的参数设置,然后设置bootcmd为你经常使用的那种参数。u-bootargs bootargs是环境变量中的重中之重,甚至可以说整个环境变量都是围绕着bootargs来
2016-11-17 16:14:40 6803
转载 minicom 串口信息过长分行显示
有时串口输出一行信息比较多,一行显示不下,这个时候,我们可以用minicom的本身组合键设置,超过一行时自动卷起。minicom 组合键的用法是:先按Ctrl+A组合键,然后松开这两个键,再按Z键。另外还有一些常用的组合键。S键:发送文件到目标系统中;W键:自动卷屏。当显示的内容超过一行之后,自动将后面的内容换行。这个功能在查看内核的启动信息时很有用;C键:清除屏幕
2016-11-17 15:44:14 5115
转载 uboot的常用命令详解
U-Boot还提供了更加详细的命令帮助,通过help命令还可以查看每个命令的参数说明。由于开发过程的需要,有必要先把U-Boot命令的用法弄清楚。接下来,根据每一条命令的帮助信息,解释一下这些命令的功能和参数。1、bootmbootm [addr [arg ...]]- boot application image stored in memorypassing arg
2016-11-17 14:30:25 5217
转载 ubuntu下搭建nfs服务器
1.1 搭建NFS服务器 NFS(Network FileSystem,网络文件系统)是由SUN公司发展,并于1984年推出的技术,用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及操作系统无关。NFS分服务器和客户机,当使用远端文件时只要用mount命令就可把远端NFS服务器上
2016-11-17 14:06:24 309
转载 ubuntu下tftp的安装、配置、使用
1. 安装$ apt-get install tftp-hpa tftpd-hpa2. 建立目录$ mkdir /tftpboot # 这是建立tftp传输目录。$ sudo chmod 0777 /tftpboot$ sudo touch test.txt # test.txt文件最好输入内容以便区分3. 配置$ s
2016-11-17 13:52:07 194
转载 make Image uImage与zImage的区别
内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。 那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没
2016-11-17 13:40:41 264
转载 linux 下source命令
当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录;这时就想到用source命令,如:source /etc/profile对source进行了学习,并且用它与sh 执行脚本进行了对比,现在总结一下。source命令:source命令也称为“点命令”,也就是一个点符号(.),是bash的内部命令。功能:使Shell读入指定的Shell程序文件并依次
2016-10-31 08:23:13 564
转载 smbclient和挂载samba共享目录
1,列出某个IP地址所提供的共享文件夹 smbclient -L 198.168.0.1 -U marsaber%12332112345672,像FTP客户端一样使用smbclient smbclient //192.168.0.1/tmp -U marsaber%1233211234567 执行smbclient命令成功后,进入smbclient环境,出现提示符:
2016-10-24 16:28:03 7862
转载 Makefile选项CFLAGS,LDFLAGS,LIBS
CFLAGS 表示用于 C 编译器的选项,CXXFLAGS 表示用于 C++ 编译器的选项。这两个变量实际上涵盖了编译和汇编两个步骤。CFLAGS: 指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include。同样地,安装一个包时会在安装路径下建立一个include目录,当安装过程中出现问题时,试着把以前安装的包的include
2016-10-19 09:11:28 403
转载 cp -r 和 cp -R 的区别
今天倒腾linux根文件系统的时候发现 cp -r /dev /dev_bak 时,竟然会 将磁盘设备中的数据进行一次拷贝,而不是仅仅建立设备文件。 于是到网上搜了一把,收获不小。 http://www.loveunix.net/html/200407/33920.html 这里有人问同样的问题,某人用英文作答:-r Copies file hierarchi
2016-10-18 21:51:09 62896
转载 关于cp命令中拷贝所有的写法
今天在编写一个脚本的时候,发现一个比较奇怪的问题:就是在使用cp拷贝当前目录下所有文件到目标目录的时候,源和目标大大不同。原来一直没有留意有这样的问题,后来查了些资料,才知道以前一直使用的格式有误,艾。。。一、预备cp就是拷贝,最简单的使用方式就是:cp oldfile newfile但这样只能拷贝文件,不能拷贝目录,所以通常用:cp -r old/ new/那就会把old
2016-10-18 21:42:58 4132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人