u-boot
文章平均质量分 82
.
R-QWERT
这个作者很懒,什么都没留下…
展开
-
u-boot-2021.01(imx6ull)启动流程分析之六:以bootz命令为例追踪u-boot启动内核过程
4、以bootz为例追踪u-boot启动内核过程bootz命令的定义可以在cmd/bootz.c文件中找到,它的声明如下:/* file: cmd/bootz.c */U_BOOT_CMD( bootz, CONFIG_SYS_MAXARGS, 1, do_bootz, "boot Linux zImage image from memory", bootz_help_text);根据前面分析命令组织形式,可以知道执行bootz命令会调用到do_bootz函数,所以必须从do_bootz函数原创 2021-03-07 23:05:33 · 807 阅读 · 0 评论 -
u-boot-2021.01(imx6ull)启动流程分析之五:board_init_r函数分析
3.4.5 board_init_r从函数名称也可以知道,它也是负责一些初始化,但它还有一个目的就是通过层层调用之后启动内核。将相关的宏定义简化一下如下:/* file: common/board_r.c */void board_init_r(gd_t *new_gd, ulong dest_addr){ gd->flags &= ~GD_FLG_LOG_READY; if (initcall_run_list(init_sequence_r)) hang(); /*原创 2021-03-07 21:17:59 · 1288 阅读 · 0 评论 -
u-boot-2021.01(imx6ull)启动流程分析之四:relocate_code和relocate_vectors重定位分析
3.4.3 relocate_code顾名思义,代码重定位。/* file: arch/arm/lib/relocate.S */ENTRY(relocate_code) ldr r1, =__image_copy_start /* r1 <- SRC &__image_copy_start */ subs r4, r0, r1 /* r4 <- relocation offset */ beq relocate_done /* skip relocation */ l原创 2021-03-07 18:44:32 · 1029 阅读 · 0 评论 -
u-boot-2021.01(imx6ull)启动流程分析之三:board_init_f函数分析
3.4.2 board_init_f顾名思义,函数主要工作是早期的一些硬件初始化和设置全局变量gd结构体的成员:/* file: common/board_f.c */void board_init_f(ulong boot_flags){ gd->flags = boot_flags; gd->have_console = 0; if (initcall_run_list(init_sequence_f)) hang();#if !defined(CONFIG_ARM)原创 2021-03-07 18:08:22 · 1108 阅读 · 0 评论 -
u-boot-2021.01(imx6ull)启动流程分析之二:从执行第1句u-boot代码开始分析
3、启动流程分析先预览函数的大概调用框图,后面对每个函数进行分析:_start |_ cpu_init_cp15 |_ cpu_init_crit | |_ lowlevel_init | |_ s_init |_ _main |_ board_init_f_alloc_reserve |_ board_init_f_init_reserve |_ board_init_f |_ relocate_code |_ relocate_vectors |_ board原创 2021-03-06 22:42:44 · 831 阅读 · 1 评论 -
u-boot-2021.01(imx6ull)启动流程分析之一:分析启动流程之前的准备知识和工作
前言本文章主要以基于ARM® Cortex-A7内核的Freescale i.MX6ULL这款SoC探索u-boot-2021.01启动linux内核的流程。在了解启动流程之后,如果需要移植不同版本的u-boot或移植到其他平台的SoC,相信也能按照同样的思路去排查定位问题所在。在查看文章的过程中,如果遇到描述有错误的地方,还希望大家悉心指出。1、关于Freescale i.MX6ULLi.mx6ull这款SoC到底是如何一款芯片,这里不过多地描述,随便一个搜索引擎都能找到比较详细的描述,这里主原创 2021-03-06 20:27:49 · 4308 阅读 · 0 评论 -
u-boot编译出错:Your GCC is older than 6.0 and is not supported
问题:*** Your GCC is older than 6.0 and is not supportedarch/arm/config.mk:69: recipe for target 'checkgcc6' failedmake: *** [checkgcc6] Error 1分析: 交叉编译的xxx-gcc版本太老,需要更换新版本。解决: 更换新版本交叉编译工具链。 工具链下载地址:https://releases.linaro.org/components/toolch原创 2021-02-05 16:35:38 · 2957 阅读 · 0 评论 -
u-boot:常用命令解释
文章目录1、帮助信息2、信息查询3、查看/设置环境变量4、网络命令5、内存操作命令6、nand flash操作命令7、emmc/SD卡操作命令8、FAT/EXT格式文件系统操作命令9、fdt相关命令10、boot启动命令11、其他命令使用须知:“[.b, .w, .l]”里面的字母分别代表:Byte、Word、Long;u-boot里面的数值均为16进制;不同版本的u-boot命令支持与格式可能会有所差别,尤其是flash的操作。1、帮助信息命令功能help 或 ?查原创 2021-02-05 15:25:19 · 3147 阅读 · 0 评论