自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Dijkstra算法

转自:http://tech.ddvip.com/2014-06/1401793103210850.html迪杰斯特拉算法介绍迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。基本思想    通过Dijkstra计算图G中的最

2015-03-29 13:57:16 397

转载 linux 的socket编程

1. 网络中进程之间如何通信进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如UNIX BSD有:管道(pipe)、命名管道(named pipe)软中断信号(signal)UNIX system V有:消息(message)、共享存储区(share

2014-08-03 13:27:56 362

转载 Linux中的AIO

AIO 简介Linux 异步 I/O 是 Linux 内核中提供的一个相当新的增强。它是 2.6 版本内核的一个标准特性,但是我们在 2.4 版本内核的补丁中也可以找到它。AIO 背后的基本思想是允许进程发起很多 I/O 操作,而不用阻塞或等待任何操作完成。稍后或在接收到 I/O 操作完成的通知时,进程就可以检索 I/O 操作的结果。I/O 模型在深入介绍 AIO API

2014-07-22 20:36:59 525

转载 如何在Ubuntu下搭建nfs

一、在主机上安装必要的软件,使用命令 : 1、sudo apt-get install nfs-kernel-server 2、sudo apt-get install portmap。      二、在主机上配置配置文件。安装好上面的软件后,会在/etc下出现一个名叫exports的文件(如果没有新建一个也可以),打开后可以看到如下内容:

2014-04-16 22:51:46 450

转载 QML

1、默认情况下,QML文档可以访问同目录下的.qml文件定义的任何QML对象类型。如果一个文档需要访问其他的对象类型,那么它必须导入该对象的命名空间。

2014-04-11 11:36:37 618

转载 关于linux操作系统下的互斥量的建立

在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化:nt pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restric attr);第2个参数可以是NULL,表示默认。下面是进行上锁和开锁:int

2014-03-31 15:12:58 576

转载 一些基础知识

C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这个愚蠢的问题吗?如要你答出某个字符的ASCI

2013-12-31 11:26:14 450

转载 2013年12月22日

1、XIP(芯片内执行)、MBR(主引导扇区)。2、系统加电或复位后,所有的 CPU 通常都从某个由 CPU 制造商预先安排的地址上取指令。比如,基于 ARM7TDMI core 的 CPU 在复位时通常都从地址 0x00000000 取它的第一条指令。而基于 CPU 构建的嵌入式系统通常都有某种类型的固态存储设备(比如:ROM、EEPROM 或 FLASH 等)被映射到这个预先安排的地址上。

2013-12-22 14:21:47 426

转载 2013年12月21号

