- 博客(13)
- 资源 (7)
- 收藏
- 关注
原创 UBOOT之源码分析——向内核传送参数过程分析
U-boot会给LinuxKernel传递很多参数,如:串口,RAM,videofb、MAC地址等。而Linuxkernel也会读取和处理这些参数。两者之间通过structtag来传递参数。U-boot把要传递给kernel的东西保存在structtag数据结构中,启动kernel时,把这个结构体的物理地址传给kernel;Linuxkernel通过这个地址,用parse_tags分析出传递过来的
2014-09-17 16:19:12
1000
转载 UBOOT之源码分析——命令的处理过程
在uboot运行到第二个阶段进入到main_loop函数中,该函数有一个作用就是处理用户所输入的命令,下面详细分析命令处理的流程:一、命令的结构及定义在uboot里面,命令的创建是通过宏定义U_BOOT_CMD来实现的,该宏定义在文件include/command.h文件中,#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \c
2014-09-17 13:59:37
763
原创 UBOOT之源码分析——初始化环境变量
我们在u-boot命令行中输入print会得到所有的环境变量,接下来我们来分析这些环境变量都是在哪里实现的。先看看common/cmd_nvedit.c文件中定义的print命令:U_BOOT_CMD(printenv,CONFIG_SYS_MAXARGS, 1, do_env_print,"print environmentvariables","\n - print val
2014-09-17 10:54:34
2574
原创 UBOOT之源码分析(X4412)——SD卡烧录之sdfuse命令分析
cmd_fastboot.c文件中命令格式:sdfuseflash kernel zImagesdfuse flash systemsystem.ext3=========================================intdo_sdfuse (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) {i
2014-09-16 18:21:50
3207
转载 fdisk命令分析
fdisk -c 0命令分析:int do_fdisk(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { if ( argc != 3 ) { printf("Usage: fdisk \n"); return 0; } //创建分区 if ( strcmp(argv[1], "-c")
2014-09-16 15:57:06
818
转载 main_loop函数中两种循环方式介绍
一、主循环方式一 一般循环方式,假设未定义宏CONFIG_SYS_HUSH_PARSER将多余的宏汇编去掉,假设均不打开宏汇编内的功能,则简化一下如下:.......for (;;) { len = readline (CFG_PROMPT); //读取一行命令输入,从串口输入 flag = 0; /* assume no special flags for now
2014-09-16 15:42:17
5711
原创 UBOOT之源码分析(X4412)——main_loop函数分析
voidmain_loop (void){#ifndefCONFIG_SYS_HUSH_PARSER staticchar lastcommand[CONFIG_SYS_CBSIZE] = { 0, };int len;int rc= 1;int flag;#endif//声明一些hush参数变量 #ifdefined(CONFIG_BOOTDELAY) &
2014-09-15 17:09:48
1894
原创 UBOOT之源码分析(X4412)——板级第二阶段初始化
在arch/arm/cpu/armv7/start.s重定位后接着找到函数board_init_r在重定位后的位置,然后将全局数据结构体gd_t 和重定位目标地址存分别入r0和r1中,作为函数board_init_r 的参数。跳到C函数board_init_r处执行,该函数在文件/arch/arm/lib/board.c中实现,如下:void board_init_r (gd_t *id, u
2014-09-15 17:08:23
774
原创 UBOOT之源码分析(X4412)——代码重定位
参考http://blog.youkuaiyun.com/xieweihua2012/article/details/8474655根据X4412
2014-09-15 17:03:13
655
转载 UBOOT之源码分析(X4412)——板级初始化
参考转摘自http://blog.youkuaiyun.com/xieweihua2012/article/details/8470948
2014-09-15 16:56:00
758
原创 编译/安装busybox
1、下载最新版本busybox-1.22.1.tar.bz2 2、解压源码 # tar xvjf busybox-1.22.1.tar.bz2 3、进入源码修改Makefile 164 CROSS_COMPILE ?= 改成 164 CROSS_COMPILE ?= arm-linux- 190 ARCH ?= $(SUBARCH) 改成 190 ARCH ?=
2014-07-14 19:52:54
1766
原创 Ubuntu 14.04 交叉编译工具制作
编译环境: 内核名称:Linux 硬件架构名称:i686 硬件平台:i386 操作系统:Ubuntu 12.04 LST 当前系统安装的gcc版本号:4.8.1
2014-07-11 10:16:59
1931
QT文件管理器
2015-12-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人