自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

evenness的专栏

资料收集整理

  • 博客(129)
  • 收藏
  • 关注

转载 nand flash ecc, oob

极详细的ECC讲解ECC的全称是Error Checking and Correction,是一种用于Nand的差错检测和修正算法。如果操作时序和电路稳定性不存在问题的话,NAND Flash出错的时候一般不会造成整个Block或是Page不能读取或是全部出错,而是整个Page(例如512Bytes)中只有一个或几个bit出错。ECC能纠正1个比特错误和检测2个比特错误,而且计算速度很快,但对

2014-08-27 16:23:50 2182

转载 关于PCI的问答

问:就是怎么在driver设计中 pci总线上这么多设备怎么区分彼此的?区分彼此开来 ?使用次设备号吗,但是cpu怎么区分对应的pci设备答:cpu和pci设备之间隔着pci总线控制器或者pci桥cpu的内存地址空间和pci总线地址空间是相互独立的隔离的,只是大多数cpu架构(x86)都是简单地把这2种地址不加任何偏移地一一映射。但是驱动程序员这个概念要分清。cpu首先要访问pci控制

2014-01-08 11:08:40 3152

转载 地址空间的归纳总结

url: http://alanwu.blog.51cto.com/3652632/1082195通常X86系统中会存在四大地址空间:进程地址空间、内核地址空间、物理地址空和PCI地址空间。这几大地址空间有些是硬件领域的相关内容,例如PCI地址空间,PCI Hole;有些是软件研发需要了解的。这几大地址空间有什么不同?他们之间是如何联系在一起的呢?下图是进程地址空间、内核地址空

2014-01-08 10:15:54 2060

转载 System Address Map Initialization in x86/x64 Architecture Part 1: PCI-Based Systems

This article serves as a clarification about the PCI expansion ROM address mapping, which was not sufficiently covered in my “Malicious PCI Expansion ROM” article published by Infosec Institute last y

2014-01-07 16:41:18 4811

转载 Vsftpd-3.0.2服务器arm-linux移植—mini2440开发板

Vsftpd-3.0.2服务器arm-linux移植—mini2440开发板开发板:mini2440(2011.04.21)环境:ubuntu9.10为方便的将文件上传到开发板,采用vsftpd,移植过程如下:1.       获取源码,地址:ftp://vsftpd.beasts.org/users/cevans/2.       修改Makefile文件,按实际情况填写,请

2013-12-02 10:38:18 6571 1

转载 嵌入式设备使用的web服务器 ——thttpd移植

web服务器thttpd的移植1.官网下载http://www.acme.com/software/thttpd/ 版本thttpd-2.25b.tar.gz2.解压 tar -zxvf thttpd-2.25b.tar.gz3../configure4.修改makefileCC = gcc -> CC = arm-none-linux-gnueab

2013-11-27 13:55:30 4766 1

转载 移植openssh至arm9嵌入式开发板及常见错误

同学考研,买了块arm9的开发板没时间玩儿,就借给奶牛玩儿了,昨晚开始折腾,先从移植开始,最开始折腾的axel,比较容易移植。之后的今天就开始搞ssh的移植了,选择的openssh,从网上查了一些教程,虽然他们也写了也总结了,但是问题依旧是存在滴。好吧,奶牛就把自己做的总结下吧。首先说移植的目的:有了ssh开机自动启动,就不用串口线来操作开发板了,可以节省很多时间,特别是文件传输的缓慢实在

2013-11-22 12:21:07 5879 4

转载 Android 编译(三)

原文:http://www.cnblogs.com/mr-raptor/archive/2012/06/12/2547030.html前面两节讲解了自定义Android编译项和创建Product产品配置文件,除了编译和定义产品相关环境变量外,还需要定义Board相关环境变量。1. build/core/config.mk109 # ---------------

2013-11-14 14:57:06 940

转载 Android 编译(二)

原文:http://www.cnblogs.com/mr-raptor/archive/2012/06/08/2541571.html通过上篇文章,我们分析了编译android时source build/envsetup.sh和lunch命令,在执行完上述两个命令后, 我们就可以进行编译android了。 1. make 执行make命令的结果就是去执行当前目录

2013-11-14 14:56:05 898

转载 Android 编译(一)

