- 博客(13)
- 资源 (55)
- 收藏
- 关注
转载 并发世界的阻塞
在一个群体并发往前行的世界中,一件事的暂停或者是不得已,或者是等待补充营养,或者是等待其他事物唤醒自己,没有谁想永远停滞不前。因此,并发世界中的阻塞是暂时,而被唤醒继续向前才是常态。 在操作系统中,阻塞是进程运行过程中的一个暂停状态,尤其是当进程因为等待慢速的外设进行输入输出时,应该放下自己所占有的CPU而自觉自愿地进入阻塞状态,这一听起来简单的行为,真正实现起来会涉及到方方面面细致而周到的
2011-12-15 11:41:17
717
原创 展讯平台消息传递之键盘消息 (二)
今天看了一点资料,回想起昨天写的 展讯平台消息传递之键盘消息,心中又多了点开阔,一鼓作气搞完它吧! 先说一下对前面的修改: 昨天说的大致流程确实不错,但是有些细节没有把握住(呵呵,我也是自己记录一些想法,如果大侠们有意见一定要提出来),如THREAD_ENTRY(KPDSVR)入口处就有SCI_CreateClientList(KEYPAD_SERVICE,(KP
2011-10-25 22:51:24
1347
原创 展讯平台之 MMI
一个应用程序是由一个或多个窗口构成的。窗口创建过程(hello sprd):(1)创建窗口TABLE()宏 WINDOW_TABLE定义了窗口数据信息表,在window_parse.hWINDOW_TABLE(MMI_HELLO_SPRD_WIN_TAB)={ WIN_ID(MMI_HELLO_SPRD_WIN_ID),//窗口ID WIN_FUNC((uint32)H
2011-10-25 14:52:40
2155
原创 展讯平台消息传递之键盘消息
工作已经马上四个月了!该动动笔祭奠祭奠这些时光了~ 这两天有个新案子,在以前的手机基础上增加了三个侧键,要做成音乐手机的上一曲,下一曲,暂停键。我的工作倒是很简单,找几个意思差不多的虚拟键盘对应到相应的文件就OK了,但是上层是怎么把消息对应到正确的按键呢? 在KEYPAD.C中有一个专为键盘而建立的进程KPDSVR,并规定了THREAD_ENTRY(KPDSVR)入口,在进程的
2011-10-24 18:27:44
1884
转载 机制 策略
Unix/Linux的接口设计有一句通用的格言“提供机制而不是策略”。区别对待机制(mechanism)和策略(policy)是Unix设计中的一大亮点。大部分的编程问题都可以被切割成两个部分:“需要提供什么功能”(机制)和“怎样实现这些功能”(策略)。如果由程序中的独立部分分别
2011-08-29 23:43:02
942
转载 va_list
(一)写一个简单的可变参数的C函数 下面我们来探讨如何写一个简单的可变参数的C函数.写可变参数的 C函数要在程序中用到以下这些宏: void va_start( va_list arg_ptr, prev_param ); type va_arg( va_
2011-08-25 14:32:36
4500
转载 Linux内存:内存管理的实质
1. 内核初始化: * 内核建立好内核页目录页表数据库,假设物理内存大小为len,则建立了[3G--3G+len]::[0--len]这样的虚地址vaddr和物理地址paddr的线性对应关系; * 内核建立一个page数组,page数组和物理页面系列
2011-08-23 22:33:17
634
转载 诺依曼 哈弗
中央处理器的体系架构可以分为:冯·诺依曼结构和哈佛结构 冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央
2011-08-23 20:54:33
1355
转载 container_of(ptr, type, member)
指针ptr指向结构体type中的成员member;通过指针ptr,返回结构体type的起始地址#define container_of(ptr, type, member) ({ \ const typeof( ((type
2011-08-23 18:03:33
1447
转载 ucos 任务优先级解析
μC/OS-Ⅱ是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。其 内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。适合小型控制系统,具有执行效率高、占用空间小、实时性能优良和可扩展 性强等特点,最小内核可编译至2KB。μC/OS-Ⅱ为何如此高效呢?我们从它的核心算法——任务调度算法开始分析。2.1任务调度算法分析 操作系统的实时性主要体现在:当优先级
2011-06-01 15:45:00
2756
原创 mini2440 iis 程序分析
<br />1,驱动架构: <br />驱动分两个层次,上层是平台设备驱动,底层是audio驱动与mixer驱动。<br />(1)标准的平台设备驱动结构,probe与remove两个函数。<br />probe:<br />获得平台资源->申请内存区域-io内存重映射->获得并使能时钟->设置gpio口->初始化iis总线-> 初始化uda1341->audio dma初始化->注册dsp和mixer->释放内存区域。<br />代码及注释:<br />static int s3c2410iis_prob
2011-05-27 10:35:00
1647
原创 ARM启动及工作模式切换
<br />一、原理<br />S3C2410 是三星公司基于ARM920T 设计的一款处理器,在开发基于S3C2410 的系统的过程中,如何让系统快速稳定地启动是一个重要问题。嵌入式系统的资源有限,程序通常都是固化在ROM 中运行。但在实际应用中,为提高系统的实时性,加快代码的执行速度,系统启动后程序往往要被搬移到RAM 中,因为RAM 的存取速度要比ROM 快得多,这样大大提升系统的性能。启动程序要完成的任务包括:硬件初始化,系统存储系统的配置,复制二级中断向量表。<br /><br />二、启动程序过
2011-05-26 01:18:00
1428
原创 S3C2440时钟描述
S3C2440 CPU默认的工作主频为12MHz或16.9344MHz,这里使用最多的是12M。使用PLL电路可以产生更高的主频供CPU及外围器件使用。S3C2440有两个PLL:MPLL和UPLL,UPLL专用与USB设备。MPLL用于CPU及其他外围器件。通过MPLL会产生三个部分的时钟频率:FCLK、HCLK、PLCK。FCLK用于CPU核,HCLK用于AHB总线的设备(比如SDRAM),PCLK用于APB总线的设备(比如UART)。1、上电几毫秒后,晶振输出稳定,FCLK=晶振频率,nRESET信号
2011-05-26 00:25:00
1490
VC++ 6.0快捷键大全
2011-05-19
SC8800G Device Specification_external1(1)
2011-05-19
opencv_contrib_python-4.1.0.25-cp36-cp36m-win_amd64.whl
2019-07-02
[Building.Machine.Learning.Systems.with.Pytho.rar
2019-05-29
计算机视觉-算法与应用-computer vision algorithm and application.rar
2019-05-29
数字图像处理_第三版_中_冈萨雷斯_高清.rar
2019-05-29
[自己动手写操作系统].于渊.无水印影印版.part2.rar
2011-08-02
[自己动手写操作系统].于渊.无水印影印版.part1.rar
2011-08-02
mini2440原理图
2011-05-24
S3C2440Adatasheet
2011-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人