自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (6)
  • 收藏
  • 关注

转载 Uboot详解~~~

大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。1、Stage1 start.S代码结构 u-boot的stage1代码通常放在start.S文件中,他用汇编语言写成,其主要代码

2009-12-31 00:15:00 4390

转载 Uboot常用命令

Printenv 打印环境变量。Uboot> printenvbaudrate=115200ipaddr=192.168.1.1ethaddr=12:34:56:78:9A:BCserverip=192.168.1.5Environment size: 80/8188 bytesSetenv 设置新的变量Saveenv 保存变量命令将当前定义的所有的变量及其值存入fla

2009-12-29 11:08:00 1142

转载 module奇怪错误问题集

我的机器是单CPU的,首先声明。 在编译一个模块时,如下: #ifndef __KERNEL__ #  define __KERNEL__ #endif #ifndef MODULE #  define MODULE #endif #include #include #include #include /* printk() */ #include      /* everything..

2009-12-29 10:57:00 1805

转载 lowlevel_init.S注解

#include #include  /* some parameters for the board */ /* * * Taken from linux/arch/arm/boot/compressed/head-s3c2410.S * * Copyright (C) 2002 Samsung Electronics SW.LEE  hitchcar@sec.samsung.c

2009-12-27 16:12:00 713

转载 uboot的lowlevel_init.s解读

本文主要分析与U-Boot启动过程相关的汇编代码lowlevel_init.S,目标平台以PXA270为例。文件位于board/myboard/lowlevel_init.S,主要执行内存相关的初始化 把链接寄存器LR(即R14)的值转存到寄存器R10中,以便lowlevel_init完成后恢复执行 .globl lowlevel_initlowlevel_init:    mov      r1

2009-12-27 13:12:00 1716

转载 uboot

本文主要分析与U-Boot启动过程相关的汇编代码lowlevel_init.S,目标平台以PXA270为例。文件位于board/myboard/lowlevel_init.S,主要执行内存相关的初始化 把链接寄存器LR(即R14)的值转存到寄存器R10中,以便lowlevel_init完成后恢复执行 .globl lowlevel_initlowlevel_init:    mov      r1

2009-12-27 13:10:00 887

转载 uboot目录结构

U-BOOT一、U-BOOT的目录结构u-boot目录下有18个子目录,分别存放管理不通的源程序。这些目录中所要存放的文件有其规则,可以分成三类。■第一类目录与处理器体系结构或者开发板硬件直接相关;■第二类目录是一些通用的函数或者驱动程序;■第三类目录是u-boot的应用程序、工具或者文档。Board:和一些已有开发板相关的文件,比如Makefile和u-boot.lds等都和具体开发板的硬件和地

2009-12-26 21:47:00 3474 1

转载 Linux内核启动分析

Linux 内核启动分析1.       内核启动地址1.1.   名词解释ZTEXTADDR解压代码运行的开始地址。没有物理地址和虚拟地址之分,因为此时MMU处于关闭状态。这个地址不一定时RAM的地址,可以是支持读写寻址的flash等存储中介。Start address of decompressor. heres no point in talking about virtual

2009-12-25 17:31:00 2380 2

转载 vmlinux.lds解读

