自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lh2016rocky的博客

宁静致远,不忘初心

  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除