自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (12)
  • 收藏
  • 关注

转载 性能计数器参考

性能计数器根据编号、大小、持续时间和请求或接受数据时的速率来测量信息或数据的量。不应该希望计数器给出详细信息列表,如错误信息列表。相反的,使用性能计数器来得到总量,如在启动后已出现的错误信息总数或生成错误信息的速率。可以通过以下方式来访问计数器数据:系统监视器(以前称为性能监视器),或简单网络管理协议 (SNMP) 服务。本参考中包括了以下计数器名称和说明:系统监视器计数器

2016-12-25 19:52:40 1614

转载 linux下如何修改进程优先级

Linux 与其他现代操作系统一样,也可以运行多个进程。它在多个进程之间共享 CPU 和其他资源。如果一个进程占用了 100% 的 CPU,那么其他进程将无法响应。如果运行 top 命令,默认将按照 CPU 使用量的降序显示进程,如清单 1 所示。在上一篇文章 “学习 Linux,101:创建、监控和终止进程” 中,我们展示了一个简易的数字时钟脚本,它每 30 秒在控制台打印,其他时间不执行任

2015-06-24 17:46:36 4248

转载 assert在程序的release版本中仍然有效

assert在程序的release版本中仍然有效(不要与VC中的ASSERT混淆),要使assert失效,只有在包含assert头文件(assert.h)的语句前定义NDEBUG宏或在编译器参数中添加-DNDEBUG参数。

2015-04-24 15:37:40 1081

转载 性能计数器

Processor/% Processor Time 阀值:处理器的阀值一般设为85%。含义:这个计数器是处理器活动的主要指标。高数值并不一定是坏事,但是如果其他处理器相关的计数器(比如% Privileged Time 或者 Processor Queue Length)线性增加的话,高CPU使用率就值得调查了。 Processor/% Privileged Time阀值

2015-03-11 17:32:26 1217

原创 TI DSP Function Structure and Calling Conventions

The C/C++ compiler imposes a strict set of rules on function calls. Except for special run-time support functions, any function that calls or is called by a C/C++ function must follow these rules. Fai

2015-01-20 11:10:57 632

转载 TI DSP Register Conventions

Strict conventions associate specific registers with specific operations in the C/C++ environment. If you plan to interface an assembly language routine to a C/C++ program, you must understand and fol

2015-01-20 11:09:15 616

转载 TI dsp C/C++ System Stack

以下内容摘自TI DSP specification.The C/C++ compiler uses a stack to:Allocate local variablesPass arguments to functionsSave register contentsThe run-time stack grows from the high ad

2015-01-20 11:05:37 582

转载 NOR FLASH

相对于硬件工程师和嵌进式软件工程师一般在完成设计之后经常需要验证FLASH是否在工作.在应用当中,也有很多时候需要对FLASH进行写操纵.该文章简单先容了基于ARM芯片的NOR FLASH烧写,并提供了2个具体的实例和源代码,希看对有需要的朋友有点帮助.在开始之前,先声明一下,这篇文章只是先容了如何写 NOR FLASH 的烧写驱动,和H-JTAG/H-FLASHER没有直接的联系. 

2015-01-06 17:11:30 649

原创 函数调用过程

因为偶然的机会,工作中同事workshop中讲到了从编译角度理解TI芯片dsp函数的调度过程,主要是函数调度过程中寄存器的使用,这里总结下函数调度过程common的过程。       调用者开始调用函数,1.调用者将函数参数自右向左依次压栈;2.调用者将返回地址压入栈中;3.将寄存器ebp压栈(记录当前调用者栈底指针);4.将esp赋值给ebp(将当前调用者栈顶指针当作该函数的栈底指针);5.

2014-11-01 22:54:19 812

转载 cmd文件

gel文件中主要包含了PLL、DDR等的初始化工作,具体可以看一下gel源码就明白了;CMD主要是用于定义内存的划分,及数据、代码等的存放位置。 CMD:command命令,顾名思义就是命令文件指定存储区域的分配.2812的CMD采用的是分页制,其中PAGE0用于存放程序空间,而PAGE1用于存放数据空间。 1.)#pragma ,CODE_SECTION和DATA_SECTI

2014-07-22 11:18:43 994

