自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

转载 IMX6Q的DDR3初始化配置

处理器:IMX6Q5EYM10ADDDR3时钟频率400MHz、528MHz DDR3:NT5CB128M16BP-CG16位667MHz时钟频率1333MHz数据频率 相比于Exynos4412的内存,飞思卡尔IMX6的内存比较麻烦,耗费了比较多的时间调试才稳定,当然这也是因为我无缘无故改掉了内存拓扑结构和换了内存芯片型号的原因。 飞思卡尔的方案里提供了两种很合适的拓扑方案,这两种方案适用于四片

2015-07-31 13:25:32 1638

转载 msgget()函数

msgget()函数被用来创建新的消息队列或获取已有的消息队列。其函数定义如下:系统调用: msgget()函数声明: int msgget ( key_t key, int msgflg )返回值: message queue identifier on success-1 on error: errno = EACCESS (permission denied)EEXIST

2015-07-30 17:56:37 2985

转载 Linux系统调用--mmap/munmap函数详解

功能描述: mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。 基于文件的映射,在mmap和munmap执行过程的任何时刻,被映射文件的st_atime可能被更新。如果st_atime字段在前述的情况下没有得到更新,首次对映射区的第一个页索引时

2015-07-29 17:30:21 776

转载 getenv putenv setenv和unsetenv详解

getenv:定义函数char * getenv(const char *name);表头文件#include 函数说明getenv()用来取得参数name环境变量的内容。参数name为环境变量的名称,如果该变量存在则会返回指向该内容的指针。环境变量的格式为name=value。

2015-07-29 11:48:31 415

转载 EHCI和OHCI,UHCI的比较和区别

什么是 ehci?什么是 ohci?就是host controller 的接口EHCI和OHCI的比较和区别   什么是 ehci?什么是 ohci?就是host controller 的接口.从硬件上来说,usb 设备要想工作,除了外设本身,必须还有一个咚咚叫做 usb host controller.一般来说,一个电脑里有一个 usb host controller就可以了,她就可

2015-07-29 11:22:05 920

转载 Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches

Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches频繁的文件访问会导致系统的Cache使用量大增$ free -mtotal used free shared buffers cachedMem: 3955 3926 28 0 55 3459-/+ buffers/cache: 411 3544Swap: 5726 0 5726

2015-07-29 09:13:13 3775

转载 Linux中fork()函数详解

一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新

2015-07-28 13:30:03 260

转载 线程绑定CPU核

Linux系统提供API函数sched_setaffinity和sched_getaffinity用于设置或获取线程的可以使用的CPU核。int sched_setaffinity(pid_t pid, unsigned int cpusetsize, cpu_set_t *mask);这个函数中pid表示需要设置或获取绑定信息的线程id(或进程id),如果为0,表示对当前调用的线

2015-07-27 17:48:04 1874

转载 【Linux】 CPU亲和性(affinity)及与亲和性有关的两个函数 sched_setaffinity()和 sched_getaffinity()

简单地说,CPU 亲和性(affinity) 就是进程要在某个给定的 CPU 上尽量长时间地运行而不被迁移到其他处理器的倾向性。Linux 内核进程调度器天生就具有被称为 软 CPU 亲和性(affinity) 的特性,这意味着进程通常不会在处理器之间频繁迁移。这种状态正是我们希望的,因为进程迁移的频率小就意味着产生的负载小。2.6 版本的 Linux 内核还包含了一种机制,它让开发人员可以编

2015-07-27 17:13:34 609

转载 Linux_多核系统下绑定进程或线程到指定CPU_核执行

如何指定进程运行的CPUcoolshell最新的文章《性能调优攻略》在“多核CPU调优”章节,提到“我们不能任由操作系统负载均衡,因为我们自己更了解自己的程序,所以,我们可以手动地为其分配CPU核,而不会过多地占用CPU0,或是让我们关键进程和一堆别的进程挤在一起。”。在文章中提到了Linux下的一个工具,taskset,可以设定单个进程运行的CPU。同时,因为最近在看redi

2015-07-27 14:08:28 3634

转载 ARM多核引导过程

[html] view plaincopy  引导过程概述 (这个硕士论文得到过ARM公司Catalin Marinas的认可) 当电源按钮按下后,到shell命令起来,能理解4个CPU核到底发生了什么是非常重要的,嵌入Linux内核的引导过程和pc是不一样的,原因是环境设置和可用硬件都不一样了。比如,嵌入式没有硬盘和PC BIOS,

2015-07-27 13:42:47 1408

转载 nbench 使用方法

nbench 介绍   nbench是一个简单的用于测试处理器,存储器性能的基准测试程序。即著名的BYTE Magazine杂志的BYTEmark benchmark program。nbench在系统中运行并将结果和一台运行Linux的AMD K6-233电脑比较,得到的比值作为性能指数。由于是完全开源的,爱好者可以在各种平台和操作系统上运行nbench,并进行优化和测试,是一个简单有效的性

