自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (7)
  • 收藏
  • 关注

转载 Machine_desc & boot & Kernel_init & initcall & module_init

跳转到start_kernel中,与本题相关的主要是setup_arch()和rest_init(),其中前者执行的较早,而后者做为start_kernel执行的最后一个函数。函数start_kernel()和rest_init()定义在kernel/init/main.c中,函数setup_arch()定义在kernel/arch/arch_name/kernel/setup.c中。

2014-11-10 10:12:20 608

转载 linux grep命令

linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式grep [options]3.主要参数[options]主要参数:-c:只输出匹配行的计数

2014-08-28 10:35:19 410

转载 windows下Eclipse+MinGW+Qt+c++配置安装解决方法

怎样在windows和xp下安装Eclipse+MinGW+Qt+c++,不会的朋友们可以看看。对于在windows-Eclipse上安装c++和qt,只是对于程序员以后在应用层开发很适用,但是如果想往底层发展,建议大家在linux下安装会比较合适。          第一步,去Eclipse官网,下载Eclipse+CDT,现在都集成在一起了,可以下载一个非安装版本的直接解压就可以用了。

2014-08-15 14:35:31 601

原创 arm网站

http://www.lumit.org/LASO/https://github.com/limingth/LASO/wiki   https://github.com/limingth/ARM-Codes/tree/master/tiny210-linux-codes/prj3-dpf-dma

2014-05-10 21:34:53 464

转载 **输入子系统架构分析

输入子系统架构分析内 核的输入子系统是对分散的,多种不同类别的输入设备(如键盘,鼠标,跟踪球,操纵杆,触摸屏,加速计和手写板)等字符设备进行统一处理的一层抽象,就是在 字符设备驱动上抽象出的一层。输入子系统包括两类驱动程序:事件驱动程序和设备驱动程序。事件驱动程序负责和应用程序的接口,而设备驱动程序负责和底层输 入设备的通信。鼠标事件生成文件mousedev属于事件驱动程序

2014-05-03 10:25:19 517

转载 平台设备注册流程 platform_add_devices() platform_driver_register()

来自: http://www.diybl.com/course/6_system/linux/Linuxjs/200871/129585.html从 Linux 2.6 起引入了一套新的驱动管理和注册机制 :Platform_device 和 Platform_driver 。     Linux 中大部分的设备驱动,都可以使用这套机制 , 设备用 Platform_dev

2014-04-29 17:52:52 1678

转载 input 子系统架构总结

Linux输入子系统(Input Subsystem)        Linux 的输入子系统不仅支持鼠标、键盘等常规输入设备,而且还支持蜂鸣器、触摸屏等设备。本章将对 Linux 输入子系统进行详细的分析。一    前言                输入子系统又叫 input 子系统。其构建非常灵活,只需要调用一些简单的函数,

2014-04-29 17:50:36 350

转载 Poll机制分析

最近看了一下Linux Poll 机制的实现,看了韦老师的分析文档,总结如下:int poll(struct pollfd *fds,nfds_t nfds, int timeout);总的来说,Poll机制会判断fds中的文件是否可读,如果可读则会立即返回,返回的值就是可读fd的数量,如果不可读,那么就进程就会休眠timeout这么长的时间,然后再来判断是否有文件可读,如果有,返

2014-04-22 19:36:08 414

转载 rmmod: chdir(/lib/modules): No such file or directory 解决方法

使用rmmod会出现 rmmod : chdir(/lib/modules): No such file or directory ? 现在的内核模块在插入卸载时都会要转到 “/lib/modules/内核版本号/ ” 这个目录里。所以只要建立这个目录就行了。在目标板执行#mkdir -p /lib/modules/$(uname -r)较新版本的bus

2014-04-14 18:25:10 545

转载 Yaffs2文件系统制作

Yaffs2文件系统移植到mini2440现在大部分开发板都可以支持yaffs2 文件系统,它是专门针对嵌入式设备,特别是使用nand flash作为存储器的嵌入式设备而创建的一种文件系统,早先的yaffs仅支持小页(512byte/page)的nand flash,使用 yaffs2 就可以支持大页的 nand flash。所谓的根文件系统,就是创建各个目录,并且在里面创建各种文件,比如

2014-04-11 18:25:26 504

转载 linux学习好书

Linux驱动学习的最大困惑在于书籍的缺乏,市面上最常见的书为《linux_device_driver 3rd Edition》,这是一本很经典的书,无奈Linux的东东还是过于庞大,这本侧重于实战的书籍也只能停留在基本的接口介绍上,更深入的东东只能靠我们自己摸索了。但万事总有一个开头,没有对Linux驱动整体框架的把握是很难做一个优秀的驱动开发者的。除了这本Jonathan Corbet, Gr

