<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[joqian的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/joqian</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; joqian]]></copyright><item><title><![CDATA[步进电机使用总结]]></title><link>https://blog.csdn.net/joqian/article/details/50727879</link><guid>https://blog.csdn.net/joqian/article/details/50727879</guid><author>joqian</author><pubDate>Wed, 24 Feb 2016 09:37:40 +0800</pubDate><description><![CDATA[步进电机使用总结
1、步进电机励磁顺序

 
2、驱动电路

 
 
3、步进电机驱动芯片
UPA1759G 为NMOS。



4、需要注意的几点：
       1） 我们使用的步进电机 800pps为最佳。
       2） 使用定时器定时880pps即1250us执行一拍
3） 步进电机为共阳极，驱动器为NMOS的UPA1759G。软件处理时需要反向驱动处]]></description><category></category></item><item><title><![CDATA[GPIO调用方法的实现流程]]></title><link>https://blog.csdn.net/joqian/article/details/27518649</link><guid>https://blog.csdn.net/joqian/article/details/27518649</guid><author>joqian</author><pubDate>Thu, 29 May 2014 12:18:56 +0800</pubDate><description><![CDATA[GPIO调用方法的实现流程
上文中虽然讲述了如何实现IO空间的静态映射方法，但调用s3c_gpio_cfgpin、s3c_gpio_setpull、gpio_direction_output就可以访问IO空间，这又是如何实现的呢？本文就来讲述一下实现过程。
回到smdkv210_map_io函数中
staticvoid __init smdkv210_map_io(void)
{
   ]]></description><category></category></item><item><title><![CDATA[IO空间的静态映射基本过程]]></title><link>https://blog.csdn.net/joqian/article/details/27516917</link><guid>https://blog.csdn.net/joqian/article/details/27516917</guid><author>joqian</author><pubDate>Thu, 29 May 2014 12:04:07 +0800</pubDate><description><![CDATA[1、前言
IO端口与IO内存的概念：外设中的寄存器称为是IO端口，外设中的内存称为是IO内存。二者统称为IO空间。Linux内核是通过虚拟地址访问外设的。所以需要先将虚拟地址映射到相应外设的物理地址上，linux的映射方式有两种：静态映射(map_desc)和动态映射(ioremap)，其实也是内核访问外设资源的方式。
2、静态映射基本过程：
在驱动中配置寄存器，可以调用类似于s3c_gpi]]></description><category></category></item><item><title><![CDATA[android_wifi读书笔记之9-wifi开启流程]]></title><link>https://blog.csdn.net/joqian/article/details/27337545</link><guid>https://blog.csdn.net/joqian/article/details/27337545</guid><author>joqian</author><pubDate>Wed, 28 May 2014 14:53:44 +0800</pubDate><description><![CDATA[本文为读书笔记，整理自网络文献和源码]]></description><category></category></item><item><title><![CDATA[android_wifi读书笔记之8-SDIO驱动架构]]></title><link>https://blog.csdn.net/joqian/article/details/27197443</link><guid>https://blog.csdn.net/joqian/article/details/27197443</guid><author>joqian</author><pubDate>Tue, 27 May 2014 13:51:35 +0800</pubDate><description><![CDATA[本文为读书笔记，整理自网络文献和源码
8、SDIO驱动架构
size:10� � ;H�~�u-font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calib]]></description><category></category></item><item><title><![CDATA[android_wifi读书笔记之7-wifi驱动解析]]></title><link>https://blog.csdn.net/joqian/article/details/27196605</link><guid>https://blog.csdn.net/joqian/article/details/27196605</guid><author>joqian</author><pubDate>Tue, 27 May 2014 13:45:06 +0800</pubDate><description><![CDATA[7、wifi驱动解析
7.1、WIFI内核实现的大致框架

 
 
 
 
