u-boot
文章平均质量分 63
工作知识记录
KrisFei
工作记录.
展开
-
[IMX6DL] dd命令刷u-boot.bin到sd卡失败解决方法
Platform: IMX6DLOS: Android 4.4Kernel branch: 3.0.35现象:使用飞思卡尔自带烧写fsl-sdcard-partition.sh以及ubuntu自带dd命令烧写u-boot.bin到sd卡,放到板子上会无法开机。之前使用1GB内存的时候偶尔会出现此问题,但是换成2GB就成了100%。调试过程:具体原原创 2016-07-21 17:52:25 · 5645 阅读 · 0 评论 -
[IMX6DL]fastboot erase SD分区实现
u-boot: v2009.08系统默认只支持nand的fastboot erase功能,而我们用的是SD,SD和EMMC都是基于MMC,u-boot本身有实现mmc的block erase功能,因此我们利用它来擦写对应的块即可。在擦写之前,我们需要对应的分区信息,fastboot init那会需要将partition的信息添加到partition table中,这原创 2016-07-01 18:00:43 · 6064 阅读 · 3 评论 -
[IMX6Q]u-boot.bin和u-boot.imx的区别
u-boot版本: v2015.04branch: imx_v2015.04_3.14.52_1.1.0_ga先说结论,它们的差别在于xxx.cfg文件上,里面主要保存了ddr的配置信息,供ROM读取来初始化内存!从编译过程来了解Makefile:u-boot.imx: u-boot.bin $(IMX_CONFIG) FORCE $(call if_changed,原创 2016-01-18 17:37:43 · 9859 阅读 · 2 评论 -
[IMX6Q]uboot_v2015.04编译流程分析
执行生成.config文件#make mx6qecovacsandroid_configMakefile:%config: scripts_basic outputmakefile FORCE $(Q)$(MAKE) $(build)=scripts/kconfig $@scripts/kconfig/Makefile:# Added for U-Boot (backward原创 2016-01-18 11:36:02 · 5236 阅读 · 10 评论 -
[IMX6Q][Android5.1]移植笔记 --- uboot_v2015.04移植
u-boot版本: v2015.04branch: imx_v2015.04_3.14.52_1.1.0_ga我们硬件参考的是sabresd demo板子,由于此branch没有对应mx6qsabresd目录,所以参考mx6sabresd来移植了,经验证也可以开机。以下是移植步骤:1. #cp -rf board/freescale/mx6sabresd boa原创 2016-01-14 16:40:09 · 5534 阅读 · 0 评论 -
[IMX6Q]u-boot移植2GBDDR3--MT41K256M16-125
u-boot版本: v2009.08v2009.08版本使用的是flash_header.S来配置DDR,用下面的配置替换原来的即可正常初始化。/* DCD *//* DDR3 initialization based on the MX6Q Auto Reference Design (ARD) *//* DDR IO TYPE: */MXC_DCD_ITEM(1, IOM原创 2016-01-08 14:24:10 · 5675 阅读 · 0 评论 -
[IMX6Q]fastboot下载u-boot.bin失败提示太大原因
u-boot版本: v2009.08在调试其他功能时增加了u-boot.bin容量到1M,使用fastboot download时提示:sending 'bootloader' (1191 KB)...OKAY [ 1.062s]writing 'bootloader'...FAILED (remote: image too large for partition)fin原创 2016-01-08 14:12:03 · 4841 阅读 · 8 评论 -
[IMX6Q]u-boot启动kernel流程
u-boot版本:v2009.08u-boot利用了env里的cmd来实现调用boot linux的接口, 效果等同于在u-boot中敲"booti xxx..."start_armboot -> board_late_init:int board_late_init(void){ int ret = 0;#ifdef MX6Q_SABRESD_ANDROID_H原创 2016-01-07 15:49:38 · 4253 阅读 · 0 评论 -
[IMX6Q]u-boot环境变量存储到.text段
u-boot版本: v2009.08前一片文章在分析env开机流程时默认为开机后env搬移到RAM中的情况,此种情况会浪费一部分内存空间,在RAM吃紧时我们可以把env放到u-boot.bin的text段中,至少flash要比RAM空间多一些。首先需要使能如下宏:#define CONFIG_ENV_IS_EMBEDDED 1uboot-imx/include/原创 2016-01-07 13:45:38 · 1834 阅读 · 0 评论 -
[IMX6Q]为什么定义了CONFIG_SKIP_RELOCATE_UBOOT
u-boot版本: v2009.08u-boot启动一般的流程是cpu会将u-boot的前面4k代码copy到内部ram执行,然后u-boot运行起来后将自己copy到ddr中,这个动作是在uboot-imx/cpu/arm_cortexa8/start.S中:#ifndef CONFIG_SKIP_RELOCATE_UBOOTrelocate: @ relocat原创 2016-01-06 09:26:36 · 1811 阅读 · 0 评论 -
[IMX6Q]flash_header.S分析
在分析代码前,我们需要先了解两个知识点。1. 链接脚本路径: uboot-imx/board/freescale/mx6q_sabresd/u-boot.ldsOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")OUTPUT_ARCH(arm)ENTRY(_start)SECTIONS原创 2016-01-05 17:25:26 · 4681 阅读 · 4 评论 -
[IMX6Q]fastboot工具无法download u-boot.bin
本例存储设备使用的是sd card, 正常的download 方法是拔卡然后在PC上替换镜像:$sudo dd if=u-boot.bin of=/dev/sdb bs=1K skip=1 seek=1; sync有种更便捷的方法就是利用u-boot中的fastboot来download,不过很多人遇到只能download boot.img, system.img和recovery原创 2015-12-30 08:58:40 · 3330 阅读 · 0 评论 -
[IMX6Q]Android版本如何获取u-boot源代码
假设要获取kk4.4.2_1.0.0-ga这个branch:$git clone git://git.freescale.com/imx/uboot-imx.git uboot-imx$cd uboot-imx$git checkout kk4.4.2_1.0.0-ga如果是其他branch,可以在clone之后先查看所有branch$ git branch -a原创 2015-12-28 09:31:42 · 1621 阅读 · 0 评论 -
[IMX6Q]u-boot环境变量原理分析
u-boot版本: v2009.08一些重要参数如串口波特率,bootmcmd,loadaddr等参数,可能需要动态修改调试,u-boot提供了环境变量env用于保存这些信息到永久性存储介质如SD或者RAM中。RAM会丢失,而存于SD则下次开机依然存在。u-boot命令列表中,提供了setenv, saveenv两个命令,前者用于临时保存到RAM中,后者会保存到SD中。原创 2016-01-07 11:23:10 · 5245 阅读 · 0 评论 -
[IMX6Q]为什么download u-boot.bin时要偏移1k
download到sd card命令:sudo dd if=u-boot.bin of=/dev/sdb bs=1K skip=1 seek=1; sync为什么要在/dev/sdb偏移1k的地址才开始写呢? 飞思卡尔文档有说明device的layout:可以看到前面1k是留给MBR和第二份MBR的。飞思卡尔允许使用第一个或者第二个MBR以加载不同的分区。原创 2016-01-06 13:08:54 · 2711 阅读 · 0 评论 -
[IMX6Q]TEXT_BASE和_start的区别
u-boot版本: v2009.08看到很多文章都把两者描述为u-boot的入口地址,概念有点模糊。其实可以这么理解:_start是可以动态变化,而TEXT_BASE是链接时就确定的地址。_start是实际运行的地址,而TEXT_BASE是要copy到sdram中运行的地址, 当然也是最终u-boot实际运行的地址。u-boot的start.S中在启动第一阶段会比较原创 2016-01-06 11:22:06 · 2059 阅读 · 2 评论 -
[IMX6Q]u-boot_v2009.08移植
u-boot版本: v2009.081. 参考一样平台其他目录copy一个$cp -rf board/freescale/mx6_ board/freescale/mx6_2. copy一个平台相关mx6_.h文件$cp include/configs/mx6_.h include/configs/mx6_.h3.在顶层Makefile中添加configmx6原创 2015-12-28 16:00:39 · 2137 阅读 · 0 评论 -
[IMX6Q]u-boot_v2009.08编译过程
版本: 2009.08先看如何使用,然后以此为入口。写一个脚本,这里以mx6q_sabreauto_config为例。#!/bin/bashexport ARCH=armexport CROSS_COMPILE= make distclean;make mx6q_sabreauto_configmake然后编译:$./build_u-boot.sh就可以生成u原创 2015-12-28 14:51:05 · 2427 阅读 · 0 评论