- 博客(18)
- 资源 (8)
- 收藏
- 关注
原创 网络视频监控与人脸识别
明天又要去面试了,趁次机会也将以前做的东西总结一下,为以后理解提供方便,也再加深下印象。网络视频监控与人脸识别主要由三个程序组成:1、视频采集与传输程序;2、接受与显示程序;3、人脸识别程序。下面就分别来分析一下这三个程序。一、视频采集与传输程序(Servfox)
2011-09-27 21:22:46 2983
原创 Linux常见数据结构之链表
链表是一种常见的重要数据结构,它可以动态地进行存储分配,根据需要开辟内存单元,还可以方便地实现数据的增加和删除。链表中的每个元素都由两部分组成:数据域和指针域。 其中,数据域用来存储数据元素的信息,指针域用来存储该元素的直接后继元素的位置。其整体结构就是用指针相链接起来的线性表,如下图所示:下面通过实例说明单链表使用方法,在该实例中可实现在任意位置增加或删除结点。#incl
2011-09-25 21:25:07 1164
转载 常见的内存错误及对策
1.1、指针没有指向一块合法的内存定义了指针变量,但是没有为指针分配内存,即指针没有指向一块合法的内存。浅显的例子就不举了,这里举几个比较隐蔽的例子。1.1.1结构体成员指针未初始化struct student{char *name;int score;
2011-09-21 09:55:24 4487
转载 Linux 2.6内核新变化
内核抢占 内核抢占补丁在2.5系列中就已经被打上,接下来在2.6中也会打。这将显著地降低用户交互式应用程序、多媒体应用程序等类似应用程序的延迟。这一特性对实时系统和嵌入式系统来说特别有用。 2.5的内核抢占模块的工作由 Robert Love 完成。在先前的内核版本
2011-09-18 15:39:05 782
原创 优先级反转
优先级翻转发生的条件: 1、首先发生翻转需要有三个任务,它们的优先级分别是高、中、低。 2、低优先级和高优先级都需要take同一个信号量。 优先级翻转的过程: 1、低优先级先take到信号量。 2、低优先级被中优先级任务抢占
2011-09-17 20:26:45 714
转载 嵌入式内功.葵花宝典
欲练神功,挥刀自宫 话说东方不败得到《葵花宝典》以后,迫不及待地翻开第一页,面对“欲练神功,引刀自宫”八个大字倒吸了一口凉气。苦苦思索了七天七夜之后终于痛下决心,喀嚓一声,引刀自宫。强忍著身体的剧痛,怀著凝重的心情,东方不败缓缓翻开了第二页,映入眼帘的又是八个大字:“若不
2011-09-17 20:15:08 882
原创 内核中断机制
中断是Linux内核驱动程序中非常重要的地方,但实际上,中断处理程序也没有什么与众不同的地方,它们也就是普通的C程序。 唯一独特的地方就是处理程序是在中断时间内运行的,因此它的行为会受到一些限制。这些限制与我们的内核定时器中看到的一样。 a)处理例程不能想用户空
2011-09-17 10:18:43 1722
原创 内核中的并发
一、自旋锁(spinlock)和互斥体(mutex)是保护内核临界区的两种基本机制。 1)自旋锁: 自旋锁可以确保在同一时间只有一个线程进入临界区。其他想进入临界区的线程必须不断地在原地打转,知道第一个线程释放自旋锁。 #inclu
2011-09-16 19:57:30 1372
转载 Linux与其他类Unix内核的比较
单块内核(Monolithic kernel)它是一个庞大、复杂的自己做(do-it-yourself)程序,构成几个逻辑上独立的成分。在这一点上,它是相当传统的,大多数商用Unix变体也是单块结构。(一个显著的例外是卡耐基-梅隆大学的Mach 3.0,它遵循微内核(micr
2011-09-16 10:49:50 800
原创 “生产者-消费者”编程
#include #include #include #include #include #include #include #include #include #define MYFIFO "myfifo"#define BUFFER
2011-09-14 12:21:14 919
原创 OSI模型与TCP/IP模型
1.层物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。 2.层数据链路层:主
2011-09-14 10:18:05 707
原创 Linux多线程同步机制
一、互斥锁尽管在Posix Thread中同样可以使用IPC的信号量机制来实现互斥锁mutex功能,但显然semphore的功能过于强大了,在Posix Thread中定义了另外一套专门用于线程同步的mutex函数。1. 创建和销毁 有两种方法创建互斥锁,静态方式
2011-09-10 21:18:00 21383 2
原创 Linux进程间通信
进程间通信 IPC(InterProcess Communication)基本机制:信号、管道及命名管道、消息队列、共享主存、信号量、套接字。 信号:全称软中断信号,是在软件层次上对中断机制的一种模拟,它也是进程间通信机制中唯一的异步通信机制。Linux信号处理函数可分为信号安装函数、信号发送函数和信号集操作函数。信号安装函数signal(int signum,void(*handl
2011-09-10 10:46:33 2150
原创 C语言修饰词之violate
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值(From Memory),而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:
2011-09-09 21:38:21 6672 1
原创 C语言修饰词之static
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.
2011-09-09 21:34:46 1203
原创 C语言修饰词之const
const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。另外CONST在其他编程语言中也有出现,如C++、PHP5、C#.net、H
2011-09-09 20:55:49 1076
原创 嵌入式Linux各种环境搭建
1、配置交叉编译环境编辑/etc/bash.bashrc 在该文件中添加:alias arm-linux-gcc='/usr/local/arm/4.3.2/bin/arm-linux-gcc' 。其中alias中文意思就是添加一个别名。保存退出后,执行$source /etc/bash.bashrc.。同理其他命令也可按照这个格式添加,这样可大大缩短命令的输入时间。当然还有一种办法就是在当前
2011-09-09 20:34:51 1284
原创 嵌入式Linux C笔试题积累
1. 嵌入式系统中断服务子程序(ISR) 中断是嵌入式系统中重要的组成部分,这导致了很 多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字 __interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。 __interrupt double compute_area (double rad
2011-09-09 20:29:59 13190 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人