自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 MFC中的MainFrame Dlg,App,Doc,View的关系

转载自http://www.cnblogs.com/easymind223/articles/2576913.htmlMFC中的MainFrame Dlg,App,Doc,View的关系MainFrame: 主框架类Dlg 是Dialog 的缩写,表示对话框本身 App类就是这个SDI作为"程序"的入口,有点像c的Main函数,它不是从CWND中派生出来

2015-01-24 18:35:04 618

转载 主成分分析(PCA)是目前应用很广泛的一种代数特征提取方法

主成分分析(Principal Component Analysis,简称PCA)方法是目前应用很广泛的一种代数特征提取方法,可以说是常用的一种基于变量协方差矩阵对样本中的信息进行处理、压缩和抽提的有效方法,主要通过K-L(Karhunen-Loeve)变换展开式从人脸数据库中提取人脸的主要特征[i],构成特征脸空间,在识别时将待测试的人脸图像投影到特征脸空间,得到一组投影系数,与数据库中各个人脸

2015-01-24 08:57:54 3719

转载 OpenCV训练分类器制作xml文档

转载自http://blog.csdn.net/liulina603/article/details/8184451opencv 2.1网上查的另一种资料训练分类器成功,在此与大家分享。 参考英文资料网址: http://note.sonots.com/SciSoftware/haartraining.html#e134e74e 样本训练要求

2014-09-24 10:53:18 594

转载 Ubuntu中如何清理系统垃圾

Ubuntu Linux与Windows系统不同,Ubuntu Linux不会产生无用垃圾文件,但是在升级缓存中,Ubuntu Linux不会自动删除这些文件,今天就来说说这些垃圾文件清理方法。 请谨慎操作1,非常有用的清理命令:sudo apt-get autoclean --清理旧版本的软件缓存sudo apt-get clean--清理所有软件缓存su

2014-05-19 12:12:14 493

转载 apt-get的用法

分类: Ubuntu Linux2012-10-24 09:28 108人阅读 评论(0) 收藏 举报目录(?)[-]apt命令用法apt-get updateapt-get install packagenameapt-get remove packagenameapt-get --purge removepackagenamedpkg --force-all

2014-05-17 18:17:54 316

转载 U-Boot启动流程(Linux内核)的分析

这一篇主要就是U-Boot的config.mk进行了分析。如果要使用开发板board/,就先执行“make_config”命令进行配置,然后执行”make all“,就可以生成 如下3个文件。U-boot.bin:二进制可执行文件,它就是可以直接烧入ROM,NORFlash的文件u-Boot:ELF格式的可执行文件,U-Boot.srec:Motorla S-Record格式的可执行文

2014-03-18 13:21:34 465

转载 U-Boot启动过程--详细版的完全分析

我们知道,bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。    在PC机上引导程序一般由BIOS开始执行,然后读取硬盘中位于MBR(Main Boot Record,主引导记录)中的Bootloader(例如LILO或GRUB),并进一步引导操作系统的启动。    然而在嵌入式系统中通常没有像BIOS那样的固件程序,因此整个

2014-03-18 12:31:48 602

转载 各类IP地址的范围

各类IP地址的范围网络号:用于识别主机所在的网络; 主机号:用于识别该网络中的主机。 IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。 A、B、C三类IP地址的特征:当将IP地址写成二进制形式时,A类地址的第一位总是O,B类地址的前两位总是10,C类地址的前三位总是110。 1.

2013-12-29 13:36:22 862

转载 getopt和getopt_long函数

平时在写程序时常常需要对命令行参数进行处理,当命令行参数个数较多时,如果按照顺序一个一个定义参数含义很容易造成混乱,而且如果程序只按顺序处理参数的话,一些“可选参数”的功能将很难实现。在Linux中,我们可以使用getopt、getopt_long、getopt_long_only来对这个问题进行处理。[cpp] view plaincopy

2013-12-29 13:25:31 431

转载 getopt函数:处理命令行参数