原创 #pragma STRUCT_ALIGN And #pragma pack明辨

Posted by Bernie Thompson TI on Feb 03 2010 09:46 AMVerified AnswerVerified by George MockMastermind41700 pointsFor what you are trying to do it sounds like you

2014-03-13 15:14:53 1029

转载 SVN Rollback Command

方法1: 用svn merge1) 先 svn up,保证更新到最新的版本,如20;2) 然后用 svn log ,查看历史修改,找出要恢复的版本,如10 。如果想要更详细的了解情况,可以使用svn diff -r 10:20 [文件或目录];3) 回滚到版本号10:svn merge -r 20:10 [文件或目录],注意版本号之间的顺序,这个叫反向合并;4) 查

2014-03-11 10:21:23 1201

转载 位结构体

转载自http://blog.csdn.net/iloveyin/article/details/7421698含位域结构体的sizeof:前面已经说过,位域成员不能单独被取sizeof值,我们这里要讨论的是含有位域的结构体的sizeof,只是考虑到其特殊性而将其专门列了出来。C99规定int、unsigned int和bool可以作为位域类型,但编译器几乎都对此作了扩展,允许其它

2014-02-18 12:36:23 633

转载 交叉编译环境下gcc编译汇编文件

1、arm-linux-gcc:首先编写C程序,假设名字为test.c,保存test.c文件内容:[cpp] view plaincopyprint?#include  int main()  {          printf("hello.world!\n");         

2013-12-26 14:26:11 4131

转载 静态类成员和成员函数

类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时

2013-12-12 17:33:21 479

转载 linux下find命令小结

whereis 查找软件的安装路径-b 只查找二进制文件-m 只查找帮助文件-s 只查找源代码-u 排除指定类型文件-f 只显示文件名-B 在指定目录下查找二进制文件-M 在指定目录下查找帮助文件-S 在指定目录下查找源代码locate 在文件索引数据库中搜索文件-d 搜索指定数据库updatedb更新文件索引数据库f

2013-12-03 14:13:57 822

原创 make小注

GNU make 工具在当前工作目录中按照GNUmakefile、makefile、Makefile的顺序搜索 makefile文件。 make命令映射指定名称的makefile文件。

2013-11-06 17:44:46 517

转载 linux系统开机启动过程详解

开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径。  启动第一步——加载BIOS  当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP

2013-08-09 23:30:59 723

转载 More Effective C++:自增和自减

很久以前(八十年代),没有办法区分++和--操作符的前缀与后缀调用。这个问题遭到程序员的报怨,于是C++语言得到了扩展,允许重载increment 和 decrement操作符的两种形式。   然而有一个句法上的问题,重载函数间的区别决定于它们的参数类型上的差异,但是不论是increment或decrement的前缀还是后缀都只有一个参数。为了解决这个语言问题,C++规定后缀形式有一个in

2013-07-22 15:13:07 930

原创 windows 文件系统图标意外变化-----图标缓存

今天开机,发现windows文件系统的图标意外变成不可知的图标了,晕死,最近都没怎么在座位上,很少使用工作用机,竟然还出现这种问题,真是躺着也中枪。ok,总归要解决呀,否则还要重装系统,更是浩大之工程,浪费精力和时间。解决方法:首先右击桌面空白处选择“属性”,切换到“外观”选项卡,点高级,在“项目”框的下拉列表中选择“图标”,改变一下图标的大小,然后再变回原设置即可。这样系统就

2013-07-16 09:54:51 897

转载 Context Switch

A CPU can still only be running one process at a time, but multitasking gets around that by scheduling which tasks will be running at any given time. The act of switching from one task to another is

2013-06-07 10:13:22 1007

原创 系统块大小(block size)

系统块大小,block size并不被重视,因为一般很少会注视到,除非需要探究文件系统原理。我碰到这个问题其实很巧合,根据项目需要,我需要重新实现df命令,计算linux下相关目录的空间占用情况,在计算目录剩余空间大小以MB为单位,就必须根据系统块大小计算。df命令源码实现涉及库函数如下:int statfs(const char *path, struct statfs *buf);

2013-06-01 18:49:55 9111

转载 Working set和Private bytes区别

