b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

cmd编译c Bootloader之uBoot简介(转)(4)

电脑杂谈  发布时间:2018-02-07 21:23:30  来源:网络整理

(2)设置内存标记。

假设开发板使用的内存起始地址为0x30000000,大小为0x4000000,则内存标记可以如下设置:

params->hdr.tag = ATAG_MEM;

params->hdr.size = tag_size (tag_mem32);

params->u.mem.start = 0x30000000;

params->u.mem.size = 0x4000000;

params = tag_next (params);

(3)设置命令行标记。

命令行就是一个字符串,它被用来控制内核的一些行为。比如"root=/dev/mtdblock2 init=/linuxrcconsole=ttySAC0"表示根文件系统在MTD2分区上,系统启动后执行的第一个程序为/linuxrc,控制台为ttySAC0(即第一个串口)。

命令行可以在Bootloader中通过命令设置好,然后如下构造标记传给内核:

char *p = "root=/dev/mtdblock2 init=/linuxrc console=ttySAC0";

params->hdr.tag = ATAG_CMDLINE;

params->hdr.size = (sizeof (struct tag_header) + strlen (p) + 1 + 4) >> 2;

strcpy (params->u.cmdline.cmdline, p);

params = tag_next (params);

(4)设置标记ATAG_NONE。

标记列表以标记ATAG_NONE结束,如下设置:

params->hdr.tag = ATAG_NONE;

params->hdr.size = 0;

常用Bootloader介绍

现在Bootloader种类繁多,比如x86上有LILO、GRUB等。对于ARM架构的CPU,有U-Boot、Vivi等。它们各有特点,下面列出Linux的开放源代码的Bootloader及其支持的体系架构,如表15.1所示。

开放源码的Linux引导程序

<table fck__showtableborders?="">

Bootloader

Monitor

描述

X86

ARM

PowerPC

LILO

Linux磁盘引导程序

GRUB

GNU的LILO替代程序

Loadlin

从DOS引导Linux

ROLO

从ROM引导Linux而不需要BIOS

Etherboot

通过以太网卡启动Linux系统的固件

LinuxBIOS

完全替代BUIS的Linux引导程序

BLOB

LART等硬件平台的引导程序

U-Boot

通用引导程序

RedBoot

基于eCos的引导程序

Vivi

Mizi公司针对SAMSUNG的ARM CPU设计的引导程序

对于本书使用的S3C2410/S3C2440开发板,U-Boot和Vivi是两个好选择。Vivi是Mizi公司针对SAMSUNG的ARM架构CPU专门设计的,基本上可以直接使用,命令简单方便。不过其初始版本只支持串口下载,速度较慢。在网上出现了各种改进版本:支持网络功能、USB功能、烧写YAFFS文件系统映像等。U-Boot则支持大多CPU,可以烧写EXT2、JFFS2文件系统映像,支持串口下载、网络下载,并提供了大量的命令。相对于Vivi,它的使用更复杂,但是可以用来更方便地调试程序。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-65990-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...