uboot
luerlyhs
这个作者很懒,什么都没留下…
展开
-
uboot命令大全
Printenv 打印环境变量。Uboot> printenvbaudrate=115200ipaddr=192.168.1.1ethaddr=12:34:56:78:9A:BCserverip=192.168.1.5Environment size: 80/8188 bytesSetenv 设置新的变量Uboot> setenv myboard AT9转载 2013-01-22 22:20:32 · 529 阅读 · 0 评论 -
Uboot中*** Warning - bad CRC or MMC, using default environment解决
首先找到打印此信息的位置,搜索可知在/common/env_cmm.c文件中。程序如下:#if !defined(ENV_IS_EMBEDDED)static void use_default(){ puts ("*** Warning - bad CRC or MMC, using default environment\n\n"); se原创 2013-01-25 17:28:44 · 6278 阅读 · 0 评论 -
uboot命令大全
U-Boot还提供了更加详细的命令帮助,通过help命令还可以查看每个命令的参数说明。由于开发过程的需要,有必要先把U-Boot命令的用法弄清楚。接下来,根据每一条命令的帮助信息,解释一下这些命令的功能和参数。1、bootmbootm [addr [arg ...]]- boot application image stored in memorypassing arg转载 2013-01-25 17:33:19 · 374 阅读 · 0 评论 -
U-BOOT源码分析及移植
本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上:1、u-boot工程的总体结构2、u-boot的流程、主要的数据结构、内存分配。3、u-boot的重要细节,主要分析流程中各函数的功能。4、基于FS2410板子的u-boot移植。实现了NOR Flash和NAND Flash启动,网络功能。 这些认识源于自己移植u-boot过程中查找的资料和对源码的简单阅读。下转载 2013-02-04 17:34:10 · 437 阅读 · 0 评论 -
U-Boot操作Flash (NOR, NAND & SPI)
U-Boot中操作三种flash的命令集: Action NOR NAND SPICopy Flash转载 2013-02-05 12:07:42 · 4085 阅读 · 0 评论 -
u-boot的重要细节
主要分析流程中各函数的功能。按启动顺序罗列一下启动函数执行细节。按照函数start_armboot流程进行分析: 1)DECLARE_GLOBAL_DATA_PTR; 这个宏定义在include/global_data.h中: #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("转载 2013-02-04 17:35:23 · 531 阅读 · 0 评论 -
uboot部分命令使用心得
1.用help可以查看当前uboot支持的命令默认的,输入help,可以查看到目前uboot支持的所有所有命令的名称和简单的解释,比如:# help? - alias for 'help'asdebug - AS3536 debug shellbase - print or set address offsetbdinfo - print Board In转载 2013-01-22 17:38:18 · 986 阅读 · 0 评论 -
解决undefined reference to `__aeabi_uidivmod'、 `__aeabi_uidiv'错误
自己写裸机驱动程序时,使用了除法,在链接的时候出了如下错误: 使用的编译器是: 后来上网搜了一下原因,由于编译器不支持除法运算,但是也没有搜到解决方案。看了一下代码确实用到了除法,把除法去掉可以正常连接通过。后来想了想了,之前编译内核和编译u_boot都是这个编译器的呀,他们肯定有除法运算呀,他们是怎么做到的呢?于是看了一下u_boot的Makefile转载 2013-02-18 13:16:16 · 1181 阅读 · 0 评论 -
s3c2410移植nand支持到uboot, 使用nand.c ,linux mtd 架构
-boot-1.1.6与1.1.4相比,两者有较大的不同,1.1.6 更像是复制了 kernel 的方法来实现。下面对nand flash的初始化代码nand_init()进行分析:1.如果定义(CONFIG_COMMANDS & CFG_CMD_NAND)没定义(CFG_NAND_LEGACY) 则start_armboot()调用driver/nand/nand.c中的na转载 2013-02-18 23:01:43 · 483 阅读 · 0 评论 -
使Uboot支持USB的步骤
今天查看了一下在P4080DS板子的U-Boot中支持USB,主要是加入USB Host端驱动和相应设备端驱动来支持存储设备,这样就 可以将Kernel以及文件系统存放在U盘上,来通过U盘来启动。跟其它接口一样,在U-Boot中,USB的支持也是通过放在相应板子上的几个宏定义来实现,对于P4080DS板,是在include/configs/corenet_ds.h定义:----------转载 2013-03-06 17:36:47 · 1800 阅读 · 0 评论 -
使Uboot支持USB的步骤
今天查看了一下在P4080DS板子的U-Boot中支持USB,主要是加入USB Host端驱动和相应设备端驱动来支持存储设备,这样就 可以将Kernel以及文件系统存放在U盘上,来通过U盘来启动。跟其它接口一样,在U-Boot中,USB的支持也是通过放在相应板子上的几个宏定义来实现,对于P4080DS板,是在include/configs/corenet_ds.h定义:----------转载 2013-02-21 22:28:33 · 3326 阅读 · 0 评论 -
Uboot中raise: Signal # 8 caught解决
同样首先找到这句话在程序中的位置,如下:/lib_arm/eabi_compat.cint raise (int signum){ printf("raise: Signal # %d caught\n", signum); return 0;}再搜索这个函数的调用情况,可是怎么找不到对应的程序,不知道为什么?求解?没能找到根本原因,原创 2013-01-25 17:30:01 · 1616 阅读 · 0 评论 -
uboot命令解释与运行分析
这一回来分析一下uboot中命令行的解释, 所以我们直接从main_loop开始分析.1. 从汇编阶段进入c阶段的第一个函数是start_xxx, 如/lib_unicore/board.c中的start_unicoreboot. 前半部分调用了若干初始化函数来进行部分硬件的初始化, 并设置一下环境. 这里不是我们本回要讨论的所以一一跳过. 在start_xxx的最后调用了main_loop(转载 2013-01-25 17:34:41 · 448 阅读 · 0 评论 -
UBOOT详细解读
大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。1、Stage1 start.S代码结构u-boot的stage1代码通常放在start.S文件中,他用汇编语言写成,其主转载 2013-01-24 12:38:10 · 517 阅读 · 0 评论 -
U-boot-2009.03移植之十四:支持norflash启动
1:norflash 和 nandflash 兼容启动,自动识别2:对于nandflash的读写和擦出操作,因为目前把在内存中运行这的内核烧写到nand还不成功针对这两个问题做一些研究,今天解决了第一个问题,特记录一下。首先,关于uboot如何自动识别norflash和nandflash的方法,参看我转的另一篇博文《在U-boot下实现自动识别启动Flash的原理(针对S3C24x转载 2013-01-22 22:46:44 · 574 阅读 · 0 评论 -
container_of(ptr, type, member)
指针ptr指向结构体type中的成员member;通过指针ptr,返回结构体type的起始地址#define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *转载 2013-01-23 17:33:59 · 375 阅读 · 0 评论 -
向Flash中烧写uboot和linux操作系统
向Flash中烧写uboot和linux操作系统 2011年03月28日 向Flash中烧写uboot和linux操作系统 ================================================================================ from:http://www.diybl.com/course/6_system/转载 2013-01-22 22:23:30 · 1111 阅读 · 0 评论 -
Uboot移植TQ2440之NOR驱动之一
弄了三天的TQ2440 NOR Flash今天尘埃落定.兼职是简直是煎熬啊.找了很多的 问题.最后到一一解决.移植Flash 驱动关键是 驱动函数的理解.虽然移植成功了.但是还是向我的站长要的驱动函数.NOR Flash的版本是EON29LV160AB 2M现在总结一下经验:1:修改root@localhost olduboot]# cd include/confi转载 2013-01-22 22:55:38 · 541 阅读 · 0 评论 -
TQ2440的学习——UBOOT移植(NOR FLASH相关操作支持)
UBOOT中可以对NOR FLASH进行操作,默认情况下是开启了CONFIG_CMD_FLASH这个宏的。这个宏支持flinfo(打印flash信息)、erase(擦除数据)和protect(保护)这几个命令,cp命令的NOR FLASH操作部分也会得到支持(将数据从内存复制到NOR FLASH)。UBOOT中各个板子的NOR FLASH的操作都是自己实现的。不过TQ2440和SMDK24转载 2013-01-22 22:57:18 · 911 阅读 · 0 评论 -
TQ2440的学习——UBOOT移植(NAND FLASH的支持)——初步分析
UBOOT中关于NAND FLASH的支持十分完善,从命令上可以看出来,关于NAND FLASH的操作专门有个子系统。在驱动层面,UBOOT使用了MTD驱动规范,这个规范中对NAND FLASH的各种操作实现都很规范,一般来说只改写些少量的代码(相对于MTD设备驱动来说)就可以支持起来。大大减轻了移植难度。一般来说,各个主控芯片的NAND FALSH驱动都存放于drivers/mtd/na转载 2013-01-22 22:58:43 · 554 阅读 · 0 评论 -
编写uboot下Nor Flash驱动的注意事项
【Nor Flash中的一些术语】-1. Bottom/Top Boot Sect(底部/顶部 启动块)所谓的boot sect,是指的是Nor Flash和Nand Flash不太一样。Nand Flash从开始到最后,都是由同样大小的page所组成的。而Nor Flash,一般都是有个boot sect,好像是由于历史原因,常将Nor Flash用于作为存储启动代码的设备,转载 2013-01-22 22:27:10 · 697 阅读 · 0 评论 -
Linux内核中container_of宏的理解
linux 中container_of的源码如下:#define container_of(ptr, type, member) ({ const typeof( ((type *)0)->member ) *__mptr = (ptr); (type *)( (char *)__mptr - offsetof(type,member) );}) 可见在转载 2013-01-23 17:34:23 · 368 阅读 · 0 评论 -
uboot第一阶段详细分析
uboot的第一阶段设计的非常巧妙,几乎都是用汇编语言实现的,下面我们一起来看看它的精妙之处吧!首先我们来看一下它的链接脚本,通过它我们可以知道它整个程序的各个段是怎么存放的。OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") OUTPUT_ARCH(arm) EN转载 2013-01-24 12:44:04 · 561 阅读 · 0 评论 -
uboot中,ARM体系下,设置变量4字节对齐
调试程序遇到由于buffer地址不是4字节对齐,所有底层去:u32 *p =(u32 *)buf;使得数据拷贝有误。所以,去参考了uboot中其他人的做法:boards1845flash.c中的:#define __align__ __attribute__ ((aligned (8)))static __align__ ulong precmd0[2] =转载 2013-01-24 12:09:02 · 879 阅读 · 0 评论 -
uboot从usb(fat)分区加载内核
第一步:内核的支持。修改linux source中的.config文件。CONFIG_CMDLINE="console=ttyS0,115200 mem=160m ip=off noinitrd root=8:1 rw rootfstype=ext2 rootdelay=10"8为sda(即U盘)的主设备号,1为第一个分区,是ext2系统,rootdelay表示延迟10秒加载,原因为u转载 2013-03-06 17:38:07 · 1553 阅读 · 0 评论