<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Never give up ，Hearts dream!]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/smartvincent88</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; smartvincent88]]></copyright><item><title><![CDATA[usb gadget]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/52513320</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/52513320</guid><author>smartvincent88</author><pubDate>Mon, 12 Sep 2016 14:37:32 +0800</pubDate><description><![CDATA[1. 前言

2. 源码架构

3. 枚举过程


1. 前言

Gadget，小饰品。USB Gadget，就是指所开发的电子设备以USB从设备的模式通过USB连接到主机。比如手机用USB线插入PC后，手机就是USB Gadget。本文以Mavell为例，以Gadget插入主机的全过程为主线，分析USB Gadget的架构。

 

2. 源码架构

USB的源码位]]></description><category></category></item><item><title><![CDATA[Linux usb子系统]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/52512973</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/52512973</guid><author>smartvincent88</author><pubDate>Mon, 12 Sep 2016 14:08:43 +0800</pubDate><description><![CDATA[一、USB协议基础知识  
前序：USB概念概述
　　USB1.0版本速度1.5Mbps（低速USB） USB1.1版本速度12Mbps（全速USB）  USB2.0版本速度480Mbps（高速USB）。
　　USB 分为主从两大体系，一般而言， PC 中的 USB 系统就是作主，而一般的 USB 鼠标， U 盘则是典型的 USB 从系统。
　　USB主控制器这一块，我们至少要开发出 US]]></description><category></category></item><item><title><![CDATA[arm体系结构：arm920t]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/51446184</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/51446184</guid><author>smartvincent88</author><pubDate>Wed, 18 May 2016 18:14:19 +0800</pubDate><description><![CDATA[CPU一上电就处于 ARM 状态。
    如果对于arm的CPU的工作模式和状态有疑惑： **
 ARM处理器的寄存器，ARM与Thumb状态，7中运行模式 
    如果对arm刚上电的工作模式和状态有疑惑：**arm
 上电或复位时的状态，模式 

ARM异常中断处理概述
    1、中断的概念 
            中断是一个过程，是CPU在执行当前程序的过程中因硬件或]]></description><category></category></item><item><title><![CDATA[usb]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/51088241</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/51088241</guid><author>smartvincent88</author><pubDate>Thu, 07 Apr 2016 18:34:45 +0800</pubDate><description><![CDATA[Universal Serial Bus




The Universal Serial Bus was first introduced in 1994 with the intention of replacing various specialized interfaces, and to simplify the configuration of communication d]]></description><category></category></item><item><title><![CDATA[USB 协议]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/50916027</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/50916027</guid><author>smartvincent88</author><pubDate>Thu, 17 Mar 2016 18:30:25 +0800</pubDate><description><![CDATA[目录(?)[+]




0. 基本概念
       一个【传输】(控制、批量、中断、等时)：由多个【事务】组成；
       一个【事务】(IN、OUT、SETUP)：由一多个【Packet】组成。
       USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与【USB设备特定的端点】间的关联叫做【pipes】。一个USB设备可以有多个管道(pipe]]></description><category></category></item><item><title><![CDATA[MBR   小结]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/47446135</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/47446135</guid><author>smartvincent88</author><pubDate>Wed, 12 Aug 2015 16:03:16 +0800</pubDate><description><![CDATA[在介绍exfat文件系统之前，首先介绍一下MBR，MBR作为传统的DOS系统的引导扇区，其中可能存储有bootloader的code，但是如果用于linux这样的系统，这部分是不许要的，因此，一般是0.





0-0x88


主引导程序


引导程序




0x89– 0x1bd


出错信息数据区


数据区




0x1be–]]></description><category></category></item><item><title><![CDATA[Device Tree：代码分析]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/45175487</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/45175487</guid><author>smartvincent88</author><pubDate>Tue, 21 Apr 2015 20:24:23 +0800</pubDate><description><![CDATA[一、前言

Device Tree总共有三篇，分别是：

1、为何要引入Device Tree，这个机制是用来解决什么问题的？（请参考引入Device Tree的原因）

2、Device Tree的基础概念（请参考DT基础概念）

3、ARM linux中和Device Tree相关的代码分析（这是本文的主题）

本文主要内容是：以Device Tree相关的数据流分析为索引]]></description><category></category></item><item><title><![CDATA[linux kernel的中断子系统：GIC代码分析]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/45037969</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/45037969</guid><author>smartvincent88</author><pubDate>Tue, 14 Apr 2015 09:59:04 +0800</pubDate><description><![CDATA[一、前言

GIC（Generic Interrupt Controller）是ARM公司提供的一个通用的中断控制器，其architecture specification目前有四个版本，V1～V4(V2最多支持8个ARM core，V3/V4支持更多的ARM core，主要用于ARM64服务器系统结构）。目前在ARM官方网站只能下载到Version 2的GIC architecture sp]]></description><category></category></item><item><title><![CDATA[GNU-ld链接脚本浅析]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/43950465</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/43950465</guid><author>smartvincent88</author><pubDate>Thu, 26 Feb 2015 09:52:34 +0800</pubDate><description><![CDATA[0. Contents

1. 概论
2. 基本概念
3. 脚本格式
4. 简单例子
5. 简单脚本命令
6. 对符号的赋值
7. SECTIONS命令
8. MEMORY命令
9. PHDRS命令
10. VERSION命令
11. 脚本内的表达式
12. 暗含的连接脚本


1. 概论


每一个链接过程都由链接脚本(linker script, 一般以l]]></description><category></category></item><item><title><![CDATA[使用Linux中的fdisk来分区]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/43560373</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/43560373</guid><author>smartvincent88</author><pubDate>Fri, 06 Feb 2015 09:44:36 +0800</pubDate><description><![CDATA[一、fdisk 的介绍 
fdisk - Partition table manipulator for Linux ，译成中文的意思是磁盘分区表操作工具；本人译的不太好，也没有看中文文档；其实就是分区工具fdsik 能划分磁盘成为若干个区，同时也能为每个分区指定分区的文件系统，比如linux 、fat32、 linux 、linux swap 、fat16 以及其实类Unix类操作系统的文件系]]></description><category></category></item><item><title><![CDATA[IPTable相关理解记录]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/41746453</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/41746453</guid><author>smartvincent88</author><pubDate>Fri, 05 Dec 2014 13:25:23 +0800</pubDate><description><![CDATA[Iptable的处理机制

IPTable是一种封包过滤机制，版本在2.4.xx以上的Linux内核都支持并预装iptable，而在此之前以2.2.xx为核心的linux主要以ipchains作为过滤机制。IPTable具有过滤指定的数据封包、IP伪装、达成 NAT 的主机等功能。
IPTables与Netfilter

IPTables和Netfilter的关系有时容易使人混淆不清。这]]></description><category></category></item><item><title><![CDATA[iptable 简析]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/41746193</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/41746193</guid><author>smartvincent88</author><pubDate>Fri, 05 Dec 2014 12:56:34 +0800</pubDate><description><![CDATA[filter表的实现

        filter表的实现函数实际上就是模块iptable_filter.o的init函数，位于net/ipv4/netfilter/iptable_filter.c，Line128。其主要工作是首先通过ipt_register_table()函数进行表的注册，然后用nf_register_hook()函数注册表所监听的各个HOOK。

    其中，对H]]></description><category></category></item><item><title><![CDATA[嵌入式系统文件系统比较 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/41350159</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/41350159</guid><author>smartvincent88</author><pubDate>Fri, 21 Nov 2014 16:02:37 +0800</pubDate><description><![CDATA[Linux支持多种文件系统，包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等，为了对各类文件系统 进行统一管理，Linux引入了虚拟文件系统VFS(Virtual File System)，为各类文件系统提供一个统一的操作界面和应用编程接口。　　Linux启动时，第一个必须挂载的是根文件系统；若系统不能从指定设备上挂载根文件系统，则系统会出错而退出启动。之]]></description><category></category></item><item><title><![CDATA[UBIFS介绍 - MTD网站]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/41350141</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/41350141</guid><author>smartvincent88</author><pubDate>Fri, 21 Nov 2014 16:01:22 +0800</pubDate><description><![CDATA[在了解UBIFS之前一定要注意UBIFS和任何传统的文件系统是不一样的：UBIFS不是运行在block device之上的（比如hard disk, MMC/SD卡，USB flash驱动等等）。UBIFS是运行于raw flash之上。请在开始UBIFS之旅前确保理解raw flash和MMC flash的区别。




Overview

UBIFS是nokia工程师在the u]]></description><category></category></item><item><title><![CDATA[Cramfs、JFFS2、YAFFS2的全面对比]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/41350043</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/41350043</guid><author>smartvincent88</author><pubDate>Fri, 21 Nov 2014 15:55:00 +0800</pubDate><description><![CDATA[由于嵌入式系统自身存在一些特殊要求，使得一些传统的文件系统(如FAT、EXT2等) 并不十分适合。专用的嵌入式文件系统应有一些自身的特性，如文件系统面对的储存介质特殊性、文件系统应具有的跨平台的安全性，以及整个系统的即时性等。本文介绍了3种源码开放的嵌入式文件系统Cramfs、JFFS2、YAFFS2，详细分析比较了这3种文件系统的主要性能，并根据分析结果指出了各自的适用领域。
        ]]></description><category></category></item><item><title><![CDATA[JFFS2 文件系统及新特性介绍]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/41279867</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/41279867</guid><author>smartvincent88</author><pubDate>Wed, 19 Nov 2014 12:00:51 +0800</pubDate><description><![CDATA[登录
 (或注册)


中文








JFFS2 是一个开放源码的项目(www.infradead.org)。
 它是在闪存上使用非常广泛的读/写文件系统，在嵌入式系统中被普遍的应用。这篇文章首先分析了在闪存上使用 JFFS2 的必要性，然后详细的阐述了 JFFS2 实现的内部机制，包括日志结构的文件系统，关键的数据结构，挂载过程和垃圾收集机制。同时也指出了 J]]></description><category></category></item><item><title><![CDATA[轻量级 NAND 坏块管理方法分析及改进]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/40376687</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/40376687</guid><author>smartvincent88</author><pubDate>Wed, 22 Oct 2014 14:57:17 +0800</pubDate><description><![CDATA[NAND Flash 在嵌入式系统中有着广泛的应用，负载平均和坏块管理是与之相关的两个核心议题。Uboot 和 Linux 系统对 NAND 的操作都封装了对这两个问题的处理方法。 本文首先介绍了现有的几类坏块管理（BBM）方法，通过分析典型嵌入式系统的 NAND 存储表，指出了轻量级管理方法的优势所在，分析了当前广泛使用的轻量级管理方法，指出其缺陷所在并详细说明了改进方法。

0 评论：
]]></description><category></category></item><item><title><![CDATA[alsa音频架构]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/39577461</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/39577461</guid><author>smartvincent88</author><pubDate>Fri, 26 Sep 2014 10:45:40 +0800</pubDate><description><![CDATA[alsa音频架构2-ASoc

分类： linux设备驱动2013-05-28
 11:58 765人阅读 评论(0) 收藏 举报
ALSAASoClinuxdai嵌入式

设计ASoc的目的是为嵌入式系统片上处理器音频单元或外部的音频解码芯片提供更好的ALSA支持

ASoC有多个组件组成snd_soc_platform/snd_soc_codec/snd_soc_dai/snd]]></description><category></category></item><item><title><![CDATA[ARM與Cortex筆記-ARM MPCore (Multi-Processor Core) 多核心架構解析.]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/39523271</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/39523271</guid><author>smartvincent88</author><pubDate>Wed, 24 Sep 2014 15:04:36 +0800</pubDate><description><![CDATA[隨著目前SmartPhone的應用與複雜度增加,這類消費性電子產品,必須要能在考量功耗與持久性的前提下,達成使用者可接受的高效能,並且還要有足夠的使用與待機時間,基於如此,ARMMPCore多核心架構,就是一個在消費性電子產品上可以考慮的處理器架構選擇.
 
參考ARM網站有關CortexA9Performance的介紹(http://www.arm.com/products/processo]]></description><category></category></item><item><title><![CDATA[Android 筆記-Linux Kernel SMP (Symmetric Multi-Processors) 開機流程解析 Part(4) Linux 多核心啟動流程-kthreadd 與相關的核]]></title><link>https://blog.youkuaiyun.com/smartvincent88/article/details/39523229</link><guid>https://blog.youkuaiyun.com/smartvincent88/article/details/39523229</guid><author>smartvincent88</author><pubDate>Wed, 24 Sep 2014 15:02:15 +0800</pubDate><description><![CDATA[kthread第一次出現在LinuxKernel中是在Kernel版本2.6.4時,一開始的實作尚未有本文提到的kthreaddTask的具體架構,隨著版本的演進,除了這部份的設計完整外,需要產生KernelThread的實作也都已經改用kthread機制.


本文會先針對kthreaddTask行為加以說明,並會以在啟動後,屬於KernelMode產生的KernelThread的個別行為]]></description><category></category></item></channel></rss>