摘要:小结:uboot中_start开始执行一段程序(基本配置,这一段在6200 sdboot时已经执行过了)跳到start_unicoreboot执行,完成init_sequence[]中的一系列初始化。注意初始化序列之前gd(gd_t*类型)被赋予一个常数值,gd所指向中的bd指针也赋予一常数值。在初始化序列中,务必注意board_init中对gd->bd->bi_boot_params的赋值(0x40000100),因为在紧临近执行theKernel (0, machid, bd->bi_boot_params)前,我们会把需要传给内核的参数都赋给params指针所指向的st
阅读全文
摘要:参考http://www.cnblogs.com/openix/admin/EditPosts.aspx?opt=1宏:#define OW “I lo\ve you”输出:I love you#define OW “I lo\ ve you”输出:I lo ve you#define OW “I lo”\ “ve you”输出:I love you利用宏参数创建字符串:#运算符#define PSQR(X) printf(“The square of X is %d\n”,((X)*(X))则:PSQR(8)输出:The square of X is 64因此我们这里的双引...
阅读全文
摘要:6200uboot启动过程注:PC此时跳到0x42800000处开始执行。在这启动过程中主要包括系统信息采集(CPU信息、MAC、外设信息),配置一些系统模块正常工作,DDR2地址重映射(由0X40000000映射到0X00000000),今天阅读的Uboot_6200代码没有做PC重置,原来在Uboot_1.3.3版的代码会涉及到中断向量表搬移(从Norflash搬至ESRAM,以及PC重置)。主要记录下今天阅读的uboot自启动下遇到的一个问题)。在void start_unicoreboot(void)最后会执行main_loop(),进入函数后,获取默认启动过程,同时延迟一段时间,调试
阅读全文
摘要:分析boot启动代码时先分析存储空间分布(硬件工程师一般会提供),链接脚本,Makefile文件, 务必注意由板级硬件设置的启动方式(例如:sd卡启动,nand启动,nor启动)。处理器在执行程序之前,会从相应存储介质搬移代码到ESRAM中(对 于从nor启动,也有可能从nor直接取指令执行)。对于6200测试平台,板级设置为SD卡启动,系统上电后从SD卡搬移8KB代码到ESRAM中,且 此时0地址映射到ESRAM(注意系统启动时,ESRAM具有三个地址,分别是0x0:映射,0XB2000000:物理。Boot的代码量较大,所以在 这前8KB代码中会设计代码搬移(sdboot设计成两个部分)。
阅读全文
摘要:说明:1、记录中参考引用他人的文章均已声明,若有悖于原作者意愿,请通知,本人立即撤下。2、如转载本博客记录,请说明链接地址;如基于商业目的,请联系本人:primersoochow@yahoo.com3、如您转载本博客记录,以及基于本博客记录进行修改而发布自己的对某知识点的理解,希望您给予他人同样的权...
阅读全文