Linux下已经支持了市面上的大多数wifi卡的驱动
•每种wifi卡都是需要固件（firmware）才能驱动的，并且同一种卡工作在不同接口时对应的firmware是不一样的
•需要注意的是：很多firmware都是要花钱的
•固件通过其驱动下载到无线卡中，才能驱动起来
 
 
(10)wifi驱]]></description><category></category></item><item><title><![CDATA[android_wifi读书笔记之6-wpa_supplicant 与kernel交互]]></title><link>https://blog.csdn.net/joqian/article/details/27196121</link><guid>https://blog.csdn.net/joqian/article/details/27196121</guid><author>joqian</author><pubDate>Tue, 27 May 2014 13:36:59 +0800</pubDate><description><![CDATA[本文为读书笔记，整理自网络文献和源码
6 wpa_supplicant 与kernel交互
源码位置：external/wpa_supplicant_8/
wpa_supplicant与kernel交互的操作，一般需要先明确驱动接口，以及用户态和kernel态的接口方法，以此来进行调用操作。这里分为4个步骤。
1.首先需要明确指定的驱动接口。因为有较多的驱动接口可以使用，如wext、nl8]]></description><category></category></item><item><title><![CDATA[android_wifi读书笔记之5-WPA_SUPPLICANT分析]]></title><link>https://blog.csdn.net/joqian/article/details/27195905</link><guid>https://blog.csdn.net/joqian/article/details/27195905</guid><author>joqian</author><pubDate>Tue, 27 May 2014 13:34:29 +0800</pubDate><description><![CDATA[本文为读书笔记，整理自网络文献和源码
5 WPA_SUPPLICANT分析
5.1、WPA_SUPPLICANT 分析1:
参考文献：
http://www.cnblogs.com/chenbin7/p/3266032.html
http://blog.chinaunix.net/uid-26585427-id-4051479.html
wpa_supplicant软件架构分析http]]></description><category></category></item><item><title><![CDATA[android_wifi读书笔记之4-HAL层分析]]></title><link>https://blog.csdn.net/joqian/article/details/27195791</link><guid>https://blog.csdn.net/joqian/article/details/27195791</guid><author>joqian</author><pubDate>Tue, 27 May 2014 13:32:23 +0800</pubDate><description><![CDATA[本文为读书笔记，整理自网络文献和源码
4 HAL层分析
Hardware/libhardware_legacy/wifi/wifi.c
这个文件主要是实现驱动的加载和卸载，wpa_supplicant的开启和关闭
4.1 驱动的加载卸载：
wifi_load_driver()：驱动的加载。wifi驱动是编译成ko文件， ko文件储存的位置#defineWIFI_DRIVER_MODULE]]></description><category></category></item><item><title><![CDATA[android_wifi读书笔记之3-JNI层 分析]]></title><link>https://blog.csdn.net/joqian/article/details/27195737</link><guid>https://blog.csdn.net/joqian/article/details/27195737</guid><author>joqian</author><pubDate>Tue, 27 May 2014 13:31:39 +0800</pubDate><description><![CDATA[本文为读书笔记，整理自网络文献和源码
 
3 JNI层分析
frameworks/base/core/jni/android_net_wifi_Wifi.cpp
这个文件里面是调用HAL层的wifi.c里面对应方法的接口的集合，提供给frameswork层的类Wifinative里面的方法调用]]></description><category></category></item><item><title><![CDATA[android_wifi读书笔记之2-wifi framework分析]]></title><link>https://blog.csdn.net/joqian/article/details/27195571</link><guid>https://blog.csdn.net/joqian/article/details/27195571</guid><author>joqian</author><pubDate>Tue, 27 May 2014 13:29:51 +0800</pubDate><description><![CDATA[本文为读书笔记，整理自网络文献和源码
2 wifi framework分析
WIFI Settings应用程序位于
packages/apps/Settings/src/com/android/settings/wifi/
涉及到的文件：
WifiSettings.java
 
frameworks部分：
frameworks/base/services/java/com/andr]]></description><category></category></item><item><title><![CDATA[android_wifi读书笔记之1-wifi简介]]></title><link>https://blog.csdn.net/joqian/article/details/27194967</link><guid>https://blog.csdn.net/joqian/article/details/27194967</guid><author>joqian</author><pubDate>Tue, 27 May 2014 13:26:58 +0800</pubDate><description><![CDATA[1、wifi简介
1.1 物理简介
wlan：无线局域网，802.11协议
wifi主要物理组件：
         工作站（station）、接入点AP（access point）、无线媒介（wirelessmedium）、分布式系统（distribution system）
Wifi可工作在station模式和AP模式。
station模式的结构：

Ap模式：
      ]]></description><category></category></item><item><title><![CDATA[关于 Caused by:.. /proc/net/xt_qtaguid/stats:open failed: ENOENT  (No such file or directory)问题的解决]]></title><link>https://blog.csdn.net/joqian/article/details/23993389</link><guid>https://blog.csdn.net/joqian/article/details/23993389</guid><author>joqian</author><pubDate>Fri, 18 Apr 2014 09:08:54 +0800</pubDate><description><![CDATA[W/PowerUI ( 2092): unknownintent: Intent { act=android.intent.action.ACTION_POWER_CONNECTEDflg=0x10000010 }
D/dalvikvm( 2027): GC_CONCURRENTfreed 483K, 13% free 8876K/10119K, paused 2ms+3ms
F/Batter]]></description><category></category></item><item><title><![CDATA[DDR工作原理]]></title><link>https://blog.csdn.net/joqian/article/details/17676485</link><guid>https://blog.csdn.net/joqian/article/details/17676485</guid><author>joqian</author><pubDate>Mon, 30 Dec 2013 11:11:09 +0800</pubDate><description><![CDATA[DDR SDRAM全称为Double Data Rate SDRAM，中文名为“双倍数据流SDRAM”。DDR SDRAM在原有的SDRAM的基础上改进而来。也正因为如此，DDR能够凭借着转产成本优势来打败昔日的对手RDRAM，成为当今的主流。本文只着重讲讲DDR的原理和DDR SDRAM相对于传统SDRAM（又称SDR SDRAM）的不同。


 


