<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[默念、情]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/liye0005</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; liye0005]]></copyright><item><title><![CDATA[《OK6410-蜂鸣器驱动程序设计》之阻塞型字符设备]]></title><link>https://blog.youkuaiyun.com/liye0005/article/details/7882382</link><guid>https://blog.youkuaiyun.com/liye0005/article/details/7882382</guid><author>liye0005</author><pubDate>Sun, 19 Aug 2012 15:09:56 +0800</pubDate><description><![CDATA[蜂鸣器是通过I/O 口GPF15来间接控制的，为了增加驱动能力，增加了三级管驱动电路。当三极管的基极（B）为高电平即GPF15 为高电平时，蜂鸣器会鸣叫，反之则不响。通过设置两者之间的时间（即改变频率）可以使蜂鸣器发出不同的声音，甚至播放乐曲。
OK6410蜂鸣器原理图：


通过I/O 口GPF15来控制：



查看s3c6410芯片手册，端口M对应的三个寄存器地址：

实]]></description><category></category></item><item><title><![CDATA[s3c6410 GPIO内核自带函数总结]]></title><link>https://blog.youkuaiyun.com/liye0005/article/details/7882318</link><guid>https://blog.youkuaiyun.com/liye0005/article/details/7882318</guid><author>liye0005</author><pubDate>Sun, 19 Aug 2012 10:19:55 +0800</pubDate><description><![CDATA[1、查看gpio状态：头文件中int gpio_request(unsigned gpio, const char *label); ，该函数的功能是通过查看该gpio保存的记录标志是否为NULL来判断GPIO是否被占用，并把此gpio取名为*lable。    
                          例如：if(gpio_request(S3C64XX_GPB(0), "GPB"]]></description><category></category></item><item><title><![CDATA[《OK6410-LED驱动程序设计》之使用系统定义的宏]]></title><link>https://blog.youkuaiyun.com/liye0005/article/details/7870306</link><guid>https://blog.youkuaiyun.com/liye0005/article/details/7870306</guid><author>liye0005</author><pubDate>Wed, 15 Aug 2012 18:13:43 +0800</pubDate><description><![CDATA[跟上一篇的类似，只不过这次我们使用系统定义好的宏来实现。
好吧不多说直接上代码
#include 
#include 
#include 
#include 
#include 
#include 
#include 
//下面这些头文件都是gpio中相关宏的定义
#include 
#include 
#include 
#include 
#include 

#define DEVICE]]></description><category></category></item><item><title><![CDATA[《OK6410-LED驱动程序设计》之使用ioremap实现访问CPU寄存器]]></title><link>https://blog.youkuaiyun.com/liye0005/article/details/7865100</link><guid>https://blog.youkuaiyun.com/liye0005/article/details/7865100</guid><author>liye0005</author><pubDate>Tue, 14 Aug 2012 15:43:31 +0800</pubDate><description><![CDATA[Ok6410开发板LED连接电路图：

           从电路图上我们可以看到，发光二极管LED 的一端连接到了ARM 的GPIO，另一端经过一个限流电阻接电源VCC3。当GPIO 口为低电平时，LED 两端产生电压降，这时LED 有电流通过并发光。反之当GPIO 为高电平时，LED 将熄灭。注意亮灭之间要有一定的延时，以便人眼能够区分出来。


4个LED分别连接到核心板上的GP]]></description><category></category></item><item><title><![CDATA[设备Ioctl控制]]></title><link>https://blog.youkuaiyun.com/liye0005/article/details/7853183</link><guid>https://blog.youkuaiyun.com/liye0005/article/details/7853183</guid><author>liye0005</author><pubDate>Fri, 10 Aug 2012 22:16:49 +0800</pubDate><description><![CDATA[1.ioctl的功能
        大部分驱动除了需要具备读写设备的能力外,还需要具备对硬件控制的能力。例如,要求设备报告错误信息,改变波特率,这些操作常常通过
ioctl方法来实现。
                用户使用方法

        在用户空间，使用ioctl 系统调用来控制设备，原型如下:
                  int ioctl(int fd,uns]]></description><category></category></item><item><title><![CDATA[字符设备驱动程序]]></title><link>https://blog.youkuaiyun.com/liye0005/article/details/7844551</link><guid>https://blog.youkuaiyun.com/liye0005/article/details/7844551</guid><author>liye0005</author><pubDate>Wed, 08 Aug 2012 19:14:47 +0800</pubDate><description><![CDATA[1.知识点

  设备号、创建设备文件、设备注册、重要数据结构、设备操作
2.主次设备号

