- 博客(8)
- 资源 (1)
- 收藏
- 关注
翻译 去除字符串左边右边的空格的方法
char *RightTrim(char *string ){ int n = strlen( string ) - 1; while( n > 0 ) { if ( *( string + n ) != 0x20 ) //0x20 == 32 == ' ' { *( string + n + 1 ) = 0; //0 == '\0' break; }
2012-05-22 15:15:22 789
原创 Mjpeg-streamer源码分析(一)
Mjpeg-streamer源码分析 --------------------------------------------------------------------------------------------------基础知识: 条件变量: 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作: 一个线程等待"条件变量的条件成立
2012-01-08 09:57:18 6765 4
转载 Linux输入子系统input_dev概述
Linux 系统提供了input子系统,按键、触摸屏、键盘、鼠标等输入都可以利用input接口函数来实现设备驱动,因此,12.1~12.2节的按键和触摸屏设备驱动都可以作为input设备驱动而实现。在Linux 内核中,input设备用input_dev 结构 体描述,使用input子系统实现输入设备驱动的时候,驱动的核心工作是向系统报告按键、触摸屏、键盘、鼠标等输入事件(event,通过in
2011-11-30 19:21:14 455
转载 线程池
什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。 下面是Linux系统下用C语言创建的一个线程池。线程池会维护一个任务链表(每个CThread_worker结构就是一个任务)。
2011-11-27 18:37:33 343
转载 互斥锁&&条件变量
一、互斥锁互斥量从本质上说就是一把锁, 提供对共享资源的保护访问。 1. 初始化: 在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化: 对于静态分配的互斥量, 可以把它设置为PTHREAD_MUTEX_INITIALIZER, 或者调用pthread_mutex_init. 对于动态分配的互斥量, 在申请内存(m
2011-11-27 17:40:15 315
原创 进程上下文&中断上下文
进程上下文:可执行程序代码是进程的的重要组成部分。这些代码从一个可执行文件载入到进程的地址空间执行。一般程序在用户空间执行。当一个程序执行了系统调用或者触发了某个异常,它就陷入了内核空间。此时,我们称内核“代表进程执行”并处于进程上下文中。在此上下文中current宏是有效的。除非在此间隙有更高的优先级的进程需要执行并由调度器做出了相应的调整,否则在内核退出的时候,程序恢复在用户空间会继续执行
2011-11-20 21:48:04 436
原创 ARM的异常处理过程分析
当异常产生时,ARM core会完成以下流程:1.拷贝CPSR到SPSR_mode2.设置适当的CPSR位: 改变处理器状态进入ARM态 改变处理器模式进入相应的异常模式
2011-11-19 09:23:45 486
原创 fs2410简单的启动代码架构
@*************************************************************************@ File:head.S@ 功能:设置SDRAM,将程序复制到SDRAM,然后跳到SDRAM继续执行@********************************************************************
2011-11-19 09:04:31 238
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人