DDR的核心频率、时钟频率和数]]></description><category></category></item><item><title><![CDATA[hash表]]></title><link>https://blog.csdn.net/joqian/article/details/12851085</link><guid>https://blog.csdn.net/joqian/article/details/12851085</guid><author>joqian</author><pubDate>Fri, 18 Oct 2013 11:55:16 +0800</pubDate><description><![CDATA[哈希表
　　基本知识
　　Hash，一般翻译做“散列”，也有直接音译为”哈希“的，就是把任意长度的输入（又叫做预映射， pre-image），通过散列算法，变换成固定长度的输出，该输出就是散列值。这种转换是一种压缩映射，也就是，散列值的空间通常远小于输入的空间，不同的输入可能会散列成相同的输出，而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函]]></description><category></category></item><item><title><![CDATA[source insight 函数名出现乱码的解决办法]]></title><link>https://blog.csdn.net/joqian/article/details/12650207</link><guid>https://blog.csdn.net/joqian/article/details/12650207</guid><author>joqian</author><pubDate>Sat, 12 Oct 2013 13:11:33 +0800</pubDate><description><![CDATA[标记一下，提醒自己：
安装了source insight之后，载入源文件，发现里面的函数名是乱码，其它都正常。
解决办法：双击某个函数名，然后右键，选则Style Properties，进入Style Properties之后，点击reset按钮。]]></description><category></category></item><item><title><![CDATA[为Android SDK增加应用案例实现]]></title><link>https://blog.csdn.net/joqian/article/details/12418281</link><guid>https://blog.csdn.net/joqian/article/details/12418281</guid><author>joqian</author><pubDate>Tue, 08 Oct 2013 09:20:58 +0800</pubDate><description><![CDATA[为Android SDK增加应用案例实现是本文要介绍的内容，主要是来了解并学习Android SDK的内容，具体关于Android SDK的内容来看本文详解。


在开发Android开发应用的过程中，通常有两种方式：NDK和eclipse，或者直接在Android SDK增加。这里介绍如何在Android SDK环境中增加一个应用程序。其中涉及到JNI，JAVA对JNI的调用，其中JNI代]]></description><category></category></item><item><title><![CDATA[Android中深入研究Service]]></title><link>https://blog.csdn.net/joqian/article/details/12155563</link><guid>https://blog.csdn.net/joqian/article/details/12155563</guid><author>joqian</author><pubDate>Sun, 29 Sep 2013 10:52:08 +0800</pubDate><description><![CDATA[关于Service，不管是Windows还是linux系统，相信大家应该遇到过很多自己解决不了的问题吧，那么本文来讲述一下Android手机系统中的Service .

1 Service本质结构


我们还是从Service的根本意义分析入手，服务的本质就是响应客户端请求。要提供服务，就必须建立接收请求，处理请求，应答客服端的框架。我想在Android Service设计者也会无时不刻]]></description><category></category></item><item><title><![CDATA[Android开机启动流程初探]]></title><link>https://blog.csdn.net/joqian/article/details/12122187</link><guid>https://blog.csdn.net/joqian/article/details/12122187</guid><author>joqian</author><pubDate>Sat, 28 Sep 2013 10:49:49 +0800</pubDate><description><![CDATA[l  Init进程
Android系统在启动时首先会启动Linux系统，引导加载Linux Kernel并启动init进程。Init进程是一个由内核启动的用户级进程，是Android系统的第一个进程。该进程的相关代码在platform\system\core\init\init.c。在main函数中，有如下代码：


    open_devnull_stdio();
    log_i]]></description><category></category></item><item><title><![CDATA[Android重量级开发之--提高android启动速度研究]]></title><link>https://blog.csdn.net/joqian/article/details/12060889</link><guid>https://blog.csdn.net/joqian/article/details/12060889</guid><author>joqian</author><pubDate>Thu, 26 Sep 2013 17:19:18 +0800</pubDate><description><![CDATA[大家都知道启动速度慢是智能操作系统的一个通病，Android也不例外，启动速度大概在1分钟左右，虽然日本有一个叫quick boot的一秒启动android的产品，但是毕竟是旁门左道。所以从常规来提高android的启动速度成了大家研究的重点，也是难点。下面将初步研究的一下经验跟大家分享一下。


 


 


首先看一下android系统的启动流程：


bootloa]]></description><category></category></item></channel></rss>