Linux下很多程序甚至那些具有图形用户界面(graphical user interface,GUI)的程序,都能接受和处理命令行选项。对于某些程序,这是与用户进行交互的主要手段。具有可靠的复杂命令行参数处理机制,会使得您的应用程序更好、更有用。getopt()是一个专门设计来减轻命令行处理负担的库函数。1、命令行参数命令行程序设计的首要任务是解析命令行参数,GUI派的程序员很少

2013-12-29 13:09:21 625

转载 基于Qt的FreeType字体轮廓解析

一、本文目的以前的文档中、详细的介绍了FreeType开源字体引擎库的基础知识、基本用法、但并未详细的阐明在TurboCG中、是如何解析出一个文字的轮廓的,本文集中阐述、怎么样使用FreeType开源字体引擎库、读取一个文字的轮廓、获取轮廓关键点(控制点)之后,解析这些关键点;并使用Qt作为辅助GUI接口、绘制出字体的轮廓。本文虽然集中讲解文字轮廓处理、但为了完整性,也会介绍怎

2013-12-28 14:40:49 1572

转载 linux 中断机制浅析

转载地址:http://blog.csdn.net/orz415678659/article/details/8721805一、中断相关结构体1.irq_desc中断描述符[cpp] view plaincopyprint?struct irq_desc {  #ifdef CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED 

2013-12-23 20:51:52 820

转载 Linux驱动修炼之道-DM9000A网卡驱动框架源码分析