vmlinux.lds.S用于对ld的输出进行组版,这个文件的格式在ld.info手册中有详细的说明。vmlinux.lds.S的主要目的是对输出文件中段进行排序,并定义相关的符号名,以下是简要注释。/* ld script to make i386 Linux kernel * Written by Martin Mares ; */OUTPUT_FORMAT("elf32-i386", "

2009-12-25 14:58:00 786

转载 SDRAM大小的判断

//========================================================================//TITLE://    SDRAM大小的判断//AUTHOR://    norains//DATE://    Saturday  31-May-2008//Environment://    NONE//====================

2009-12-25 09:29:00 666

转载 Uboot的一些基础知识

1. 下面代码是系统启动后U-boot上电后运行的第一段代码,他是什么意思?.globl _start_start:    b       reset    ldr    pc, _undefined_instruction    ldr    pc, _software_interrupt    ldr    pc, _prefetch_abort    ldr    pc, _data_abo

2009-12-23 14:11:00 2315 1

转载 nand flash结构以及读写分析——写的比较经典(转载)

今天在利用ARM7上的nandflash控制器驱动,ID已读取成功,擦写,读取等尚未完成,晚上就在网上查查相关的知识,觉得有一个不错,转贴如下:NAND Flash 的数据是以bit 的方式保存在memory cell,一般来说,一个cell 中只能存储一个bit。这些cell 以8 个或者16 个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND D

2009-12-19 14:01:00 772

转载 vivi分析-NandFlash的操作(mtd&&bon)-1

vivi中对nandflash的操作还是比较多的,比如vivi启动时,首先要将自身的代码从nandflash里复制到sdram里,这一步就需要对nandflash的读取。此时可以通过nandflash控制器来操作,所以实现起来会简单一些。到了vivi后面的阶段会引入mtd,用以增强对nandflash的操作(读、写、ecc较验等)。mtd封闭了一些对nandflash操作的细节,对上层操作提供统一

2009-12-16 22:12:00 830

转载 对Nand flash读操作的分析

前几天大致分析了u-boot针对smdk2410的源码,了解了启动的流程,但是对板上许多硬件的驱动过程还不太清楚。smdk2410源码中有针对Nor Flash的初始化和读取,但源码中没有对Nand Flash的操作,虽然针对其他型号的板子应该有Nand的源码,但方便起见,我查阅了vivi的源码,它支持从Nand Flash启动,自然有我需要的东西。下面我就自己的分析和总结列出来,中间当然也从go

2009-12-16 00:10:00 802

转载 nand flash结构以及读写分析

NAND Flash 的数据是以bit 的方式保存在memory cell,一般来说,一个cell 中只能存储一个bit。这些cell 以8 个或者16 个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device 的位宽。这些Line 会再组成Page.(Nand Flash 有多种结构,我使用的Nand Flash 是K9F1208,下面内容针对

2009-12-15 22:43:00 602

转载 Linux内核启动地址的确定

内核编译链接过程是依靠vmlinux.lds文件,以arm为例vmlinux.lds文件位于kernel/arch/arm/vmlinux.lds,vmlinux-armv.lds的生成过程在kernel/arch/arm/Makefile中ifeq ($(CONFIG_CPU_32),y)PROCESSOR     = armvTEXTADDR     = 0xC0008000LDSCR

2009-12-15 18:50:00 736

转载 ARM汇编指令集

跳转指令    跳转指令用于实现程序流程的跳转,在ARM程序中有两种方法可以实现程序流程的跳转:Ⅰ.使用专门的跳转指令。Ⅱ.直接向程序计数器PC写入跳转地址值。通过向程序计数器PC写入跳转地址值,可以实现在4GB的地址空间中的任意跳转,在跳转之前结合使用MOV LR,PC等类似指令,可以保存将来的返回地址值,从而实现在4GB连续的线性地址空间的子程序调用。    ARM指令集中的跳转指令可以完成从

2009-12-14 21:31:00 911

转载 内核启动无法挂载根文件系统的问题

这类问题很常见,先总体介绍一下解决思路。能出现让人激动的的控制台,那么系统移植已经接近完成;但是不少人在最后一步出现问题。要点如下:1. 在正确的位置烧写正确格式的文件系统映象:2. 内核支持这种文件系统格式3. 文件系统的内容要完备 上面说得简单,一个个介绍。 1. 在正确的位置烧写正确的文件系统映象: (a). 正确的位置嵌入式开发中,常通过bo

2009-12-10 19:01:00 3410 2

转载 构建基本的嵌入式Linux根文件系统

其实在去年8月份我做系统移植时就构建好了一个可以用的根文件系统,但是那时是跟着别人的《Linux全线移植文档》做的。有些东西我也不清楚,只是跟着做,做出来能用就了事了,没有深究其中的规范,以及文件系统中哪些要,哪些不要。趁着今年过年的几天假期,我移植重新移植了U-Boot1.3.1和Linux2.6.24到S3C2410及S3C2440后,我想好好的看看有关文件系统构建方法和规范,整理整理构建

2009-12-09 23:19:00 968

转载 Linux启动过程综述(学习)

 Linux   2009-10-21 14:22   阅读5   评论0   字号: 大大  中中  小小   本文以Redhat 6.0 Linux 2.2.19 for Alpha/AXP为平台,描述了从开机到登录的 Linux 启动全过程。该文对i386平台同样适用。 Bootloader在Alpha/AXP平台上引导Linux通常有两种方法

2009-12-09 23:05:00 538

转载 嵌入式系统文件系统比较 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs1496014325

Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统 进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。  Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动

2009-12-09 22:25:00 1021

转载 U-boot片内启动移植

================== 准备工作=================2 i, T1 r1 M/ e) g9 m1.阅读at91rm9200 官方文档有关“引导程序”的章节% V) o7 ]) A- V7 C$ n, [对at91rm9200的启动流程有个大概的了解。5 J+ F B4 x3 ]2 n9 Eat91rm9200引导流程图/ x" m$ f5 I" [+ H* R7 `D

2009-12-07 22:14:00 1131

转载 Linux基础知识

initrd基础知识(转载)linux2.6 内核的 initrd 机制解析screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt=click here to open new window/nctrl+mouse wheel to zoom in/out;}" onmouseover="if(th

2009-12-06 23:28:00 866

转载 怎样为Linux内核打补丁

在Linux内核邮件列表中一个经常被问到的问题就是怎样为Linux内核打一个补丁,或者更具体一点说,存在这么多的主干/分支,一个补丁到底要打在哪个版本的基础内核上。希望这篇文档能够为你解释明白这一点。除了解释怎样应用以及卸载补丁以外,在这里还提供了一个不同内核树(以及如何为它们打上特定补丁)的简要介绍。linux内核版本号的含义是什么?------所有的Linux核心包含由点隔开的三个

2009-12-06 16:04:00 671

转载 shell编程基础

Shell编程基础出自Ubuntu中文本文作者:Leal 授权许可: 创作共享协议 GNU自由文档许可证 编辑人员:FireHare, Dbzhang800  我们可以使用任意一种文字编辑器,比如gedit、kedit、emacs、vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行): # !/bin/sh

2009-12-01 19:31:00 415

IAR全系列注册机/破解

IAR全系列注册机/破解,3个注册机包含iar所有系列的破解.

2016-02-26

BMP2RGB小软件

可以将BMP图片转换成RGB的软件,可以实现8bit 12bit 16bit 18bit

2010-06-28

周立功ARM培训精华(全套)

解压后有98M大 周立功ARM培训精华(全套)

2010-02-04

数字电路课件的电子书

数字电路的基础知识 希望通过我们的努力,能为您的工作与生活带来一些 帮助,是我们最大的心愿。不足之处,欢迎指正!

2009-02-11

空空如也

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

TA关注的人

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