对技术执着
发布时间:2015-03-14 15:15:53
U-Boot的命令为用户提供了交互功能,并且已经实现了几十个常用的命令。如果开发板需要很特殊的操作,可以添加新的U-Boot命令。U-Boot的每一个命令都是通过U_Boot_CMD宏定义的。这个宏在<include/command.h>头文件中定义 #define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \ cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep,&nbs......【阅读全文】
发布时间:2015-03-14 15:15:40
U-Boot与Linux内核的交互 说明:本文所使用的U-Boot的版本是1.1.6,平台是S3C2440。 目录 一、简介 1.1标记列表二、设置标记存放的地址 2.1相关的结构体定义 2.2标记存放地址的设定三、标记的设置 3.1设置标记ATAG_CORE 3.2设置内存标记ATAG_MEM 3.3设置命令行标记ATAG_CMDLINE 3.4设置ATAG_NONE 一、简介 U-Boot与Linux内核的交互是单向的,U-Boot将各类参数传递给讷河。由于他们不能同时运行,传递办法只能有一个个:U-Boot将参数放在某个约定的地方之后,在启动内核,内核启动后从这个地方获得......【阅读全文】
发布时间:2015-03-14 15:15:33
大家都知道U-Boot启动的时候会将启动参数的地址放入R2中,然后再启动内核。我们看看这些参数是如何设置的。 首先看两个重要的数据结构: 第一个是global_data,定义在include/asm-arm/global_data.h文件中: typedef struct global_data { &......【阅读全文】
发布时间:2015-03-14 15:14:43
u-boot引导Linux内核有两种方式,go命令或者bootm命令。go命令引导zImage格式的内核映像,默认方式下不向内核传递参数,需要我们修改,相应的修改也有两种选择。一种是用使用struct param_struct传递内核参数,另一种是以标记列表(tagged list)的形式来传递启动参数。第一种方式设置简单,Linux2.6继续支持该格式,未.........【阅读全文】