2014-04-09 19:13:24 403

转载 Linux 3.3.5系统移植(refer)

Linux 3.3.5系统移植1.   将arch/arm/mach-s3c6410/下的,mach-smdk6410.c cp为mach-my6410.c;2.   打开arch/arm/mach-s3c6410/下的Kconfig,仿照MACH_SMDK6410做一个菜单项:config MACH_MY6410    bool "MY6410"    s

2014-04-09 18:53:39 1309

转载 linux模块的加载与卸载

核心的功能就是用来控制系统硬件与相关程序的东西!核心可以使用『模块』的方式来动态的加载与移除所需要的模块,OK!那么该如何加载与卸载这些模块呢?!要知道的是,在模块的加载方面,最主要的开机时即加载模块的档案在于:/etc/modprobe.conf,如果你有任何的新的驱动程序需要在开机的时候加载,呵呵!写入这个档案就对了!而核心的驱动程序写在哪里?就是在:/lib/modules/`uname–r

2014-04-09 08:49:41 667

转载 ***s5pv210 nandflash 移植

为了移植yaffs2文件系统,必须有nand的支持,linux-3.4.2 s5pv210 没有发现对nand的支持。参考2.6.35把nand的驱动移植过来。1. 配置内核MTDDevice drivers-->Memory TechnologyDevice(MTD) support --->Caching block device

2014-04-08 14:32:04 950

转载 ubuntu软件安装和查看已安装软件

说明:由于图形化界面方法(如Add/Remove... 和Synaptic Package Manageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装、卸载和删除的方法。一、Ubuntu中软件安装方法1、APT方式(1)普通安装:apt-get install softname1 softname2 …;(2)修复安装:apt-get -f install s

2014-04-08 08:50:23 574

转载 uboot 与系统内核中MTD分区的关系

uboot 与系统内核中MTD分区的关系:分区只是内核的概念,就是说A~B地址放内核,C~D地址放文件系统,(也就是规定哪个地址区间放内核或者文件系统)等等。1:在内核MTD中可以定义分区A~B,C~D。。。。。。并予以绝对的地址赋值给每个分区。我们可以来看看在内核中是怎样来对MTD进行分区的:arch/arm/plat-s3c24xx/common-smdk.cstati

2014-04-07 11:29:07 406

转载 根文件系统及Busybox简介

目录1.根文件系统简介...22.Busybox简介...22.1Busybox简介...22.2Busybox目录结构简介...22.3init进程简介...33.构建自己的根文件系统...93.1编译Busybox.93.2向Busybox中添加新命令...194.附录...264.1Busybox实现的简单分析.

2014-04-06 08:32:17 478

转载 挂接nfs根文件系统 参数设置

在移植cs89x0后,就一直碰到如下这个问题:  nfs: server 192.168.10.1 not responding nfs: server 192.168.10.1 not responding nfs: server 192.168.10.1 OK ……  嵌入式系统要经过很多次很长时间

2014-04-05 09:32:59 675

转载 ***S5PV210(TQ210)学习笔记——内核移植与文件系统构建

由于之前做过2440和6410,鉴于时间原因,这里暂时跨过其他模块的裸机驱动和uboot移植,直接进入内核移植及驱动开发方面的学习。内核移植其实很简单,因为内核是linus率领的linux内核开发团队开发并维护的,我们只需要跟我们的平台交叉编译一下即可使用,但是,内核移植也不简单,因为内核移植起见出现任何问题都可能会被卡住,因为内核代码非常庞大,我们无法通读内核代码,下面是我移植期间遇到的

2014-04-02 13:29:13 582

转载 安装交叉编译工具,执行arm-linux-gcc –v命令出现提示找不到该文件或目录?解决方法

一般情况下 使用的都是32的ubuntu 配置好环境后一般不会有问题,但是对于64位的ubuntu系统,在配好环境后 进入arm-linux-gcc安装目录执行arm-linux-gcc 会任然提示arm-linux-gcc  对于这个问题  纠结了好久 最后在一个英文博客里发现 arm-linux-gcc 在64位下需要安装ia32-libs  即执行[plain] view

2014-04-01 21:48:01 486

转载 ubantu下Samba安装

一.samba的安装:   sudo apt-get insall samba                    // (sudo get temp root auth)   sudo apt-get install smbfs二. 创建共享目录:    mkdir /home/john/share    sudochmod 777 /home/john

2014-04-01 20:46:53 463

转载 用ssh登陆ubantu

使用i虚拟机的同学会经常遇到虚拟机运行卡机的现象,如果用远程登陆的方式操作linux系统由于没有了图像界面的显示系统会节省很多资源因此会在一定程度上避免卡机现象。使用远程登陆很简单,总结起来就三步:一、在ubuntu下安装ssh服务: Ubuntu 下安装 OpenSSH Server 是一件很容易得事情,需要的命令只有一条:  sudo apt-get install

2014-04-01 19:28:42 643

转载 解决 /lib/libc.so.6: version `GLIBC_2.11′ not found

