bootm命令移植】的更多相关文章

Bootloader作用 1.初始化软硬件 2.启动操作系统 内核分类 1.zImage 不加信息头的内核 2.uImage 加信息头后的内核,用bootm命令来启动 bootm作用 1.检测信息头:压缩.操作系统.幻数 2.根据OS信息调用相应的处理函数:获取内核地址.知道CPU型号.设置启动参数 代码编写 1.获取启动地址 2.设置启动参数 2.1设置核心启动参数 2.2设置内存参数 2.3设置命令行参数 2.4设置参数结束行标志 3.启动操作系统 /********************…
<bootm作用> 为linux内核的启动准备条件 <bootloader作用总结> (1)初始化软/硬件(内存硬件/外部设备/堆栈) (2)启动操作系统 <uImagine和zImagine之间的关系> zImagine 是最纯粹的Linux内核 在zImagine之上加上一个信息头就成位了uImagine 信息头用于指明系统信息(何种OS,镜像文件是否压缩) argv :命令行参数 <bootm处理流程> (1)检查信息头 OS信息,压缩方式信息,幻数信…
bootm命令只能用来引导经过mkimage构建了镜像头的内核镜像文件以及根文件镜像,对于没有用mkimage对内核进行处理的话,那直接把内核下载到连接脚本中指定的加载地址0x30008000再运行就行,内核会自解压运行(不过内核运行需要一个tag来传递参数,而这个tag是由bootloader提供的,在u-boot下默认是由bootm命令建立的). 通过mkimage可以给内核镜像或根文件系统镜像加入一个用来记录镜像的各种信息的头.同样通过mkimage也可以将内核镜像进行一次压缩(指定-C…
本节主要学习: 详细分析UBOOT中"bootcmd=nand read.jffs2 0x30007FC0 kernel;bootm 0x30007FC0"中怎么实现bootm命令启动内核. 其中bootm要做的事情:a 读取头部,把内核拷贝到合适的地方(0X30008000)b 在do_boom_linux()中把参数给内核准备好,并告诉内核参数的首地址c 在do_boom_linux()中最后使用theKernel () 引导内核. {注意:当在cmd_bootm.C中没有定义宏C…
http://my.oschina.net/mopidick/blog/167372 作为一名Android开发者,经常需要进入Android 的shell终端运行一些命令.但是我们发现Android终端下的内置命令不仅少的可怜,如基本的清屏命令(clear)都没有,而且十分难用,如 ls  命令的显示简直奇丑无比!! 这篇文章主要专注于解决上面两个问题,或许有的牛人会告诉你,直接在Android手机上装一个busybox,然后一切都搞定了.不过除了这个方法还有别的方法没,这篇文章会让你感受到新…
仿照bootm命令生成来制作一个hello命令,功能:打印出hello,world!和参数值 1.点击New File ,创建cmd_hello.c将./common/cmd_bootm.c的头文件复制到 cmd_hello.c中(因为cmd_bootm.c的头文件都是包括的命令相关的文件): #include <common.h>#include <watchdog.h>#include <command.h>#include <image.h>#incl…
原文网址:http://blog.chinaunix.net/uid-25445243-id-3869348.html 一.BootLoader简介1.1.嵌入式Linux软件结构与分布 在一般情况下嵌入式Linux系统中的软件主要分为以下几部分: 1) 引导加载程序:其中包括内部ROM中的固化启动代码和Boot Loader两部分.内部固化ROM是厂家在芯片生产时候固化的,作用基本上是引导Boot Loader.有的芯片比较复杂,比如Omap3,他在flash中没有代码的时候有许多启动方式:U…
移植前的准备 移植前,要做的事情是搭建开发环境以及对U-boot源码的获取.首先说一下开发环境: 1.此次U-boot移植的硬件平台是天嵌的TQ210开发板: CPU:板载核心是S5PV210(CortexA8),最高1GHz的主频. FLASH:型号为K9K8G08U,容量大小为1G,为SLC类型的NandFlash. RAM:内存为DDR2    1GB. 2.移植开发环境:       开发环境的搭建网上有许多资料,天嵌本身的开发板使用手册也有详细的图文介绍,所以在此就不做详细的搭建方法.…
----- 一:我们先来了解下实际内存: nand.nor.ram. 所以从CPU是从那部分启动的呢? 答:要看主控芯片的boot如何设置(正如分的启动方式和下载方式一样). uboot:sd卡→iRAM(DDR3) 作用简述: 他的作用就是硬件→OS:相当于OS和硬件的一个桥梁 Boot Loader 就是在操作系统内核运行之前运行的一段小程序.通过这段小程序,我们可以初始化硬件设备.建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备.Boo…
1.在上章-移植uboot里.我们来分析下uboot是如何进入到内核的 首先,uboot启动内核是通过bootcmd命令行实现的,在我们之前移植的bootcmd命令行如下所示: bootcmd=nand read 0x30000000 kernel; bootm 0x30000000 //bootm:从0x30000000处启动内核 1.1然后我们进入cmd_bootm.c,找到对应的bootm命令对应的do_bootm(): int do_bootm(cmd_tbl_t *cmdtp, int…
18.17.1 移植U-Boot-2012.04.08 1.下载.建立source insight工程.编译.烧写.如果无运行分析原因. $ .tar.bz2 $ cd u-boot- $ make smdk2410_config $ make ERROR[错误原因:gcc版本低] $ arm-linux-gcc -v [] 更新gcc步骤:解压到根目录 $ .tar.bz2 -C / $ ls $ usr $ echo $PATH查看gcc执行路径 PATH="/usr/local/sbin:…
目录 一.点亮开发板:移植uboot.Linux内核.文件系统 1.1 配置上位机交叉编译环境 1.2 制作U-boot镜像文件 1.3 通过oflash.exe / openJTAG 烧写u-boot.bin到nand flash 1.4 U-boot的参数设置 1.5  制作Linux kernel镜像文件 1.6 制作文件系统镜像文件 1.7 配置上位机环境服务器环境 1.8 在U-boot下通过网络下载烧写Linux内核和文件系统 二.U-boot启动Linux内核原理简析 一.点亮开发…
在上一章,使uboot能够支持nor.nand 本节继续修改让uboot支持DM9000C网卡,便可以通过网络来传输文件 首先uboot已带有dm9000网卡的驱动,位于drivers/net/下的dm9000x.h.dm9000x.c 1.DM9000C介绍 参考之前写的移植DM9000C驱动章节, 我们的DM9000是放在2440的bank4(0X20000000)的片选上面 而DM9000的CMD引脚接在bank4的LADDR2上面 也就是说当向0X20000000地址上读写数据时, 此时…
1.典型嵌入式linux系统启动过程: 嵌入式系统上电后先执行uboot.然后uboot负责初始化DDR,初始化Flash,然后将OS从Flash中读取到DDR中,然后启动OS(OS启动后uboot就无用了) 2.uboot必须解决哪些问题 1.自身可开机直接启动(1)一般的SoC都支持多种启动方式,譬如SD卡启动.NorFlash启动.NandFlash启动等·····uboot要能够开机启动,必须根据具体的SoC的启动设计来设计uboot(2)uboot必须进行和硬件相对应的代码级别的更改和…
作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 交叉编译工具链: arm-none-linux-gnueabi-gcc (gcc vers…
http://blog.csdn.net/eshing/article/details/37520291(转) 一.移植前说明: 1.  特别声明:此文档是我的学习文档,里面肯定有错误地方,仅供参考! 2.移植平台:友善之臂Tiny4412SDK1306平台. 3.移植系统:Ubuntu12.04 4.移植原始CODE:平台光盘中由Samsung提供的U-Boot-samsung-dev.tar.bz2.为什么用这个,只能说因为我也菜鸟,我找了u-boot官网最新的代码看了一下,我没有在boar…
本文转载自:http://blog.csdn.net/eshing/article/details/37520291 一.移植前说明: 1.  特别声明:此文档是我的学习文档,里面肯定有错误地方,仅供参考! 2.移植平台:友善之臂Tiny4412SDK1306平台. 3.移植系统:Ubuntu12.04 4.移植原始CODE:平台光盘中由Samsung提供的U-Boot-samsung-dev.tar.bz2.为什么用这个,只能说因为我也菜鸟,我找了u-boot官网最新的代码看了一下,我没有在b…
一:准备移植 1.从下面的官网下载最新的U-boot.用google英文版搜索最新的u-boot源码  ftp://ftp.denx.de/pub/u-boot/ 2.建立sourceinsight工程  a.解压并在E:\colin weidongshan\transplant_u-boot-2012.04.01\u-boot-2012.04.01建立SI  b.添加文件到SI工程   1.点击"Add All",选中"Include top level sub-direc…
uboot下的命令行 1.典型嵌入式linux系统启动过程: 嵌入式系统上电后先执行uboot.然后uboot负责初始化DDR,初始化Flash,然后将OS从Flash中读取到DDR中,然后启动OS(OS启动后uboot就无用了) 2.uboot必须解决哪些问题 1.自身可开机直接启动(1)一般的SoC都支持多种启动方式,譬如SD卡启动.NorFlash启动.NandFlash启动等·····uboot要能够开机启动,必须根据具体的SoC的启动设计来设计uboot(2)uboot必须进行和硬件相…
上一篇:小白自制Linux开发板 一. 瞎抄原理图与乱画PCB  中我们做了一个小型而没用的开发板,用的是Licheepi Nano的镜像,那从本篇开始我们开始自己构建它的灵魂吧. 我们都知道,PC在启动的时候,首先是进入BIOS,再根据BIOS中配置信息引导后续的启动操作系统,比如配置Windows启动. 而对于嵌入式linux中,并没有BIOS,这时候就需要一种类似引导程序来处理.于是就有了BootLoader. BootLoader是一段小程序,可以把它想象成PC机linux上的GRUB/…
摘要:在linux开发过程中经常需要用到第三方的程序,有时需要用到它们的库,有时需要它们生成的可执行文件,如何正确地编译这些第三方的程序,以方便地使用和开发自己需要的程序,将是本文要论述的内容. 1.移植第三方程序有几种情况 1.1 如果源码包有Makefile文件,直接改Makefile,修改CC, AS, LD, CFLAGS,INSTALL_PATH等. 1.2 源码包没有Makefile文件,但有configure/config文件: 1.2.1设置 CC, LD ,AS, LDFLAG…
首先说一下uImage和zImage的区别 uImage是在zImage之前加上信息头.包含系统类型.是否压缩及压缩方式等 bootm命令只能启动uImage 幻数:说得再好听的名字也只不过是个0~0xff的数,占8bit(_IOC_TYPEBITS).这个数是用来区分不同的驱动的,像设备号申请的时候一样,内核有一个文档给出一些推荐的或者已经被使用的幻数. bootm对应的函数是do_bootm函数 1. memmove函数,提取信息头 1.1 判断幻数是否正确 1.2 判断压缩方式GZIP\B…
U-Boot上电启动后,按任意键可以退出自动启动状态,进入命令行. U-Boot 2010.03 (Sep 25 2011 - 16:18:50)     DRAM: 64 MB     Flash: 2 MB     NAND: 64 MiB     In: serial     Out: serial     Err: serial     Net: CS8900-0     Hit any key to stop autoboot: 1 在命令行提示符下,输入U-Boot的命令并执行.U-…
norflash 烧写 (7) Nor Flash指令 Nor Flash 的命令经常用于烧写数据到Nor Flash . flinfo  打印Flash存储器的信息,并列出所有Sector. flinfo  N 单独打Flash存储器N Block的信息.(在有多块Nor Flash时使用) 使用范例: [u-boot@MINI2440]# flinfo Bank # 1: SST: 1x SST39VF1601 (2MB) Size: 2 MB in 32 Sectors Sector St…
1.bootm bootm [addr [arg ...]] - boot application image stored in memory passing arguments 'arg ...'; when booting a Linux kernel, 'arg' can be the address of an initrd image bootm命令可以引导启动存储在内存中的程序映像.这些内存包括RAM和可以永久保存的Flash. 第1个参数addr是程序映像的地址,这个程序映像必须…
u-boot命令 先贴一个重要结构,位于uboot/include/command.h,这个结构代表每个uboot命令 struct cmd_tbl_s { char     *name;   /* Command Name       */ int      maxargs;    /* maximum number of arguments*/ int      repeatable;/* autorepeat allowed?   */ /* Implementation function…
本文接上一篇:http://www.cnblogs.com/tanghuimin0713/p/3965528.html 6.3)重新编译,烧写,运行 U-Boot - ::) for SMDK6410 CPU: S3C6410@533MHz Fclk = 533MHz, Hclk = 133MHz, Pclk = 66MHz (ASYNC Mode) Board: SMDK6410 DRAM: MB Flash: kB NAND: MiB *** Warning - bad CRC, using…
转自:http://xouou.iteye.com/blog/2150061 先贴一个重要结构,位于uboot/include/command.h,这个结构代表每个uboot命令 struct cmd_tbl_s { char     *name;   /* Command Name       */ int      maxargs;    /* maximum number of arguments*/ int      repeatable;/* autorepeat allowed?  …
UBoot常用命令手册 U-Boot还提供了更加详细的命令帮助,可以通过”?”显示支持的命令列表,通过help [CommandName]命令还可以查看每个命令的参数说明. 1.bootm bootm [addr [arg ...]] - boot application image stored in memory passing arguments 'arg ...'; when booting a Linux kernel, 'arg' can be the address of an i…
前面一篇文章http://www.cnblogs.com/linzizhang/p/4817336.html介绍了开发板上系统软件的第一部分--bootloader的编译方法. 背景:把bootloader烧写到开发板的Nand Flash中后,开发板从Nand启动,硬件会自动将bootloader加载到内存中运行,bootloader将板载资源都初始化完成后,会停留在一个命令行界面,接收并执行用户敲入的命令.这时候用户可以通过命令控制开发板,比如查看参数列表:print.读写nand:nand…