已有 8132 次阅读2010-6-1 22:52 |个人分类:android| , , , ,build/envsetup.sh 脚本分析(lunch函数)lunch函数提供了一个菜单,让开发人员选择需要编译的目标产品(target product)和变体(variant),并做一些检查,设置环境变量,并打印出主要的环境变量。直接运行lunch(必须先运行 build

2013-11-14 13:59:14 967

转载 android4.0编译 (ubuntu12.04 64bit)

1、初始化编译环境(1)软件需求:    Python 2.5 -- 2.7, which you can download from python.org.    GNU Make 3.81 -- 3.82, which you can download from gnu.org,    JDK 6 if you wish to build Gingerbread

2013-11-14 13:56:41 1723

转载 ubuntu安装wireshark

sudo apt-get install wireshark但出于安全方面的考虑,普通用户不能够打开网卡设备进行抓包,wireshark不建议用户通过sudo在root权限下运行,可以用如下步骤设置普通用户也能使用wireshark抓包sudo dpkg-reconfigure wireshark-common   ==> 弹出消息中选择yes在组策略中会出现wir

2013-11-05 10:48:42 1034

转载 x86函数调用过程探究

http://www.cnblogs.com/bangerlee/archive/2012/05/22/2508772.html引言如何定义函数、调用函数,是每个程序员学习编程的入门课。调用函数(caller)向被调函数(callee)传入参数,被调函数返回结果,看似简单的过程,其实CPU和系统内核在背后做了很多工作。下面我们通过反汇编工具,来看函数调用的底层实现。 基

2013-11-01 10:21:22 1714

原创 win7与linux双系统安装与卸载(整理)

windows下linux系统的安装方法:1、使用u盘安装下载unetbootin工具制作启动U盘,下载地址为 http://unetbootin.sourceforge.net/U盘最好4G左右就足够了,安装用的linux iso文件要提前下载好。制作好启动U盘后,将U盘插到电脑上,重新电脑,进入BIOS,设为从usb启动,这样一步步来就可以了。这种方法虽然方便,可是由于U盘

2013-10-21 14:49:10 17987

转载 Linux Debug Filesystem的使用

在进行系统调试的时候,有可能会使用到debug file system。下面讲解如何具体使用debug file system1. 在kernel中使用debug file system    make menuconfig --> Kernel hacking --> 选中Debug Filesystem (CONFIG_DEBUG_FS)选项。    make menuconf

2013-09-24 09:54:33 1721

转载 YUV420转YUV444 , YUV420转RGB

YUV的颜色表示原理:  Y = 0.299R + 0.587G + 0.114B   U = -0.147R - 0.289G + 0.436B   V = 0.615R - 0.515G - 0.100B   R = Y + 1.14V   G = Y - 0.39U - 0.58V   B = Y + 2.03U如果通过上面的公式从RGB转换成YUV的话,得出

2013-09-12 11:06:13 1672

转载 VGA时序及其原理

显示器扫描方式分为逐行扫描和隔行扫描:逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。隔行扫描是指电子束扫描时每隔一行扫一线,完成一屏后在返回来扫描剩下的线,隔行扫描的显

2013-09-09 10:51:00 1875

转载 MPlayer移植到TI DM816X

下载主程序:http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc2.tar.bz2下载皮肤:http://www.mplayerhq.hu/MPlayer/skins/Abyss-1.7.tar.bz2下载解码器库http://www.mplayerhq.hu/MPlayer/releases/codecs/all-200

2013-08-06 11:06:52 1158

转载 制作jffs2根文件系统

一、制作mkfs.jffs2工具        首先得准备好两个软件包 ,一个是MTD设备的工具包,另一个是zlib压缩包,在这我的MTD设备工具包为mtd-snapshot-20050519.tart.tar,zlib压缩包是zlib-1.2.3.tar.tar。步骤:(1)解压zlib-1.2.3.tar.tar,$tar xf zlib-1.2.3.tar.tar (

2013-07-25 16:36:48 927

转载 Uncompressing Linux..... done, booting the kernel.

内核启动卡在Uncompressing Linux..... done, booting the kernel.这好像是个老生常谈的问题了。成因在网上也罗列了很多种,可这次我碰到的,却没百度出解决方法,纠结了我很久才解决。我先把造成Uncompressing Linux..... done, booting the kernel.的常见的几种可能再罗列一下1、机器码不匹配

2013-07-25 10:33:18 735

转载 Eclipse快捷键大全

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对

2013-07-17 13:16:20 890

转载 windows下NFS服务器SFU设置

一、安装SFU1、下载软件SFUhttp://download.microsoft.com/download/a/1/c/a1ca7af1-a6e3-46e7-874a-4c5d8c0fb3b7/SFU35SEL_EN.exe2、编辑用户组group文件 和密码passwd文件 ,并复制到C:\例如:passwd内容root:x:0:0:root:/root:/bin/sh

2013-07-12 09:19:03 1682

转载 Shell变量

本地变量 通过set命令可以查看环境变量 通过env命令可以查看位置变量 $0,$1,...,$9特定变量参数 $*,$@,$#,$$,$!,$-,$?上一条命令!! 全部的上一条命令!* 上一条命令的全部参数!$ 上一条命令的最后一个参数$? 上一条命令的返回值0 true1 false$# 传递到脚本的参数

2013-07-01 14:20:19 567

转载 内核编译配置

1) 下载kernel并解压2) vim Makefile,添加如下两行ARCH=armCROSS_COMPILE=/usr/local/arm/3.3.2/bin/arm-linux-3) 配置:make menuconfig 或者使用默认的一个开发板配置在它的基础上修改  例:make s3c2410_defconfig4) make zImage