在Performance monitor中可以通过private bytes和Virtual bytes来衡量程序的内存使用. 在task manager中, 也有Memory Usage和VM Size两项. 但是仔细比较后会发现Memory Usage并不是对应private bytes, VM Size也不是对应Virtual Bytes. 其实, task manage

2013-05-28 18:12:18 2220

原创 套接口Socket数据发送过程详解

套接口发送数据过程,我们主要关注TCP和UDP数据发送,摘自《Unix网络网络编程》卷一第二章。TCP数据发送过程应用进程写数据到套接口缓冲区过程如下图: 每一个TCP套接口有一个发送缓冲区,我们可以用SO-SNDBUF套接口选项来改变这一缓冲区的大小(7.5节)。当应用进程调用write时,内核从应用进程的缓冲区中拷贝所有数据到套接口的发送缓冲区。如果套接口的发送缓冲

2013-05-26 11:37:10 1854

转载 ulimit 改善系统性能

概述系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段。ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell 进程及其子进程的资源使用设置限制。本文将在后面的章节中详细说明 ulimit 的功能,使用以及它的影响,并以具体的

2013-05-23 23:54:53 515

原创 core dump

Core dump定义core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump.查看core dump信息,可在linux系统终端内输入命令:man core dump,以下截取部分内容,Linux man pages ——core - core dump fileTh

2013-05-23 15:22:18 872

转载 linux下获取文件大小总结

