- 博客(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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人