2013-07-01 13:56:53 675

转载 视频与图像RGB/YUV格式

在视频等相关的应用中,YUV是一个经常出现的格式。本文主要以图解的资料的形式详细描述YUV和RGB格式的来由,相互关系以及转换方式,并对C语言实现的YUV转为RGB程序进行介绍。         人类眼睛的色觉,具有特殊的特性,早在上世纪初,Young(1809)和Helmholtz(1824)就提出了视觉的三原色学说,即:视网膜存在三种视锥细胞,分别含有对红、绿、蓝三种光线敏感的视色素,当一

2013-07-01 10:17:17 11889 21

转载 Linux 内存管理之highmem简介

一、Linux内核地址空间一般来说Linux 内核按照 3:1 的比率来划分虚拟内存(X86等):3 GB 的虚拟内存用于用户空间,1GB 的内存用于内核空间。当然有些体系结构如MIPS使用2:2 的比率来划分虚拟内存:2 GB 的虚拟内存用于用户空间,2 GB 的内存用于内核空间,另外像ARM架构的虚拟空间是可配置(1:3、2:2、3:1)。内核线性地址空间用于为内核的运行提供最基本的支持,

2013-06-27 13:46:37 1017

转载 linux内核启动地址 解压缩 启动参数

一般情况下都在生成vmlinux后,再对内核进行压缩成为zImage,压缩的目录是kernel/arch/arm/boot。  下载到flash中的是压缩后的zImage文件,zImage是由压缩后的vmlinux和解压缩程式组成,如下图所示:  zImage链接脚本也叫做vmlinux.lds,位于kernel/arch/arm/boot/compressed。  是由同一目

2013-06-27 11:20:44 2195

转载 ubuntu下安装OpenGL并搭建OpenGL开发环境

网上找的,放在这里以后再找就方便了1.安装IDE: 这里使用的是codeblockssudo apt-get install codeblocks2.配置linux下的openGL下载并安装openGL所需要的库sudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-devsudo apt-

2013-06-22 13:10:08 11185 1

转载 IBM System X服务器操作系统安装

IBM System X操作系统安装手册1、概述在IBM系列服务器上安装操作系统,方法有别于安装其他品牌的服务器和台式机。为了保证IBM服务器的稳定性和数据的安全性,IBM Ssystem X将对硬盘数据安全至关重要的serveraid阵列卡以及主板集成控制器独立出来,所以,通常情况下都需要单独加载驱动。2、安装方法Serverguide光盘引导安装

2013-05-27 09:57:36 22858

原创 makefile

makefile中的自动变量:变量含义$*表示目标文件的名称,不包含目标文件的扩展名$+表示所有的依赖文件,这些依赖文件之间用空格分开,按照出现的先后为顺序,其中可能包含重复的依赖文件$表示依赖项中第一个依赖文件的名称$?依赖项中,所有目标文件

2013-05-16 14:22:48 820

转载 Linux静态库和动态库

库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。 静态库和动态库的区别1. 静态函数库 这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为