1、波特率在串口传输中的重要性。2、code warrior如何创建工程以及工程中的文件包含。3、c语言中的防止重定义问题。假设源文件test.c中包含a.h和b.h两个头文件,而a.h和b.h里又都包含另一个头文件x.h(很常见),那么x.h就会被test.c两次include,如果x.h里定义了某结构体,如:typedef struct {……}TEST预处理(

2013-12-22 09:40:36 457

转载 2013年12月20号

1、zImage和Uimage。         zImage是ARM Linux常用的一种压缩映像文件,uImage是U-boot专用的映像文件,它是在zImage之前加上一个长度为0x40的“头”,说明这个映像文件的类型、加载位置、生成时间、大小等信息。换句话说,如果直接从uImage的0x40位置开始执行,zImage和uImage没有任何区别。另外,Linux2.4内核不支持uImag

2013-12-20 13:19:15 504

转载 windows下的txt文件在linux下观看

iconv -f gbk -t utf8 shujujiegou.txt > shujujiegou.txt.utf8

2013-12-19 23:10:10 605

转载 ubuntu tftp设置详解

Ubuntu系统的发型,给一些家用用户带来了福音。那么在这之中,我们如何进行Ubuntu tftp的设置呢?Ubuntu 团队对它的使用者公开的承诺:Ubuntu 永远免费 , 并且对于 "企业版本" 没有任何额外的费用, 在同样的自由团队上,将最好的工作成果带给每一个人。配置Ubuntu tftp服务的步骤:1、安装相关软件包:Ubuntu tftp(服务端),tftp(客户端),xin

2013-12-18 22:41:44 501

转载 进程上下文

当一个进程在执行时,CPU的所有寄存器中的值、进程的状态以及堆栈中的内容被称为该进程的上下文。当内核需要切换到另一个进程时,它需要保存当前进程的所有状态,即保存当前进程的上下文,以便在再次执行该进程时,能够得到切换时的状态执行下去。在LINUX中,当前进程上下文均保存在进程的任务数据结构中。在发生中断时,内核就在被中断进程的上下文中,在内核态下执行中断服务例程。但同时会保留所有需要用到的资源,以便

2013-12-16 20:58:52 524

转载 declare global data ptr

DECLARE_GLOBAL_DATA_PTR 只是一个定义的宏,这个宏定义了一个gd_t全局数据结构的指针,这个指针存放在指定的寄存器中(386体系结构没有放到指定寄存器中)。例如mips体系结构中,DECLARE_GLOBAL_DATA_PTR定义如下:#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("

2013-11-14 19:07:08 494

转载 cscope使用第四章

个人觉得cscope插件是所有vim插件中最强大的一个,使用它给我带来的方便,快捷以及灵活性,使我的日常软件开发效率和读代码的效率提高了许多。在给它投票时,我投了Life Change,是的,它改变了我的生活。Cscope最先由MIT的研究人员开发,也算是系出名门。它能够完成什么样的功能呢?我先简单的列举几条:1、在函数调用点快速跳转到函数定义处,反之亦然。如果有多个调用点,会以列表形式给

2013-11-10 22:06:19 455

原创 C和指针

第八章 数组1 在进行函数形参的传递中,数组名和指针式同等的,但是指针是最正确的方式。2 关于数组的初始化问题,首先要明确数组初始化的位置,是在函数的内部(包括main函数)还是在函数的外部,在函数外部声明时,即使没有初始化,它也有自己的初值,就是0,要是在函数背部的话,只就有可能不是0,是其他的数字。另外,在函数内部的时候,由于是自动变量,它是位于堆栈中的位置,每次程序执行到该函数时,都

2013-11-06 11:58:44 447

转载 .c和.h文件的区别

一个简单的问题:.c和.h文件的区别学了几个月的C语言,反而觉得越来越不懂了。同样是子程序,可以定义在.c文件中,也可以定义在.h文件中,那这两个文件到底在用法上有什么区别呢?2楼:子程序不要定义在.h中。函数定义要放在.c中,而.h只做声明.否则多引用几次,就会发生函数重复定义的错误。3楼:.h只做声明,编译后不产生代码4楼: 这样做目的是

2013-10-30 21:24:46 720

原创 c语言中的一些运算符和表达式

算术转换:如果某个操作符的各个操作符属于不同的类型,那么除非其中一个操作数转换为另外操作数的类型,否则操作就无法进行。long doubledoublefloatusigned long intlong int usigned int int如果某个操作数的类型在上面这个列表中排名较低,那么它首先将转换为另外一个操作数的类型然后执行。

2013-10-30 20:47:21 545

转载 c语言中的字符数组赋值

char a[10];1、定义的时候直接用字符串赋值char a[10]="hello";注意:不能先定义再给它赋值,如char a[10];                                                   a[10]="hello";                                                    这样是错

2013-10-30 19:18:13 636

转载 start.s 代码分析

首先根据链接脚本我们知道程序从u-boot-2009.03/cpu/arm920t/start.S开始,而且入口是_start,因此我们先看start.S, 首先是下面的程序:40 .globl _start41 _start: b start_code42 ldr pc, _undefined_instruction43 ldr pc, _software_interrupt

2013-10-22 10:09:02 963

转载 .globl expression

.globl指示告诉汇编器,_start这个符号要被链接器用到,所以要在目标文件的符号表中标记它是一个全局符号(在第 5.1 节 “目标文件”详细解释)。_start就像C程序的main函数一样特殊,是整个程序的入口,链接器在链接时会查找目标文件中的_start符号代表的地址,把它设置为整个程序的入口地址,所以每个汇编程序都要提供一个_start符号并且用.globl声明。如果一个符号没有用.gl

2013-10-22 09:49:21 404

转载 .word expression

_rWTCON:.word        0x15300000就是在当前地址,即_rWTCON处放一个值0x15300000

2013-10-22 09:46:31 550

转载 u-boot中的链接文件的阅读思考

都知道U-BOOT分为两个阶段,第一阶段是(~/cpu/arm920t/start.S中)在FLASH上运行(一般情况下),完成对硬件的初始化,包括看门狗,中断缓存等,并且负责把代码搬移到SDRAM中(在搬移的时候检查自身代码是否在SDRAM中),然后完成C程序运行所需要环境的建立,包括堆栈的初始化等,最后执行一句跳转指令:        ldr pc, _start_armboot

2013-10-22 09:41:07 569

空空如也

空空如也

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

TA关注的人

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