2015-07-27 11:40:45 6198 1

转载 ARM Linux 3.x的设备树(Device Tree)

1.    ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach

2015-07-25 09:18:34 282

转载 linux mount (挂载命令)详解

挂接命令(mount) 首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。 命令格式:mount [-t vfstype] [-o options] device dir 其中: 1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: 光盘或光盘镜像:iso9

2015-07-25 08:56:58 380

转载 linux mkfs命令参数及用法详解---linux格式化文件系统命令(包括swap分区)

mkfs 命令  linux格式化磁盘命令            linux mkfs        指令:mkfs  使用权限 : 超级使用者  使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks] [-L Lable]  说明 : 建立 linux 档案系统在特定的 partitio

2015-07-25 08:43:30 13749

转载 linux的sh脚本编程

在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。   下面,让我们一起来看看shell是如何工作的:   建立一个脚本   Linux中有好多中

2015-07-25 07:59:53 329

转载 关于bash与sh的话题(限于一般linux),以下个人的一些总结及理解,有理解错误的地方还望指点

1、bash的POSIX标准在一般的linux系统当中(如redhat),使用sh调用执行脚本相当于打开了bash的POSIX标准模式(等效于bash的 --posix 参数)一般的,sh是bash的“子集”(不是子集的部分,具体区别见下的“Things sh has that bash does not”)例子:[wwy@sf-watc

2015-07-25 07:47:02 745

转载 tar 解压缩命令

tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到

2015-07-25 07:34:47 341

转载 dd if=/dev/zero of=的含义是什么?Linux 下的dd命令使用详解

一、dd命令的解释dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2参数注释:1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。3. ibs=bytes:一次读入by

2015-07-24 21:41:03 714

转载 dd sKip 和 seek参数理解

假如我有一个文件abc.gz,大小为83456k,我想用dd命令实现如下备份 结果:首先将备份分成三个部分,第一部分为备份文件abc.gz的前10000k,第二部分为中间的70000k,最后备份后面的3456k. 备份方法如下三条命令: dd if=abc.gz of=abc.gz.bak1 bs=1k count=10000dd if=abc.gz of=abc.gz.bak2

2015-07-24 21:40:59 818

转载 Linux下进程绑定多CPU运行

在服务器上,我们经常会有多个CPU的情况,而此时如果把进程都绑定在一个CPU上,那么对资源太多浪费了,下面的代码就实现了如何将程序绑定在不同的cpu上。传入参数代表绑定第几个cpu(从0开始计算)//cpu_test.cpp#includestdlib.h>#includestdio.h>#includesys/types.h>#includesys/sysinfo.h>

2015-07-24 09:28:35 1342

转载 Linux下多核CPU知识

1. 在Linux下,如何确认是多核或多CPU:#cat /proc/cpuinfo如果有多个类似以下的项目,则为多核或多CPU:processor  : 0......processor  : 12. Linux下,如何看每个CPU的使用率:#top -d 1之后按下1. 则显示多个CPUCpu0  :  1.0%us, 

2015-07-23 19:29:06 4720

转载 从庖丁解牛说uboot如何编译

很多人拿到uboot,编译不知如何下手!其实,这个世界上的万事万物,都有一个“纹理”。我读中学的时候劈柴,如果顺着木头的纹理劈下去很轻易的就劈开了,但如果反其道而行之不但劈不开而且斧头还会弹回来伤人!呵呵,城里出生的孩子是没这个体会,即使现在农村的孩子因为家里都烧液化气也没有这个机会体验了。庖丁解牛之所以游刃有余,是因为他掌握了牛的纹理,顺着这些纹理就应该很容易。那么我们的

2015-07-23 17:11:17 2840

原创 source insight 怎么查看当前文件所在路径

1、鼠标移到状态栏(最上一栏)点击右键,选display options;2、在出现的复选框里点击取消“trim long path names with ellipses” 选项;3、问题解决。

2015-07-23 16:22:46 5518

转载 U-BOOT的两个阶段启动过程与第二阶段的board_init_f和board_init_r

U-BOOT的两个阶段启动过程:(2010.06经典版来说)第一阶段:start.S的路径位于arch\arm\cpu\arm920t\这段汇编代码一般被称作第一阶段初始化代码。主要作用是初始化运行环境;初始化内存;重新放置UBOOT代码到内存中;跳入到内存中执行第二段初始化代码1、        关闭开门狗,屏蔽所有中断2、        设置分频比3、     

2015-07-22 22:29:22 11587

转载 2014.4新版uboot启动流程分析

最近开始接触uboot,现在需要将2014.4版本uboot移植到公司armv7开发板。在网上搜索讲uboot启动过程的文章,大多都是比较老版本的uboot,于是决定将新版uboot启动过程记录下来,和大家共享。辛苦之作,大家共享,转载还请注明出处![cpp] view plaincopy#  # (C) Copyri

2015-07-22 20:21:08 431

转载 getopt

函数说明getopt()用来分析命令行参数。参数argc和argv是由main()传递的参数个数和内容。参数optstring为选项字符串,告知getopt()可以处理哪个选项以及哪个选项需要参数,如果选项字符串里的字母后接着冒号“:”,则表示还有相关的参数,全域变量optarg即会指向此额外参数。如果在处理期间遇到了不符合optstring指定的其他选项getopt()将显示一个错误消息,并将全

2015-07-21 09:23:05 348

转载 pthread_cond_signal和pthread_cond_wait简介

原文: http://apps.hi.baidu.com/share/detail/19786281http://hi.baidu.com/boobleoo0/blog/item/5f935039a37c58f8b311c77f.html http://topic.csdn.net/u/20110105/16/12717238-9816-4571-a03d-e8b603724946

2015-07-20 21:03:39 294

转载 pthread_attr_init 线程属性

我们一般创建线程是这样pthread_t tid;pthread_create(&tid, NULL, func, NULL);第二个参数是线程属性设置,一般设置为了NULL,但是可以通过系统API进一步设置第二个参数,细化创建的线程的属性。 大致步骤为:pthread_attr_t attr;pthread_attr_init(&attr)

2015-07-20 17:02:29 414

转载 C语言函数sscanf()的用法

在我的学习过程中,从文件读取数据是一件很麻烦的事,所幸有sscanf()函数。  C语言函数sscanf()的用法sscanf() - 从一个字符串中读进与指定格式相符的数据.  函数原型:  int sscanf( string str, string fmt, mixed var1, mixed var2 ... );  int scanf( const c

2015-07-20 11:07:18 299

转载 【Struct(结构体)杂谈之二】名不正则言不顺---Struct(结构体)的声明、定义及初始化

Struct(结构体)的声明、定义及初始化       上一篇里我们讲了为什么我们要引入Struct这个数据类型,我们了解到Struct是一种聚合数据类型,是为了用户描述和解释一些事物的方便而提出的,Struct是一种用户自定义数据类型,如下图所示:其实从理论上讲,数据类型就是人为制订的如何解释内存中的二进制数的协议,也就是说一个数字

2015-07-17 16:52:51 2945

转载 struct 结构名

struct 结构名      {           类型  变量名;           类型  变量名;           ...      } 结构变量;    对齐: 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在

2015-07-17 16:32:57 1338

转载 消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例

消息队列函数由msgget、msgctl、msgsnd、msgrcv四个函数组成。下面的表格列出了这四个函数的函数原型及其具体说明。1.   msgget函数原型msgget(得到消息队列标识符或创建一个消息队列对象)所需头文件#include #include #include 函数说明得到消

2015-07-17 15:36:25 470

转载 Linux的C函数open()、read()和write()使用说明

open(打开文件) 相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen 表头文件 #include#include#include 定义函数 int open( const char * pathname, int flags);int open( const char * pathname,int flags

2015-07-16 18:36:30 828

转载 ASCII码对照表

ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。  ASCII第一次以规范标准的型态发表是在1967年,最后一次更新则是在1986年,至今为止共定义了

2015-07-16 18:34:55 579

转载 c语言详解sizeof

一、sizeof的概念    sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。    它并不是函数。    sizeof操作符以字节形式给出了其操作数的存储大小。    操作数可以是一个表达式或括在括号内的类型名。    操作数的存储大小由操作数的类型决定。    二、sizeof的使用方法    1、用于数据类型  

2015-07-15 16:36:09 254

转载 pthread_mutexattr_init

在编程中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。下面举例:  在Posix Thread中定义有一套专门用于线程同步的mutex函数。  1. 创建和销毁  有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏 PTHREAD_MUTEX_INITIALIZE

2015-07-13 17:55:01 8088

转载 共享内存函数(shmget、shmat、shmdt、shmctl)及其范例

共享内存函数由shmget、shmat、shmdt、shmctl四个函数组成。下面的表格列出了这四个函数的函数原型及其具体说明。1.   shmget函数原型shmget(得到一个共享内存标识符或创建一个共享内存对象)所需头文件#include #include 函数说明得到一个共享内存标识符或创建

2015-07-13 17:50:24 471

转载 C语言strcasecmp()函数:判断字符串是否相等(忽略大小写)

头文件:#include 定义函数:int strcasecmp (const char *s1, const char *s2);函数说明:strcasecmp()用来比较参数s1 和s2 字符串,比较时会自动忽略大小写的差异。返回值:若参数s1 和s2 字符串相同则返回0。s1 长度大于s2 长度则返回大于0 的值,s1 长度若小于s2 长度则返回小于0 的值。

2015-07-13 16:51:54 38548 6

转载 pthread_create()

pthread_create函数    原型:int  pthread_create((pthread_t  *thread,  pthread_attr_t  *attr,  void  *(*start_routine)(void  *),  void  *arg)    用法:#include      功能:创建线程(实际上就是确定调用该线程函数的入口点),在线程创

2015-07-13 16:23:05 336

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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