2013-05-16 13:26:42 581

转载 设备文件系统剖析与使用 udev mdev devfs

一、什么是Linux设备文件系统首先我们不看定义,定义总是太抽象很难理解,我们先看现象。当我们往开发板上移植了一个新的文件系统之后(假如各种设备驱动也移植好了),启动开发板,我们用串口工具进入开发板,查看系统/dev目录,往往里面没有或者就只有null、console等几个系统必须的设备文件在这儿外,没有任何设备文件了。那我们移植好的各种设备驱动的设备文件怎么没有啊?如果要使用这些设备,那不是

2013-05-16 10:33:16 823

转载 路由器处理ARP包过程(ZZ)

PC0------SW---------ROUTER---------PC1假设是第一次通信,有路由器存在,跨网段的通信哦。1.PC0开始Ping PC1,因为是跨网段的通信,所以要先发ARP包请求网关的MAC地址,要拿到网关的MAC地址才能正确封装数据。这时ARP包(注意这里是ARP包,不是你的Ping包)里源ip地址为PC0的IP地址,源MAC地址为PC0的MAC地址,目标IP

2013-04-26 16:59:36 3277

转载 用I2C tools來檢查CODEC裡register的值

在處理音訊相關的問題時,我通常會找個方法來讀寫codec中register的值。幸好linux上也有這樣的工具 – i2c tools。先到lm-sensors下載soure code,然後cross compile成arm的執行檔,就可以放到板子來試試看了。i2c-tools中含有四個執行檔i2cdetect – 用來列舉I2C bus和上面所有的裝置 i2cdump – 顯示裝置上

2013-04-12 17:05:56 1081

转载 Redhat查看系统信息的方法

http://blog.csdn.net/opensource500/article/details/6578073拿到一个系统,肯定要看看系统配置,linux下看配置,可没有windows那么直观。你只能一个一个查看。一:cpu[root@srv /]# more /proc/cpuinfo | grep "model name"model name : Intel(

2013-04-12 11:22:34 1038

转载 GPT分区在PC机上安装linux不能引导的解决方法

原文:http://veryi.com/w/163.html 硬盘被转换成了GPT,安装centos 5.3时提示:Your boot partition is on a disk using the GPT partitioning Scheme but this machines cannot boot using GPT.用linux live CD,推荐slax o

2013-04-12 11:21:18 1720

转载 senip使用

在从事网络产品尤其是网络安全产品开发时,我们一直面临着一个问题,就是对产品的TCP/IP 协议栈进行稳定性或安全性测试,确保开发产品在遇到各种不规则的错误的IP 包时仍可正常稳定高效地工作,我们知道,在正常的网络环境中,很难产生错误的IP 包,也很难产生我们想要的错误的IP 包,为此,要完成对产品的测试,我们必须自己来制造各种各样错误的IP 包,本篇的目的就是介绍如何利用各种发包工具来制造自己想要

2013-03-01 13:36:09 841

转载 __asm__ __volatile__内嵌汇编用法简述

作者:刘洪涛__asm__ __volatile__内嵌汇编用法简述 在阅读C/C++原码时经常会遇到内联汇编的情况,下面简要介绍下__asm__ __volatile__内嵌汇编用法。因为我们华清远见教学平台是ARM体系结构的,所以下面的示例都是用ARM汇编。带有C/C++表达式的内联汇编格式为: __asm__ __volatile__("Instruction List" :

2013-02-06 10:45:47 657

转载 如何使用eclipse进行嵌入式Linux的开发

如何使用eclipse进行嵌入式Linux的开发 习惯了在windows环境下开发的程序员在转到Linux平台时经常会抱怨没有一个好用的集成开发环境。和windows下常用的一些开发软件相比,Linux自带的一些开发环境使用起来要么界面和操作不够方便、友好,要么功能不全。其实我们完全可以在开源社区上找到操作方便,功能强大的开发环境。下面就向大家介绍一个能在Linux上运行,界面和功能与window

2013-02-01 13:49:41 601

转载 实例解析linux内核I2C体系结构(2)

四、在内核里写i2c设备驱动的两种方式前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两种方式的实现。这里分别称这两种方式为“Adapter方式(LEGACY)”和“Probe方式(new style)”。(1) Adapter方式(LEGACY)(下面的实

2013-01-29 13:19:34 507

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除