杂谈
杨Jun
从事android ,Linux 上层以及底层的开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
嵌入式系统文件系统比较 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs
Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统 进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。 Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。之转载 2014-11-21 16:02:37 · 551 阅读 · 0 评论 -
arm体系结构:arm920t
CPU一上电就处于 ARM 状态。 如果对于arm的CPU的工作模式和状态有疑惑: ** ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 如果对arm刚上电的工作模式和状态有疑惑:**arm 上电或复位时的状态,模式 ARM异常中断处理概述 1、中断的概念 中断是一个过程,是CPU在执行当前程序的过程中因硬件或转载 2016-05-18 18:14:19 · 6443 阅读 · 2 评论 -
usb
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转载 2016-04-07 18:34:45 · 986 阅读 · 0 评论 -
MBR 小结
在介绍exfat文件系统之前,首先介绍一下MBR,MBR作为传统的DOS系统的引导扇区,其中可能存储有bootloader的code,但是如果用于linux这样的系统,这部分是不许要的,因此,一般是0. 0-0x88 主引导程序 引导程序 0x89– 0x1bd 出错信息数据区 数据区 0x1be–原创 2015-08-12 16:03:16 · 843 阅读 · 0 评论 -
Device Tree:代码分析
一、前言 Device Tree总共有三篇,分别是: 1、为何要引入Device Tree,这个机制是用来解决什么问题的?(请参考引入Device Tree的原因) 2、Device Tree的基础概念(请参考DT基础概念) 3、ARM linux中和Device Tree相关的代码分析(这是本文的主题) 本文主要内容是:以Device Tree相关的数据流分析为索引转载 2015-04-21 20:24:23 · 651 阅读 · 0 评论 -
linux kernel的中断子系统:GIC代码分析
一、前言 GIC(Generic Interrupt Controller)是ARM公司提供的一个通用的中断控制器,其architecture specification目前有四个版本,V1~V4(V2最多支持8个ARM core,V3/V4支持更多的ARM core,主要用于ARM64服务器系统结构)。目前在ARM官方网站只能下载到Version 2的GIC architecture sp转载 2015-04-14 09:59:04 · 1415 阅读 · 0 评论 -
GNU-ld链接脚本浅析
0. Contents 1. 概论 2. 基本概念 3. 脚本格式 4. 简单例子 5. 简单脚本命令 6. 对符号的赋值 7. SECTIONS命令 8. MEMORY命令 9. PHDRS命令 10. VERSION命令 11. 脚本内的表达式 12. 暗含的连接脚本 1. 概论 每一个链接过程都由链接脚本(linker script, 一般以l转载 2015-02-26 09:52:34 · 585 阅读 · 0 评论 -
使用Linux中的fdisk来分区
一、fdisk 的介绍 fdisk - Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具;本人译的不太好,也没有看中文文档;其实就是分区工具fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux 、fat32、 linux 、linux swap 、fat16 以及其实类Unix类操作系统的文件系转载 2015-02-06 09:44:36 · 479 阅读 · 0 评论 -
iptable 简析
filter表的实现 filter表的实现函数实际上就是模块iptable_filter.o的init函数,位于net/ipv4/netfilter/iptable_filter.c,Line128。其主要工作是首先通过ipt_register_table()函数进行表的注册,然后用nf_register_hook()函数注册表所监听的各个HOOK。 其中,对H转载 2014-12-05 12:56:34 · 819 阅读 · 0 评论 -
IPTable相关理解记录
Iptable的处理机制 IPTable是一种封包过滤机制,版本在2.4.xx以上的Linux内核都支持并预装iptable,而在此之前以2.2.xx为核心的linux主要以ipchains作为过滤机制。IPTable具有过滤指定的数据封包、IP伪装、达成 NAT 的主机等功能。 IPTables与Netfilter IPTables和Netfilter的关系有时容易使人混淆不清。这转载 2014-12-05 13:25:23 · 557 阅读 · 0 评论 -
Cramfs、JFFS2、YAFFS2的全面对比
由于嵌入式系统自身存在一些特殊要求,使得一些传统的文件系统(如FAT、EXT2等) 并不十分适合。专用的嵌入式文件系统应有一些自身的特性,如文件系统面对的储存介质特殊性、文件系统应具有的跨平台的安全性,以及整个系统的即时性等。本文介绍了3种源码开放的嵌入式文件系统Cramfs、JFFS2、YAFFS2,详细分析比较了这3种文件系统的主要性能,并根据分析结果指出了各自的适用领域。转载 2014-11-21 15:55:00 · 644 阅读 · 0 评论 -
关于开通博客
考虑了很久,今天终于开通了这个博客。我其实不太善于文字的人,虽然以前很热爱文学,但是,自从选择理科之后,也就不怎么去关注文学了,所以,本来一般的文字功底,就日渐干涸了。我其实挺关注优快云的,从之前,通过优快云下载资料,到慢慢的去关注优快云上面的一些好的博客,即使偶尔在工作时间,依然抽空浏览一下,一是可以放松一下,二是关注行业的发展以及一些好的技术。今天之所以决定开通这个博客,其实也是一个很普原创 2014-01-22 09:57:01 · 621 阅读 · 0 评论 -
UBIFS介绍 - MTD网站
在了解UBIFS之前一定要注意UBIFS和任何传统的文件系统是不一样的:UBIFS不是运行在block device之上的(比如hard disk, MMC/SD卡,USB flash驱动等等)。UBIFS是运行于raw flash之上。请在开始UBIFS之旅前确保理解raw flash和MMC flash的区别。 Overview UBIFS是nokia工程师在the u转载 2014-11-21 16:01:22 · 816 阅读 · 0 评论 -
JFFS2 文件系统及新特性介绍
登录 (或注册) 中文 JFFS2 是一个开放源码的项目(www.infradead.org)。 它是在闪存上使用非常广泛的读/写文件系统,在嵌入式系统中被普遍的应用。这篇文章首先分析了在闪存上使用 JFFS2 的必要性,然后详细的阐述了 JFFS2 实现的内部机制,包括日志结构的文件系统,关键的数据结构,挂载过程和垃圾收集机制。同时也指出了 J转载 2014-11-19 12:00:51 · 776 阅读 · 0 评论 -
轻量级 NAND 坏块管理方法分析及改进
NAND Flash 在嵌入式系统中有着广泛的应用,负载平均和坏块管理是与之相关的两个核心议题。Uboot 和 Linux 系统对 NAND 的操作都封装了对这两个问题的处理方法。 本文首先介绍了现有的几类坏块管理(BBM)方法,通过分析典型嵌入式系统的 NAND 存储表,指出了轻量级管理方法的优势所在,分析了当前广泛使用的轻量级管理方法,指出其缺陷所在并详细说明了改进方法。 0 评论:转载 2014-10-22 14:57:17 · 1010 阅读 · 0 评论 -
ARM與Cortex筆記-ARM MPCore (Multi-Processor Core) 多核心架構解析.
隨著目前SmartPhone的應用與複雜度增加,這類消費性電子產品,必須要能在考量功耗與持久性的前提下,達成使用者可接受的高效能,並且還要有足夠的使用與待機時間,基於如此,ARMMPCore多核心架構,就是一個在消費性電子產品上可以考慮的處理器架構選擇. 參考ARM網站有關CortexA9Performance的介紹(http://www.arm.com/products/processo转载 2014-09-24 15:04:36 · 1434 阅读 · 0 评论 -
Android 筆記-Linux Kernel SMP (Symmetric Multi-Processors) 開機流程解析 Part(4) Linux 多核心啟動流程-kthreadd 與相關的核
kthread第一次出現在LinuxKernel中是在Kernel版本2.6.4時,一開始的實作尚未有本文提到的kthreaddTask的具體架構,隨著版本的演進,除了這部份的設計完整外,需要產生KernelThread的實作也都已經改用kthread機制. 本文會先針對kthreaddTask行為加以說明,並會以在啟動後,屬於KernelMode產生的KernelThread的個別行為转载 2014-09-24 15:02:15 · 865 阅读 · 0 评论 -
Android 筆記-Linux Kernel SMP (Symmetric Multi-Processors) 開機流程解析 Part(2) Linux Kernel SMP zImage到st
Mmmmmm,必須承認,我把這篇文章寫的有點囉嗦,以前在Linux Kernel上的工作,沒有留下太多的筆記,抽象的概念,容易隨著下一個產品或是技術的開發,成為過往記憶的一部分,這次重新整理,希望以後回來看時,可以很快Pick-up所有的細節,所以在一些枝微末節上,會比較嘮叨. 也因此,如果你原本就對ARM與Linux Kernel原始碼有一定的基礎,可能讀起本文來會比較輕鬆些. 若是有些部分,转载 2014-09-24 14:58:38 · 1659 阅读 · 0 评论 -
Android 筆記-Linux Kernel SMP (Symmetric Multi-Processors) 開機流程解析 Part(3) Linux 多核心啟動流程從rest_init到ker
承襲之前的內容,本文會先把resr_init到kernel_init的流程做一個說明. 並針對Secondary處理器Booting,CPU Idle省電機制與CPU Up/Down HotPlug機制做介紹. 而屬於核心 Kthreadd機制,會放到下次的文章中. Linux Kernel針對CPU Idle與對應的省電機制,已經有滿不錯的框架,只要處理器平台開發转载 2014-09-24 15:00:38 · 1011 阅读 · 0 评论 -
alsa音频架构
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转载 2014-09-26 10:45:40 · 1010 阅读 · 0 评论 -
ARM LINUX 内核启动
1. kernel运行的史前时期和内存布局 在arm平台下,zImage.bin压缩镜像是由bootloader加载到物理内存,然后跳到zImage.bin里一段程序,它专门于将被压缩的kernel解压缩到KERNEL_RAM_PADDR开始的一段内存中,接着跳进真正的kernel去执行。该kernel的执行起点是stext函数,定义于arch/arm/kernel/head.S。 在分析st转载 2014-09-24 14:38:27 · 671 阅读 · 0 评论 -
S3C2440 SDRAM驱动配置编程
SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存。内存的工作原理、控制时序、及相关控制器的配置方法一直是嵌入式系统学习、开发过程中的一个难点。我们从其硬件的角度来分析其原理,然后再引出SDRAM的驱动编写过程。 内存是代码的执行空间,以PC机为例,程序是以文件的形式保存在硬盘里面的,程序在运行之前先由操作系转载 2014-02-13 14:39:10 · 1114 阅读 · 0 评论
分享