网络设备的初始化:通过模块的加载函数看出DM9000A的驱动是以平台驱动的形式注册进内核的,下边是模块的加载函数:1.static int __init   2.dm9000_init(void)   2.{   3.    printk(KERN_INFO "%s Ethernet Driver, V%s\n", CARDNAME, DRV_VERSION);   4. 

2013-12-23 20:22:37 554

转载 16C2550串口芯片在at91sam9263板上的linux驱动移植 .

16C2550串口芯片可以扩展两个串口。它的操作方法和寄存器用法与8250完全相同,因此我们可以用linux内经典的8250驱动来驱动st16c2550。8250驱动完全不变,需要添加16C2550的初始化代码。初始化代码中要对16C2550进行片选和IRQ的管脚设置,并且要对16c2550外设的读写时序配置(setup,pulse,cycle),同时将驱动和设备挂钩。对外设空间读写时序的

2013-12-23 11:32:14 990

转载 adr指令分析

一、adr和ldr的区别同学们在学习ARM指令时,多数都会对adr和ldr这两个命令产生疑惑,那他们究竟有什么区别呢?其实这两个都是伪指令:adr是小范围的地址读取伪指令,ldr是大范围的读取地址伪指令。可实际上adr是将基于PC相对偏移的地址值或基于寄存器相对地址值读取的为指令,而ldr用于加载32为立即数或一个地址到指定的寄存器中。到这儿就会看到其中的区别了。如果在

2013-12-12 16:27:41 1493

转载 目标文件格式分析工具: ar,nm,objdump,objcopy,readelf

转自http://blog.csdn.net/linuxliu/article/details/4492593如果普通编程不需要了解这些东西,如果想精确控制你的目标文件的格式或者你想查看一下文件里的内容以便作出某种判断,那么你可以看一下下面的工具:ar,nm,objdump,objcopy。具体用法请参考man在线手册。ar基本用法    ar命令可以用来创

2013-12-11 17:53:26 435

转载 diff命令

介绍diff 命令主要用来比较2个文件或目录之间的不同之处, 并生成一个差异文件, 例如, 当你要在配置了内核之后, 你可以用这个命令来查看我们的配置动作实际上修改了哪些CONFIG_项.diff –b  .config.old  .config.new > config_diff.log   上面这条命令就可以生成一个config_diff.log的差异文件, 里面记录了.confi

2013-12-11 17:50:57 578

转载 ifconfig使用及其配置文件

Linux下网卡命名规律:eth0,eth1。第一块以太网卡,第二块。lo为环回接口,它的IP地址固定为127.0.0.1,掩码8位。它代表你的机器本身。 1、ifconfig是查看网卡的信息。 ifconfig [Interface] Interface是可选项,如果不加此项,则显示系统中所有网卡的信息。如果添加此选项则显示所指定的网卡信息 例如:ifconfig

2013-12-11 17:43:32 2726

转载 SED AND AWK

sed结构分析sed/awk教程众多,大多是实例教材,以举例为主;或者是语法教材,以语法讲解为主。学习了sed,又学习awk,结果学着学着,很容易迷糊,语法容易混淆。本文主要讲解sed的结构,使大家学习完以后对sed有一个整体性的把握。至于什么叫做结构,看完应该可以明白。本人sed/awk所学有限,错误之处请大家不吝指出。1: sed 语法sed -e 'pat

2013-12-11 17:38:42 454

转载 sed命令用法总结

很强大又很难,其中还有很多没懂,先都总结下来再慢慢学习。sed命令是隐性的全局命令参数s:替换文字内字符串。最多与两个地址参数配合。1.在包含字符串test的任意行上,将111替换成222#sed '/test/s/111/222/g'  sample.txt  2.以下三个命令相等,先在包含字符串test的任意行上,将111替换成222,再将字符f替换成hel

2013-12-11 16:53:43 867

转载 linux 常见服务端口

Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。提供这些服务的程序是由运行在后台的守护进程(daemons) 来执行的。守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统 关闭时终止。linux系统有很多守护进程,大多数服务器都是用守护进

2013-12-11 16:48:12 569

转载 BusyBox源码结构简介

1、 介绍 BusyBox称作是嵌入式开发的瑞士军刀,实用,短小,稳定。l  BusyBox利用Linux实用工具中代码大量重复的事实,将重复的代码重新整理,放到一个文件中,减少了多次包含。l  BusyBox通过简化非必要的复杂功能,减少占用的空间。l  BusyBox的完全可定制性,提供了非常灵活,宜于扩展的结构。2、BusyBox的基本用法 可以在原代码的docs中看到有两种

2013-12-11 16:46:20 2561

转载 GNU tools 开发ARM 程序及生成映象文件机理

GNU tools 开发ARM 程序及生成映象文件机理杜云海( duyunhai@hotmail.com ,(wwww.seajia.com)在我的ARM 学习报告001 中,用了一个简单的MySComm4510b 程序,对ARM 系统的映象文件的生成和执行过程做了一个很初浅的介绍,希望可以给初学者一个入门的启示。分析用的是ADS1.2 和ADW,基本上都是ARM 公司的编译工具,设置的选

2013-12-11 16:40:43 1615

转载 u-boot源码分析 --- 启动第二阶段007

转自http://blog.csdn.net/aaronychen/article/details/2815423下面我们就以引导linux内核的命令bootm为例,说一下u-boot到linux过渡及参数传递的整个过程。common/Cmd_bootm.c:U_BOOT_CMD(    bootm,  CFG_MAXARGS,    1,  do_bootm,    "boo

2013-12-11 16:14:32 449

转载 u-boot源码分析 --- 启动第二阶段006

转自http://blog.csdn.net/aaronychen/article/details/2815050common/main.c:/**************************************************************************** * returns: *  1  - command executed, repeat

2013-12-11 16:12:01 428

转载 u-boot源码分析 --- 启动第二阶段005

接下来我们主要分析main_loop()common/main.c:void main_loop (void){#ifndef CFG_HUSH_PARSER    static char lastcommand[CFG_CBSIZE] = { 0, };    int len;    int rc = 1;    int flag;#endif #if

2013-12-11 16:09:38 475

转载 u-boot源码分析 --- 启动第二阶段004

继续看console_init_r()函数common/console.c:/* Called after the relocation - use desired console functions */int console_init_r (void){    DECLARE_GLOBAL_DATA_PTR;     /*1. 首先获取由device_init里注册

2013-12-11 16:08:01 499

转载 u-boot源码分析 --- 启动第二阶段003

看完初始化函数表,我们在顺着启动流程继续往下看,在来回顾下start_armboot的代码 lib_arm/Board.c:void start_armboot (void){    ……    for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {        if ((*init_fn

2013-12-11 16:06:50 372

转载 u-boot源码分析 --- 启动第二阶段002

转自http://blog.csdn.net/aaronychen/article/details/2802547我们先来看初始化函数表: init_sequencelib_arm/board.c:typedef int (init_fnc_t) (void); init_fnc_t *init_sequence[] = {    cpu_init,       /*

2013-12-11 16:05:27 371

转载 u-boot源码分析 --- 启动第二阶段001

4.2 u-boot源码分析---启动第二阶段接着我们来看start_armboot, 从这开始应该属于bootloader的第2个阶段了,这个阶段的代码主要用c完成。 lib_arm/board.c:void start_armboot (void){    //该宏定义在include/asm-arm/Global_data.h    // #define DECL

2013-12-11 16:03:28 440

转载 uboot源码分析-第一阶段(汇编部分)

4.2 u-boot源码分析 --- 启动第一阶段分析代码当然要从上电后执行的第一条指令开始看起咯, 那第一条指令在哪呢? 还是以smdk2410为例,我们看它的链接脚本:board/smsk2410/u-boot.lds:……ENTRY(_start)   //入口地址SECTIONS{    . = 0x00000000;     . = ALIGN(4);

2013-12-11 16:01:02 592

转载 uboot源码分析-运行时内存分布

4 u-boot源码分析4.1 u-boot源码分析 --- 内存分布我们通过board/smdk2410/config.mk来分析运行时的内存分布情况board/smdk2410/config.mk:    ## SMDK2410 has 1 bank of 64 MB DRAM## 3000'0000 to 3400'0000## Linux-Kernel

2013-12-11 15:56:56 886

转载 u-boot源码分析 - 简介,编译

1   u-boot介绍U-Boot是一种通用的Bootloader, U-Boot可以方便地移植到其他硬件平台上,其源代码也值得开发者们研究学习。最早,DENX软件工程中心的Wolfgang Denk基于8xxrom的源码创建了PPCBOOT工程,并且不断添加处理器的支持。后来,Sysgo Gmbh把ppcboot移植到ARM平台上,创建了ARMboot工程。然后以ppcboot

2013-12-11 15:53:35 460

转载 U-Boot启动内核分析

转载自:http://blog.chinaunix.net/uid-13701930-id-336465.html先来引用一下这篇介绍“ARM Linux内核启动要求”的文章ARM Linux Kernel Boot Requirements,是ARM Linux内核的维护者Russell King写的。CPU register settingsr0

2013-12-11 15:47:47 395

转载 详解C中volatile关键字

转载自:  http://www.cnblogs.com/bluestorm/archive/2011/08/11/2298149.html  volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程

2013-12-11 14:03:29 411

转载 U_BOOT_CMD 分析

start_armboot{}main_loop{1. 环境变量mtdparts, 调用mtdparts_init2. 如果在启动过程中 无空格键按下则boot_zImage有空格键按下则 run_command("menu",0)3. shell过程,读取用户端输入并执行相应的命令{从输入端获得命令,保存在全局变

2013-12-11 14:00:20 608

转载 Linux环境下Socket编程

转载自:http://www.cnblogs.com/bluestorm/archive/2011/08/11/2298150.html      Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。Socket接口设计者最先是将接口

2013-12-11 13:56:12 458

转载 Source Insight 常用设置和快捷键大全

转载地址:http://www.cnblogs.com/bluestorm/archive/2012/10/28/2743792.html1.括号配对高亮:“在前括号左侧,后括号左侧” 双击鼠标左键,可以选定匹配括号和其中内容(2.让{ 和 } 不缩进:Options -> Document Options -> Auto Indenting -> Auto Inden

2013-12-10 21:25:41 470

转载 加载地址、运行地址

转载地址:http://blog.csdn.net/ce123_zhouwei/article/details/6990100           在连接目标代码时,会提到运行地址和加载地址。这两者有什么区别呢?          加载时地址就是程序放置的地址,运行地址就是程序定位的绝对地址,也即在编译连接时定位的地址。如果程序是在flash里运行,则运行地址和加载地址是相同的。如

2013-12-10 11:21:06 579

空空如也

空空如也

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

TA关注的人

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