<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wolfcmd1231的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wolfcmd1231</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wolfcmd1231]]></copyright><item><title><![CDATA[关于单CPU 多CPU上的原子操作]]></title><link>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5257754</link><guid>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5257754</guid><author>wolfcmd1231</author><pubDate>Tue, 26 Jan 2010 14:00:00 +0800</pubDate><description><![CDATA[所谓原子操作,就是"不可中断的一个或一系列操作" 。硬件级的原子操作：在单处理器系统(UniProcessor)中，能够在单条指令中完成的操作都可以认为是" 原子操作"，因为中断只能发生于指令之间。这也是某些CPU指令系统中引入了test_and_set、test_and_clear等指令用于临界资源互斥的原因。在对称多处理器(Symmetric Multi-Processor)结构中]]></description><category></category></item><item><title><![CDATA[嵌入式操作系统 硬件抽象层  HAL]]></title><link>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5159681</link><guid>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5159681</guid><author>wolfcmd1231</author><pubDate>Fri, 08 Jan 2010 16:57:00 +0800</pubDate><description><![CDATA[  引言 　　为了便于操作系统在不同硬件结构上进行移植，美国微软公司首先提出了将操作系统底层与硬件相关的部分单独设计成硬件抽象层HAL（Hardware AbstractionLayer）的思想。硬件抽象层的引入大大推动了嵌入式操作系统的通用程度，为嵌入式操作系统的广泛应用提供了可能。然而，目前BSP形式的硬件抽象层仅仅能够解决有限的几种操作系统在同样有限的BSP所支持的硬件平]]></description><category></category></item><item><title><![CDATA[WinCE  Cache操作函数]]></title><link>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5099006</link><guid>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5099006</guid><author>wolfcmd1231</author><pubDate>Tue, 29 Dec 2009 15:08:00 +0800</pubDate><description><![CDATA[作者：ARM-WinCE在OAL中有两个和Cache相关的函数，一个是OEMARMCacheMode，另一个是OEMCacheRangeFlush函数，这两个函数在ARM处理器上是必须实现的。OEMARMCacheMode函数用于设置基于ARM处理器页表的cache模式，主要是设]]></description><category></category></item><item><title><![CDATA[wince5.0 中断 详解]]></title><link>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5090877</link><guid>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5090877</guid><author>wolfcmd1231</author><pubDate>Mon, 28 Dec 2009 14:15:00 +0800</pubDate><description><![CDATA[原帖地址http://topic.youkuaiyun.com/u/20071008/11/D54DF4A6-09EF-4D7F-AADB-2F60FF3824FC.html1 WinCE中第一次对中断的处理是在OAL的OEMInit()中,该函数调用OALIntrInit()完成对中断的初始化.2 OALIntrInit()对中断的初始化做了如下工作:2.1 通过配置IPR0-I]]></description><category></category></item><item><title><![CDATA[WINCE5.0的中断深入了解]]></title><link>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5089687</link><guid>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5089687</guid><author>wolfcmd1231</author><pubDate>Mon, 28 Dec 2009 11:11:00 +0800</pubDate><description><![CDATA[转至：http://www.hzlitai.com.cn/bbs/viewthread.php?tid=11507&extra=page%3D2When an interrupt is processed, a specific sequence of events takes place.你需要为你的设备驱动写好中断处理请求（ISR）和中断服务线程（IST)，并牢记这些事件的顺序：]]></description><category></category></item><item><title><![CDATA[WinCE BSP中 OEMIoControl ]]></title><link>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5089629</link><guid>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5089629</guid><author>wolfcmd1231</author><pubDate>Mon, 28 Dec 2009 11:05:00 +0800</pubDate><description><![CDATA[在WinCE的BSP中的OAL部分，会有一个ioctl.c或者oemioctl.c文件，里面主要定义了一个叫OEMIoControl(..)的函数。可以说OEMIoControl是一个很有用的WinCE内核输入/输出函数。在WinCE5.0中，应用程序和驱动程序可以通过调用KernelIoControl(..)函数来访问WinCE内核，导致调用 OEMIoControl函数，这样应用程序和驱动]]></description><category></category></item><item><title><![CDATA[wince 下 DMA]]></title><link>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5070980</link><guid>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5070980</guid><author>wolfcmd1231</author><pubDate>Thu, 24 Dec 2009 17:47:00 +0800</pubDate><description><![CDATA[DMA驱动以流设备驱动的形式实现DMA驱动会配合其他设备驱动来完成数据传输，所以很少会被单独作为一个设备来使用，大多数情况我们开发设备驱动时需要用到DMA的时候，其他驱动，通过CreateFile来打开DMA设备，然后调用DeviceIoControl函数来访问DMA设备。DMA设备驱动在/WINCE600/PUBLIC/]]></description><category></category></item><item><title><![CDATA[wince下USB 驱动]]></title><link>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5067997</link><guid>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5067997</guid><author>wolfcmd1231</author><pubDate>Thu, 24 Dec 2009 11:06:00 +0800</pubDate><description><![CDATA[  转自：文斌程序网                                                                    作者：文斌 随着USB设备的不断增加，我们这些开发人员也就多了对USB设备进行驱动程序开发的工作。但是对于很多初学者来说，存在以下三个困难：        一是对WinCE的驱动程序结构了解得太少，没办法得心应手的专注于驱动程序]]></description><category></category></item><item><title><![CDATA[wince 2410 UDC driver 分析]]></title><link>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5067499</link><guid>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5067499</guid><author>wolfcmd1231</author><pubDate>Thu, 24 Dec 2009 09:54:00 +0800</pubDate><description><![CDATA[在 USB Function Controller 的MDD层 有函数 GetClientFunctions( PUFN_FUNCTIONS pUfnFunctions)调用者通过传入 PUFN_FUNCTIONS 类型的指针变量 来获得 USB Function Controller MDD层的所有操作函数.USB Function Controller 的MDD层的函数 UFN_Ini]]></description><category></category></item><item><title><![CDATA[Udev实现U盘或SD卡的自动挂载]]></title><link>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5047988</link><guid>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5047988</guid><author>wolfcmd1231</author><pubDate>Mon, 21 Dec 2009 14:44:00 +0800</pubDate><description><![CDATA[Linux传统上使用静态设备创建的方法，在dev下创建了大量的节点，而不管这些节点相应的硬件设备是否存在。采用udev的方法，系统检测到设备才会去创建这些设备对应的节点。这里我们简单的说一下udev的工作原理：Udev是依赖于sysfs的，当系统中添加一个新的设备后，内核检测到后就会产生一个hotplugevent并查找/proc/sys/kernel/hotplug去找出管理设备]]></description><category></category></item><item><title><![CDATA[Linux的devfs与sysfs设备管理文件系统介绍及对比]]></title><link>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5046758</link><guid>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5046758</guid><author>wolfcmd1231</author><pubDate>Mon, 21 Dec 2009 11:55:00 +0800</pubDate><description><![CDATA[linux下有专门的文件系统用来对设备进行管理，devfs和sysfs就是其中两种。  在2.6内核以前一直使用的是devfs，devfs挂载于/dev目录下，提供了一种类似于文件的方法来管理位于/dev目录下的所有设备，我们知道/dev目录下的每一个文件都对应的是一个设备，至于当前该设备存在与否先且不论，而且这些特殊文件是位于根文件系统上的，在制作文件系统的时候我们就已经]]></description><category></category></item><item><title><![CDATA[devfs]]></title><link>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5046400</link><guid>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5046400</guid><author>wolfcmd1231</author><pubDate>Mon, 21 Dec 2009 11:03:00 +0800</pubDate><description><![CDATA[Devfs，也叫设备文件系统（Device Filesystem），设计它的唯一目的就是提供一个新的（更理性的）方式管理通常位于/dev 的所有块设备和字符设备。您也许知道，典型的 /dev树包含数百个块特殊文件和字符特殊文件，它们全都在根文件系统上。每个特殊文件都可以让用户空间进程轻松地与内核设备实现交互。举例来说，通过对这些特殊文件执行操作，您的 X 服务器就能够访问视频硬件， f]]></description><category></category></item><item><title><![CDATA[Udev 基本工作原理  ]]></title><link>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5046201</link><guid>https://blog.youkuaiyun.com/wolfcmd1231/article/details/5046201</guid><author>wolfcmd1231</author><pubDate>Mon, 21 Dec 2009 10:39:00 +0800</pubDate><description><![CDATA[Udev 基本工作原理    Udev相关的文章很多，本文的主要目的不是提供一个完整的教学文档，对其使用，只是给出网上现有的主要资源。着重分析其基本工作原理连同在使用中碰到的一些README文档没有明确说明的问题。1         基本概念udev文档系统是针对2.6内核，提供一个基于用户空间的动态设备节点管理和命名的解决方案，网上关于为什么要使用udev文档系统，udev文档系]]></description><category></category></item></channel></rss>