1.直接用标准C的文件操作函数实现:1. unsigned long get_file_size(const char *filename) 2. { 3. unsigned long size; 4. FILE* fp = fopen( filename, "rb" ); 5. if(fp==NULL) 6. { 7. printf("ERROR:

2013-05-22 15:47:29 983

转载 类大小及类成员分配

1、为何空类的大小不是0呢?为了确保两个不同对象的地址不同,必须如此。类的实例化是在内存中分配一块地址,每个实例在内存中都有独一无二的二地址。同样,空类也会实例化,所以编译器会给空类隐含的添加一个字节,这样空类实例化后就有独一无二的地址了。所以,空类的sizeof为1,而不是0.2、请看下面的类:class A{ virtual void f(){} };c

2013-05-20 15:38:03 688

转载 pthread总结二

一般来说,Posix的线程终止有两种情况:正常终止和非正常终止。线程主动调用pthread_exit()或者从线程函数中return都将使线程正常退出,这是可预见的退出方式;非正常终止是线程在其他线程的干预下,或者由于自身运行出错(比如访问非法地址)而退出,这种退出方式是不可预见的。        线程终止时清理    不论是可预见的线程

2013-05-18 17:16:38 582

原创 linux pthread总结一

pthread 线程有两种状态,joinable(非分离)状态和detachable(分离)状态,默认为joinable。  joinable:当线程函数自己返回退出或pthread_exit时都不会释放线程所用资源,包括栈,线程描述符等。  detachable:线程结束时会自动释放资源。引用描述:When a joinable thread terminates, it

2013-05-18 17:03:43 921

原创 僵尸进程(zombie process )

僵尸进程参照百度百科,及其部分论坛内容。In UNIX System terminology, a process that has terminated,but whose parent has not yet waited for it, is called a zombie. 在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将

2013-05-18 16:46:00 1638

原创 字节对齐详解

接触字节对齐,主要还是因为sizeof结构体大小时引入的,其实很早就接触过,只不过并没有记录成文,今天就总结下。字节对齐:现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。各个

2013-05-18 12:10:05 581

转载 带外数据详解

了解带外数据可查《Unix网络编程第一卷》第二十一章。A,TCP支持带外数据OOB吗?与紧急模式URG有什么关系?     TCP支持带外数据,但是只有一个OOB字节,TCP的带外数据是通过紧急模式URG实现的.B,我们知道send(sendfd,"ABC",3,MSG_OOB),将发送3个字节的带外数据OOB数据.但是这里TCP又只支持一个字节的OOB,难道丢掉2个字节?

2013-05-17 17:30:26 884

原创 gtest库Qt、cygwin编译

gtest目录下README详细介绍说明了linux下编译库过程,就不赘述了。重点是介绍Qt编译和cygwin编译。我用的是gtest-1.6.0,解压gtest压缩包到目录d:/gtest。一、Qt编译创建pro文件,进入解压后gtest目录即d:/gtest,在目录src、include同级目录下创建pro文件,命名为gtest.pro;编辑gtest.pro:主要添加源文件(

2013-05-15 17:25:05 2366

转载 UML用例图总结

用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。  【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。  用例图所包含的元素如下:  1. 参与者(Actor)  表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。  2. 用例(Use Case)

2013-05-04 18:50:21 537

转载 索引的创建原则

基于合理的数据库设计,经过深思熟虑后为表建立索引,是获得高性能数据库系统的基础。而未经合理分析便添加索引,则会降低系统的总体性能。索引虽然说提高了数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。是否要为表增加索引、索引建立在那些字段上,是创建索引前必须要考虑的问题。解决此问题的一个比较好的方法,就是分析应用程序的业务处理、数据使用,为经常被用作查询条件、或者被要求排序的字段建

2013-05-02 18:27:50 578

转载 linux 实时线程优先级实质

今天查看了linux下的实时线程,FIFO和RR策略的调度,遇到一个问题:     priority越大优先级越高呢?还是越小越高呢?     回答这个问题要明白一个问题,首先,linux2.6内核将任务优先级进行了一个划分:    0——99  实时进程    100——139   非实时进程    现在,这个划分是起决定作用的,而且一定是数值越小,优先级

2013-04-27 14:14:42 1786

转载 如何搭建交叉编译环境

搭建交叉编译环境是一项很繁琐和耗时的工作,查过资料后发现一篇描述很详尽的博客,以power pc为例,转载自http://blog.sina.com.cn/s/blog_70dd16910100y7vj.html。第一部分 概述跟主流的PC软件开发工具一样,嵌入式系统开发需要编译器,链接器,解释器,以及其它的一下工具(这些工具可以集成到eclipse当中来方便用户开

2013-04-06 17:21:28 3285

原创 linux内存检查工具交叉编译

前段时间,arm下业务软件莫名其妙的挂死,然而挂死时间和时机均属于不确定因素,测试发现挂死几率并不高,有时一天两天都不会出现,有时半小时、一小时就挂死,晕死,经过排查和现象推断极有可能是内存访问或操作异常导致,好吧,查代码并无明显异常访问、操作迹象,如何是好???唉,只能求助于第三方内存查看软件喽!!1.Valgrind,我的第一选择Valgrind是一款用于内存调试、内存泄漏检测以及

2013-04-06 17:07:40 3428

转载 tcp断开

TCP状态转移要点    TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不 会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得 注意的状态有两个:CLOSE_WAIT和TIME_WAIT。1、LIS

2013-04-06 15:32:48 943

04-09软件设计师真题答案集锦

2004-2009软件设计师真题答案集锦

2013-05-04

valgrind-3.8.1

Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具.

2013-03-29

PE详解(windows 可移植的执行体)

PE 的意思就是 Portable Executable(可移植的执行体)。它是 Win32环境自身所带的执行体文件格式。它的一些特性继承自 Unix的 Coff (common object file format)文件格式。"portable executable"(可移植的执行体)意味着此文件格式是跨win32平台的 : 即使Windows运行在非Intel的CPU上,任何win32平台的PE装载器都能识别和使用该文件格式。当然,移植到不同的CPU上PE执行体必然得有一些改变。所有 win32执行体 (除了VxD和16位的Dll)都使用PE文件格式,包括NT的内核模式驱动程序(kernel mode drivers)。因而研究PE文件格式给了我们洞悉Windows结构的良机。

2012-06-06

HTTP协议详解

超文本传输协议(HTTP)是一种为分布式,协作式的,超媒体信息系统。它是一种通用的,无 状态(stateless)的协议,除了应用于超文本传输外,它也可以应用于诸如名称服务器和分布 对象管理系统之类的系统,这可以通过扩展它的请求方法,错误代码和消息头[47]来实现 。 HTTP的一个特性就是是数据表现形式是可以定义的和可协商性的,这就允许系统能独立于于 数据传输被构建。

2012-06-04

Windows PE文件详解

Windows PE文件结构格式,意义,详细描述PE文件

2012-06-04

vc语言中强制关机程序

c语言强制关机代码,得到系统的重新启动,关机,注销等消息,然后从程序退出,而不被系统强制结束任务 。

2009-06-25

空空如也

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

TA关注的人

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