
uboot
风筝丶
随便看人家资料是不好的......
展开
-
2440超详细uboot移植笔记(一)------分析源码
你好!这里是风筝的博客,欢迎和我一起交流。 PS:我是韦老大的学生^_^先附上uboot的下载地址:ftp://ftp.denx.de/pub/u-boot/这里我移植的是uboot2016.11版本,交叉编译链为4.3.2版本,JZ2440开发板一块话不多说,开始分析。 移植之前,我们要知道两点:u-boot的stage1代码通常放在cpu/xxxx/s...原创 2017-05-01 18:15:10 · 4687 阅读 · 2 评论 -
2440超详细uboot移植笔记(十五)------支持YAFFFS文件系统
你好!这里是风筝的博客,欢迎和我一起交流。a.u-boot本身支持对jffs2格式文件系统的nand指令操作,但是没有支持yaffs2的格式,所以我们要修改使其支持yaffs2格式文件系统指令操作。在u-boot中搜索.yaffs,并找不到相关代码,所以我们转而搜索.jffs2 ,可以在u-boot-2016.05\cmd\nand.c:do_nand函数中发现相关代码。观察可发现...原创 2017-05-04 17:50:53 · 2731 阅读 · 3 评论 -
2440超详细uboot移植笔记(十四)------设置MTD分区
你好!这里是风筝的博客,欢迎和我一起交流。a. mtd分区只是代码的一种手段,方便我们使用,用名字代替一些数字,不会对内核产生任何影响. b. 在smdk2440.h文件中,添加宏定义:#define CONFIG_CMD_MTDPARTS#define CONFIG_MTD_DEVICE#define MTDIDS_DEFAULT "nand0=jz2440-0"/*哪个...原创 2017-05-04 17:49:01 · 3450 阅读 · 1 评论 -
2440超详细uboot移植笔记(十三)------设置环境变量保存地址
你好!这里是风筝的博客,欢迎和我一起交流。a.在uboot启动信息上,我们课看到:Warning:bad CRC这是因为我们的环境变量参数没有存到Flash上,现在我们来解决这个问题 b.在开发板的uboot界面上输入:? Save可以看到提示给我们的是saveenv这个函数,我们可以在env_nand.c(路径:common\env_nand.c)这个文件上看...原创 2017-05-04 17:45:48 · 5226 阅读 · 0 评论 -
2440超详细uboot移植笔记(十二)------移植网卡驱动
你好!这里是风筝的博客,欢迎和我一起交流。a.之前我们2440超详细uboot移植笔记(九)------修改错误设置的CONFIG_DM9000_BASE等的值是参考别人的配置文件修改的,现在我们要修改成适应我们开发板的参数. b. 将#define CONFIG_DM9000_BASE 0x2c000000修改为:#define CONFIG_DM9000_BAS...原创 2017-05-04 17:27:59 · 1615 阅读 · 5 评论 -
2440超详细uboot移植笔记(十一)------支持NAND FLASH
你好!这里是风筝的博客,欢迎和我一起交流。a.在s3c2440_nand.c(路径:drivers\mtd\nand\s3c2440_nand.c)文件中把board_nand_init函数里的:cfg = S3C2440_NFCONF_EN;cfg |= S3C2440_NFCONF_TACLS(tacls - 1);cfg |= S3C2440_NFCONF_TWRPH0(tw...原创 2017-05-04 17:17:27 · 1861 阅读 · 0 评论 -
2440超详细uboot移植笔记(十)------支持NOR FLASH
你好!这里是风筝的博客,欢迎和我一起交流。之前我们修改了可以NOR FLASH 启动uboot,但是会发现:Falsh: 0 Bytes说明此时uboot并没有识别出 NOR FLASH,现在我们来修改修改 a.在cfi_flash.c(路径:drivers/mtd/cfi_flash.c)里写上定义:#define _DEBUG1这是一个宏开关,这样我们即可以看到...原创 2017-05-04 17:04:27 · 1690 阅读 · 3 评论 -
2440超详细uboot移植笔记(九)------修改错误
你好!这里是风筝的博客,欢迎和我一起交流。启动uboot时,可以看到我们的启动输出界面显示: Error: CS8900-0 address not set这是因为我们的网卡是DM9000而不是CS8900,所以这里肯定报错了.我们先解决一下这个错误,不然看着很不舒服! a.vi drivers/net/Makefile命令,找到DM9000,可以看出,DM9000...原创 2017-05-04 16:51:45 · 1222 阅读 · 0 评论 -
2440超详细uboot移植笔记(八)------支持NAND启动
你好!这里是风筝的博客,欢迎和我一起交流。启动u-boot后发现提示“NAND: 0 MiB”,说明uboot现在还不能识别出NAND FLASH,所以现在我们来修改代码: a.在smdk2440.h(路径为:include\configs\smdk2440.h)文件中,将#define CONFIG_SYS_TEXT_BASE 0x0修改为:#define CONF...原创 2017-05-04 14:19:13 · 2477 阅读 · 10 评论 -
2440超详细uboot移植笔记(七)------去掉 "-pie"选项
你好!这里是风筝的博客,欢迎和我一起交流。此时uboot里是存在“pie”选项的,比较麻烦,现在我们把它去掉: a. 输入命令:vi arch/arm/config.mk编辑config.mk b. 输入命令:/LDFLAGS_u-boot查找这句话的位置,大概在89行的位置 c.用#号注释掉这一行:LDFLAGS_u-boot += -p...原创 2017-05-04 13:03:36 · 2185 阅读 · 8 评论 -
2440超详细uboot移植笔记(六)------修改内存控制器
你好!这里是风筝的博客,欢迎和我一起交流。a.进入汇编函数lowlevel_init(路径:board\samsung\smdk2440\lowlevel_init.S)的lowlevel_init代码段,找到:SMRDATA: .word (0+(B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+(B...原创 2017-05-04 12:58:24 · 1856 阅读 · 4 评论 -
2440超详细uboot移植笔记(五)------设置时钟
你好!这里是风筝的博客,欢迎和我一起交流。通过代码分析,我们知道,uboot里先以60MHZ的时钟计算参数来设置内存控制器,但是此时MPLL还未设置,所以我们先修改一下: a. 进入C函数board_early_init_f(路径:board\samsung\smdk2440.c),把writel(0xFFFFFF, &clk_power->locktime);...原创 2017-05-03 20:55:42 · 2144 阅读 · 10 评论 -
2440超详细uboot移植笔记(四)------剪裁uboot
你好!这里是风筝的博客,欢迎和我一起交流。在make编译之后,我们可以发现生成的.bin二进制文件很大,有五百多k,不利于我们烧写,所以我们可以先对uboot剪裁一下,把不需要的功能去除掉: a. 在smdk2440.h(路径:include\configs\smdk2440.h)文件上把不需要的uboot功能的宏开关注释掉:#define CONFIG_USB_OHCI...原创 2017-05-03 13:26:56 · 2631 阅读 · 0 评论 -
2440超详细uboot移植笔记(三)------指定交叉编译链
你好!这里是风筝的博客,欢迎和我一起交流。在编译之前,我们需要指定用我们的arm-linuxgcc交叉编译链: a. 修改顶层Makefile文件,在空白处填写:ARCH=armCROSS_COMPILE ?= arm-linux-如图: b. make smdk2440_defconfig #配置u-boot为smdk2440配置文件.这里就是依...原创 2017-05-03 13:11:33 · 4249 阅读 · 0 评论 -
2440超详细uboot移植笔记(二)------新建单板
你好!这里是风筝的博客,欢迎和我一起交流。编译一个uboot,一个重要的就是配置文件。我们的开发板是S3C2440的芯片,所以我们现在为S3C2440配置文件:a.在u-boot-2016.11/configs目录下,将smdk2410_defocnfig文件复制为smdk2440_defconfig文件,并将smdk2440_defconfig文件中所有”2410”的字样修改为”...原创 2017-05-02 18:45:16 · 3564 阅读 · 2 评论 -
u-boot不接串口不能启动kernel问题
你好!这里是风筝的博客,欢迎和我一起交流。JZ2440开发板 u-boot2016.11 kernel4.8.17我发现不接串口的情况下,不能启动kernel,重新接上串口,发现卡在uboot下,然后我直接把串口用串口线接到充电宝上,发现居然能启动了。 我当时在想,难道要给串口供电才能吗?不应该啊,没见过这种说法。 后来发现,应该是不接串口的话,在u-boot倒计时阶段受到了干扰,让u-bo原创 2017-10-17 18:50:09 · 2957 阅读 · 4 评论