解决 /lib/libc.so.6: version `GLIBC_2.11′ not found由于其他软件需要更高级的glibc 所以升级如下:首先用centos的yum升级glibc库yum update glibc但问题依旧。用命令查看glibc库的信息rpm -qi glibc显示系统的glibc库版本为

2014-04-01 10:37:38 735

转载 物理内存与线性地址的关系

在硬件工程师和普通用户看来,内存就是插在或固化在主板上的内存条,它们有一定的容量——比如64 MB。但在应用程序员眼中,并不过度关心插在主板上的内存容量,而是他们可以使用的内存空间——他们可以开发一个需要占用1 GB内存的程序,并让其在OS平台上运行,哪怕这台运行主机上只有128 MB的物理内存条。而对于OS开发者而言,则是介于二者之间,他们既需要知道物理内存的细节,也需要提供一套机制,为应用

2014-03-29 15:58:09 786

转载 linux内核启动过程分析之内核启动——阶段1

linux/arch/arm/kernel/head.S是linux内核映像解压后执行的第一个文件。 //PAGE_OFFSET = 0xc0000000; TEXT_OFFSET = 0x00008000;//PHYS_OFFSET = 0x30000000;#define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET)

2014-03-26 19:12:02 517

转载 S5pv210内核移植

由于之前做过2440和6410,鉴于时间原因,这里暂时跨过其他模块的裸机驱动和uboot移植,直接进入内核移植及驱动开发方面的学习。内核移植其实很简单,因为内核是linus率领的linux内核开发团队开发并维护的,我们只需要跟我们的平台交叉编译一下即可使用,但是,内核移植也不简单,因为内核移植起见出现任何问题都可能会被卡住,因为内核代码非常庞大,我们无法通读内核代码,下面是我移植期间遇到的

2014-03-19 07:36:40 1448

转载 s5pv210的启动过程

一、启动流程1.s5pv210的启动过程根据三星公司的《S5PV210_UM_REV1.1》手册可知,S5PV210 启动过程主要可 分为 3 个阶段S5PV210 上电复位后将从 IROM 处执行已固化的启动代码 -------BL0在 BL0 里初始化过程中对启动设备进行判断,并从启动设备拷贝 BL1(最大16KB ) 到 IRAM 处 , 即 刚 才 所 说 的 0x

2014-03-17 20:29:44 1251

转载 smbpasswd – 改变用户的SMB口令

名称    smbpasswd – 改变用户的SMB口令      语法      smbpasswd [-a] [-d] [-e] [-D debug level] [-n] [-r remote_machine] [-R name  resolve order] [-m] [-j DOMAIN] [-U username] [-h] [-s] username   

2014-03-16 12:41:11 6678

转载 dd指令使用

dd指令使用 语法格式dd   [option] dd指令选项详解if=file:输入文件名,缺省为标准输入of=file:输出文件名,缺省为标准输出ibs=bytes:一次读入 bytes 个字节(即一个块大小为 bytes 个字节)obs=bytes:一次写 bytes 个字节(即一个块大小为 bytes 个字节)bs=bytes:同时设置读写块的大小为

2014-03-15 11:28:56 2457

转载 S3C2440上LCD驱动(FrameBuffer)实例开发讲解(一)

一、开发环境主  机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2二、背景知识1. LCD工作的硬件需求:   要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LC

2014-03-15 07:55:26 459

转载 u-boot.lds 如何定位代码在flash和内存中地址

网上大部分u-boot.lds文件的分析大部分都是千遍一律,例如下面就是本人在网上找到的关于u-boot.lds的资料。OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")/*指定输出可执行文件是elf格式,32位ARM指令,小端*/OUTPUT_ARCH(arm)/*指定输出可执行文件的平台为

2014-03-13 16:07:50 867

转载 关于uboot.lds文件的分析

关于uboot.lds文件的分析      gcc等编译器内置有缺省的连接脚本。如果采用缺省脚本,则生成的目标代码需要操作系统才能加载运行。为了能在嵌入式系统上直接运行,需要编写自己的连接脚本文件。编写连接脚本,首先要对目标文件的格式有一定了解。GNU编译器生成的目标文件缺省为elf格式。elf文件由若干段(section)组成,如不特殊指明,由C源程序生成的目标代码中包含如下段:.text(

2014-03-13 15:59:53 889

转载 PCB封装库命名规则

PCB封装库命名规则1、集成电路(直插)用DIP-引脚数量+尾缀来表示双列直插封装尾缀有N和W两种,用来表示器件的体宽N为体窄的封装,体宽300mil,引脚间距2.54mmW为体宽的封装, 体宽600mil,引脚间距2.54mm如:DIP-16N表示的是体宽300mil,引脚间距2.54mm的16引脚窄体双列直插封装2 、集成电路(贴片)用SO-引脚数量+尾缀表示小

2014-03-12 14:51:49 5664

转载 uboot 移植

在进行U-Boot移植之前,我们会用到一些有关S5PV210的知识,在这里简单的给大家介绍一下~硬件平台:OK210开发板U-Boot:2011.06  ---------------------------------第一部分-----------------------------------  S5pv210是一个32位精简指令集、低功耗、高性能的cortex-a8处理器

2014-03-08 21:26:32 653

转载 uboot参数表的结构和操作

uboot参数表的结构和操作(R.wen)1、参数表的结构定义在environment.c中,如下:#ifdef CFG_REDUNDAND_ENVIRONMENT# define ENV_HEADER_SIZE       (sizeof(unsigned long) + 1)#else# define ENV_HEADER_SIZE       (siz

2014-03-01 21:49:09 616

转载 uboot 启动过程中各函数功能详细分析

uboot启动过程中各函数功能详细分析本文主要分析流程中,各函数的功能。按启动顺序罗列一下启动函数执行细节。我们首先从函数start_armboot流程进行分析:1)DECLARE_GLOBAL_DATA_PTR; 这个宏在include/global_data.h中#define DECLARE_GLOBAL_DATA_PTR     register volatile

2014-02-26 21:43:40 747

转载 Uboot的第二阶段

uboot第一阶段分析完毕,根据第一阶段最后的分析,程序跳转到了ram中继续执行start_armboot这个函数。下面来看看这个函数主要完成了什么功能。首先要说明一个结构体,之前提到过,叫全局数据结构体,用于保存一些全局数据,在uboot第一阶段设置栈指针时,其实就已经为这个结构体在内存中留出了空间,它的地址就是在堆的地址下方,栈的上方。全局数据结构体定义如下所示:

2014-02-26 19:36:42 494

转载 开源网站地址汇总

1.FatFs:http://elm-chan.org/fsw/ff/00index_e.html2.linux内核源码:http://www.kernel.org3.uboot内核源码: http://www.icdev.com.cn/batch.viewlink.php?itemid=1694ftp://ftp.denx.de/pub/u-boot/4.libSVM

2014-02-26 19:17:49 624

转载 arm gcc内嵌汇编

arm gcc内嵌汇编=============================高级语言可以实现大部分编程功能,但是当我们需要对特定代码进行优化,写启动代码,或者操作特定硬件,或需要直接用CPU指令等等操作的时候我们需要用到汇编。但是我们只想在高级语言(比如C语言)中的某些特定部分插入某些汇编指令,这时候,我们就需要用高级语言提供的内嵌汇编功能。我们以arm gcc为例,用arm

2014-02-25 19:46:52 539

转载 ARM linux常用汇编语法

=============================汇编语言每行的语法: lable: instruction ; comment段操作: .section   格式: .section 段名 [标志] [标志]可以是如下:   a 允许段  w 可写段  x 可执行段 常见段名: data, bss, text, rodata

2014-02-25 19:45:49 409

vim 配置文件 vimrc

vim 配置文件

2021-09-23

vim used.rar

vim 开发环境

2021-09-22

LPC43xx_v2.0.pdf

LPC43xx使用手册

2021-05-18

IP5108_IP5207 通信协议.rar

IP5108/09电源管理芯片充放电通信协议

2021-05-18

ft2232 同步fifo

Ft2232Hl 同步fifo Qt测试源码 测试程序

2016-01-14

s5pv210 PL330 数据手册

s5pv210 DMA PL330 详细数据手册,介绍相关寄存器详细信息

2014-05-12

so-dimm pcb封装

so-dimm pcb封装 可以用于一些插卡的封装图 标准的尺寸 200引脚

2014-03-16

空空如也

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

TA关注的人

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