<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Linux/Android/AI]]></title><description><![CDATA[If you only do what you can do,you will never be more than what you are.]]></description><link>https://blog.youkuaiyun.com/luopingfeng</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; luopingfeng]]></copyright><item><title><![CDATA[实时的神经网络:Faster-RCNN技术分析]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/51245694</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/51245694</guid><author>luopingfeng</author><pubDate>Fri, 29 Apr 2016 16:39:19 +0800</pubDate><description><![CDATA[另CNN在人工智能领域脱颖而出的是许多精妙的思想,受生物视觉所启发的局部感知策略，基于统计特性的权值共享，利用特征聚合的池化……这些tricks优化performance的同时，也以指数级递减了计算的复杂度，再者为架构并行和数据切分训练提供了可能。
         而作者通过交替训练方式进一步把参数共享的思想推到当前学术水平的极致.]]></description><category></category></item><item><title><![CDATA[L2CAP数据发送和接收]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/50239901</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/50239901</guid><author>luopingfeng</author><pubDate>Thu, 28 Jan 2016 21:43:33 +0800</pubDate><description><![CDATA[ACL 链路在 Bluetooth 中非常重要，一些重要的应用如 A2DP， 基于 RFCOMM 的应用，BNEP等都要建立 ACL 链路，发送/接收ACL 包。跟大家一起来分析 ACL 包发送/接收流程，以及涉及到的重要 command/event。

ACL包发送
下面的图(点击大图)是各种应用层使用 L2CAP 的 API：L2CA_DataWrite 发送数据流的过程，此A]]></description><category></category></item><item><title><![CDATA[Android bluetooth start discovery analyse]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/47179221</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/47179221</guid><author>luopingfeng</author><pubDate>Thu, 05 Nov 2015 23:00:56 +0800</pubDate><description><![CDATA[一. start_discovery的上层一系列的调用
1. 界面上的"search for device"
在./device/softwinner/common/packages/TvdSettings/src/com/android/settings/bluetooth/BluetoothSettings.java中
当点击“searching devices"或者打开时就会去扫描蓝牙]]></description><category></category></item><item><title><![CDATA[Bluedroid 之GKI框架]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/47750155</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/47750155</guid><author>luopingfeng</author><pubDate>Tue, 18 Aug 2015 12:19:07 +0800</pubDate><description><![CDATA[1. 概述

GKI以库libbt-brcm_gki.so(Static Lib?)的形式提供给BlueDroid使用

该层是一个适配层，适配了OS相关的进程、内存相关的管理，还可以用于线程间传递消息 
主要通过变量gki_cb实现对进程的统一管理
typedef struct
{
    pthread_mutex_t     GKI_mutex;
    pthread_t]]></description><category></category></item><item><title><![CDATA[Android Recovery Ui 分析]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/47009811</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/47009811</guid><author>luopingfeng</author><pubDate>Wed, 22 Jul 2015 21:15:20 +0800</pubDate><description><![CDATA[Android
 recovery和android本质上是两个独立的rootfs, 只是recovery这个rootfs存在的意义就是为android这个rootfs服务，因此被解释为Android系统的一部分。 recovery作为一个简单的rootfs, 提供了非常有限的几个功能，只包含了几个简单的库，UI的显示采用的是直接刷framebuffer的形式，作为android
 framew]]></description><category></category></item><item><title><![CDATA[bluedroid 框架]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/44001511</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/44001511</guid><author>luopingfeng</author><pubDate>Sun, 01 Mar 2015 11:00:29 +0800</pubDate><description><![CDATA[bluedroid项目代码的框架：
Bta：
1. ag(audio gateway)：蓝牙音频网关的实现
2. Ar(audio/video registration):音频/视频注册模块的实现
3. Av(advanced audio/video):更先进的音频/视频实现
4. Dm(device mana]]></description><category></category></item><item><title><![CDATA[EMMC 驱动]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/42844611</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/42844611</guid><author>luopingfeng</author><pubDate>Sun, 18 Jan 2015 22:03:02 +0800</pubDate><description><![CDATA[块设备是Linux最复杂的设备之一，但是作为固执于知其然的Geek，我们总会把代码翻个遍，把道理弄个透。当然了，快速地学习一种新的东西，方法是最重要的，个人觉得： 内核当中 MMC/SD 卡驱动程序构架是学习EMMC 驱动程序的重点，只有理解了它才能真正理解该块设备驱动程序，同时才能真正理解 LINUX 块设备驱动程序。]]></description><category></category></item><item><title><![CDATA[SDIO 接口的wifi驱动]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/40187843</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/40187843</guid><author>luopingfeng</author><pubDate>Sun, 23 Nov 2014 21:04:37 +0800</pubDate><description><![CDATA[1、sdio接口层解析
SDIO总线
     SDIO总线 和 USB总线 类似，SDIO也有两端，其中一端是HOST端，另一端是device端。所有的 通信 都是 由HOST端 发送 命令 开始的，Device端只要能解析命令，就可以相互通信。
  CLK信号:HOST给DEVICE的 时钟信号，每个时钟周期传输一个命令。
  CMD信号：双向 的信号，用于传送 命令 和 反应。]]></description><category></category></item><item><title><![CDATA[Android 升级脚本updater-script 的函数简介]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/41080829</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/41080829</guid><author>luopingfeng</author><pubDate>Thu, 13 Nov 2014 22:51:41 +0800</pubDate><description><![CDATA[这是Android系统来运行updater-scripts中的函数介绍。
函数都是的Edify语言，当调用这些函数结束的时候，会返回数据给脚本。当然，你也可以使用这些函数的返回值来确认成功与否，例如:
ifelse(mount("yaffs2", "MTD", "system", "/system") == "system", ui_print("Successfully Mounted!")]]></description><category></category></item><item><title><![CDATA[Linux 和 Android 系统性能分析]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/41080909</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/41080909</guid><author>luopingfeng</author><pubDate>Thu, 13 Nov 2014 22:47:42 +0800</pubDate><description><![CDATA[作为一名Linux 或 Android 平台的系统工程师，在开发系统新功能外，主要工作就是优化系统性能，使系统上以最优的状态运行，但是由于硬件问题、软件问题、网络环境等的复杂性和多变性，导致对系统的优化变得异常复杂，如何定位性能问题出在哪个方面，是性能优化的一大难题， 从系统入手，阐述由于系统软、硬件配置不当可能造成的性能问题，并且探讨检测系统故障和优化性能的一般方法和流程。]]></description><category></category></item><item><title><![CDATA[USB wifi调试笔记]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/23816195</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/23816195</guid><author>luopingfeng</author><pubDate>Mon, 03 Nov 2014 22:41:22 +0800</pubDate><description><![CDATA[本文以realtek 8192CU WiFi模块为例，介绍usb]]></description><category></category></item><item><title><![CDATA[《Linux Device Drivers》第十八章 TTY驱动程序——note]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/24174163</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/24174163</guid><author>luopingfeng</author><pubDate>Sun, 12 Oct 2014 13:56:20 +0800</pubDate><description><![CDATA[简介

tty设备的名称是从过去的电传打字机缩写而来，最初是指连接到Unix系统上的物理或虚拟终端Linux tty驱动程序的核心紧挨在标准字符设备驱动层之下，并提供了一系列的功能，作为接口被终端类型设备使用有三种类型的tty驱动程序：控制台、串口和pty/proc/tty/drivers当前注册并存在于内核的tty设备在/sys/class/tty下都有自己的子目录
小型TTY驱动程序]]></description><category></category></item><item><title><![CDATA[一步一步 在mac上安装ubuntu]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/40016359</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/40016359</guid><author>luopingfeng</author><pubDate>Sun, 12 Oct 2014 13:55:06 +0800</pubDate><description><![CDATA[做为程序员的你一定听说过Linux甚至非常喜欢Linux.最近买了一台mac air,我非常喜欢苹果的工艺,但作为屌丝程序员,我依旧喜欢基于Linux内核的Ubuntu 进行开发.下面我就讲述一步一步在mac上安装ubuntu系统.













1


首先是下载bantu镜像,mac版本


2


打开终端]]></description><category></category></item><item><title><![CDATA[《Linux Device Drivers》 第十七章 网络驱动程序——note]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/24174133</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/24174133</guid><author>luopingfeng</author><pubDate>Sat, 11 Oct 2014 18:04:28 +0800</pubDate><description><![CDATA[简介

网络接口是第三类标准Linux设备，本章将描述网络接口是如何与内核其余的部分交互的网络接口必须使用特定的内核数据结构注册自身，以备与外界进行数据线包交换时调用对网络接口的常用文件操作是没有意义的，因此在它们身上无法体现Unix的“一切都是文件”的思想网络驱动程序异步自外部世界的数据包网络设备向内核请求把外部获得的数据包发送给内核Linux内核中的网络子系统被设计成完全与协议无关在网络世]]></description><category></category></item><item><title><![CDATA[《Linux Device Drivers》第十六章 块设备驱动程序——note]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/24174045</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/24174045</guid><author>luopingfeng</author><pubDate>Sat, 11 Oct 2014 16:53:46 +0800</pubDate><description><![CDATA[简介

一个块设备驱动程序主要通过传输固定大小的随机数据来访问设备Linux内核视块设备为与字符设备相异的基本设备类型Linux块设备驱动程序接口使得块设备可以发挥其最大的功效，但是其复杂程序又是编程者必须面对的一个问题一个数据块指的是固定大小的数据，而大小的值由内核确定数据块的大小通常是4096个字节，但是可以根据体系结构和所使用的文件系统进行改变与数据块对应的是扇区，它是由底层硬件决定大小]]></description><category></category></item><item><title><![CDATA[《Linux Device Drivers》第十五章 内存映射和DMA——note]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/24173985</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/24173985</guid><author>luopingfeng</author><pubDate>Thu, 09 Oct 2014 08:41:33 +0800</pubDate><description><![CDATA[简介

许多类型的驱动程序编程都需要了解一些虚拟内存子系统如何工作的知识当遇到更为复杂、性能要求更为苛刻的子系统时，本章所讨论的内容迟早都要用到本章的内容分成三个部分

讲述mmap系统调用的实现过程讲述如何跨越边界直接访问用户空间的内存页讲述了直接内存访问（DMA）I/O操作，它使得外设具有直接访问系统内存的能力

Linux的内存管理

地址类型

Linux是一个虚拟内存]]></description><category></category></item><item><title><![CDATA[《Linux Device Drivers》第十四章 Linux 设备模型]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/24173895</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/24173895</guid><author>luopingfeng</author><pubDate>Thu, 09 Oct 2014 08:40:51 +0800</pubDate><description><![CDATA[简介

2.6内核的设备模型提供一个对系统结构的一般性抽象描述，用以支持多种不同的任务

电源管理和系统关机与用户空间通信热插拔设备设备类型对象生命周期

kobject、kset和子系统

kobject是组成设备模型的基本结构

对象的引用计数sysfs表述数据结构关联热插拔事件处理
kobject基础知识

嵌入的kobject

内核代码很少去创建一个单独的k]]></description><category></category></item><item><title><![CDATA[《Linux Device Drivers》第十二章 PCI驱动程序——note]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/24173815</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/24173815</guid><author>luopingfeng</author><pubDate>Sun, 05 Oct 2014 13:59:50 +0800</pubDate><description><![CDATA[简介

本章给出一个高层总线架构的综述讨论重点是用于访问Peripheral Component Interconnect（PCI，外围设备互联）外设的内核函数PCI总线是内核中得到最好支持的总线本章主要介绍PCI驱动程序如果寻找其硬件和获得对它的访问本章也会介绍ISA总线
PCI接口

PCI是一组完整的规范，定义了计算机的各个不同部分之间应该如何交互PCI规范涵盖了与计算机接口相关的]]></description><category></category></item><item><title><![CDATA[《Linux Device Drivers》第十一章 内核的数据类型——note]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/24173783</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/24173783</guid><author>luopingfeng</author><pubDate>Sun, 05 Oct 2014 13:57:40 +0800</pubDate><description><![CDATA[简介

由于Linux的多平台特性，任何一个重要的驱动程序都应该是可移植的与内核代码相关的核心问题是应该能够同时访问已知长度的数据项，并充分利用不同处理器的能力内核使用的数据类型主要被分成三类

类似int这样的标准C语言类型类似u32这样的有确定大小的类型像pid_t这样的用于特定内核对象的类型
本章将讨论在什么情况下使用这三种类型以及如何使用
使用标准C语言类型

当我们需要“]]></description><category></category></item><item><title><![CDATA[Git 常用命令]]></title><link>https://blog.youkuaiyun.com/luopingfeng/article/details/39717047</link><guid>https://blog.youkuaiyun.com/luopingfeng/article/details/39717047</guid><author>luopingfeng</author><pubDate>Wed, 01 Oct 2014 10:37:28 +0800</pubDate><description><![CDATA[聪明的程序员都喜欢偷懒，So我们在home目录添加一个全局配置文件：.git/config，并定义快捷键：]]></description><category></category></item></channel></rss>