字符设备通过字符设备文件来存取。字符设备文件由使用 ls -l 的输出的第一列的“c”标识。如果使用 ls -l 命令, 会看到在设备文件项中有 2 个数(由一个逗号分隔) 这些数字就是设备文件的主次设备编号。（举例察看ls -l /dev）

        2.1设备号作用]]></description><category></category></item><item><title><![CDATA[linux系统调用]]></title><link>https://blog.youkuaiyun.com/liye0005/article/details/7835668</link><guid>https://blog.youkuaiyun.com/liye0005/article/details/7835668</guid><author>liye0005</author><pubDate>Mon, 06 Aug 2012 22:46:31 +0800</pubDate><description><![CDATA[1.定义

       一般情况下，用户进程是不能访问内核的。它既不能访问内核中的数据，也不能调用内核中的函数。但系统调用是一个例外。Linux内核中设置了一组用于实现各种系统功能的函数，称为系统调用。用户可以通过系统调用命令在自己的应用程序中调用它们。
2.和函数调用的区别
       系统调用和普通的函数调用非常相似，区别仅仅在于，系统调用由操作系统内核实现，运行于内核态；而普通的]]></description><category></category></item><item><title><![CDATA[linux进程控制]]></title><link>https://blog.youkuaiyun.com/liye0005/article/details/7835136</link><guid>https://blog.youkuaiyun.com/liye0005/article/details/7835136</guid><author>liye0005</author><pubDate>Mon, 06 Aug 2012 14:38:46 +0800</pubDate><description><![CDATA[1.定义
                     程序是存放在磁盘上的一系列代码和数据 的可执行映像，是一个静止的实体。

             进程是一个执行中的程序。它是动态的实体。
             在操作系统中的定义：可并发执行的程序在某个数据集合上的一次计算活动，也是操作系统进行资源分配和保护的基本单位
2.进程四要素

           （1） 有一段程]]></description><category></category></item><item><title><![CDATA[Linux内核定时器基础]]></title><link>https://blog.youkuaiyun.com/liye0005/article/details/7835039</link><guid>https://blog.youkuaiyun.com/liye0005/article/details/7835039</guid><author>liye0005</author><pubDate>Mon, 06 Aug 2012 13:43:43 +0800</pubDate><description><![CDATA[1.度量时间差         时钟中断由系统的定时硬件以周期性的时间间隔产生，这个间隔（即频率）由内核根据HZ来确定，HZ是一个与体系结构无关的常数，可配置（50-1200），在X86平台，默认值为1000。    每当时钟中断发生时，全局变量jiffies(unsigned long)就加1，因此jiffies记录了自linux启动后时钟中断发生的次数。驱动程序常利用jiffies来计算不同事]]></description><category></category></item><item><title><![CDATA[内核链表基础]]></title><link>https://blog.youkuaiyun.com/liye0005/article/details/7834955</link><guid>https://blog.youkuaiyun.com/liye0005/article/details/7834955</guid><author>liye0005</author><pubDate>Mon, 06 Aug 2012 13:17:23 +0800</pubDate><description><![CDATA[1.简介

链表是一种常用的数据结构，它通过指针将一系列数据节点连接成一条数据链。相对于数组，链表具有更好的动态性，建立链表时无需预先知道数据总量，可以随机分配空间，可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。

通常链表数据结构至少包含两个域：数据域和指针域，数据域用于存储数据，指针域用于建立与下一个节点的联系。按照指针域的组织以及各个]]></description><category></category></item><item><title><![CDATA[内核模块基础]]></title><link>https://blog.youkuaiyun.com/liye0005/article/details/7834938</link><guid>https://blog.youkuaiyun.com/liye0005/article/details/7834938</guid><author>liye0005</author><pubDate>Mon, 06 Aug 2012 12:53:23 +0800</pubDate><description><![CDATA[Linux内核是个很庞大的东西，要全部了解清楚是很难的，所以我们所做的内核上的开发也是为驱动做一些基本的准备。

 

一、内核模块的特点

    a)        不会被编译进内核之中，这样的话可以尽可能的控制Linux内核的大小。

    b)        在内核运行期间，可以动态的进行加载或卸载。

 

二、相关函数的介绍

   a)        m]]></description><category></category></item><item><title><![CDATA[执行make menuconfig错误]]></title><link>https://blog.youkuaiyun.com/liye0005/article/details/7433649</link><guid>https://blog.youkuaiyun.com/liye0005/article/details/7433649</guid><author>liye0005</author><pubDate>Fri, 06 Apr 2012 20:52:12 +0800</pubDate><description><![CDATA[root@ubuntu:/forlinx/linux2.6.28# make menuconfig
scripts/kconfig/mconf arch/arm/Kconfig
Your display is too small to run Menuconfig!
It must be at least 19 lines by 80 columns.
make[1]: *** [menu]]></description><category></category></item></channel></rss>