
imx6ull
文章平均质量分 68
crystal_266
这个作者很懒,什么都没留下…
展开
-
run_main_loop
文章目录1 run_main_loop 执行过程2 bootcmd 环境变量解析3 bootz执行过程1 run_main_loop 执行过程run_main_loop(common\board_r.c) |-> main_loop(common\main.c) |-> autoboot_command(common\autoboot.c) // autoboot_command 函数传入的参数为环境变量 bootcmds |-> run_command_list(comm原创 2021-10-25 21:49:16 · 362 阅读 · 0 评论 -
4_main
文章目录12 board_init_f_alloc_reserve3 board_init_f_init_reserve 前面介绍了start.S到_main之间的代码的功能,接下来代码会执行到_main函数,本文将会_main函数部分进行分析。_main 函数在文件 arch\arm\lib\crt0.S 中定义,具体代码如下所示。在 _main 函数中主要做了三件事情,分别为 board_init_f(主要初始化SDRAM)、relocate_code(将uboot拷贝到外部DDR内存中)和 boa原创 2021-10-24 20:36:31 · 302 阅读 · 0 评论 -
3 _main 函数之前小结
文章目录 本文将 start.S 到 _main 函数之前的代码执行进行一小结,在这段代码中函数执行的过程如下:reset (arch\arm\cpu\armv7\start.S) |-> save_boot_params (arch\arm\cpu\armv7\start.S) |-> save_boot_params_ret (arch\arm\cpu\armv7\start.S) |-> cpu_init_cp15 (arch\arm\cpu\a原创 2021-10-23 20:31:35 · 169 阅读 · 0 评论 -
2 lowlevel_init.S
文章目录1 lowlevel_init2 设置栈指针1 lowlevel_init 上一节说到在执行cpu_init_crit后,实际执行的是lowlevel_init,这段代码如下所示,位于 arch\arm\cpu\armv7\lowlevel_init.S 中。.pushsection .text.lowlevel_init, "ax"WEAK(lowlevel_init) /* * Setup a temporary stack. Global data is not availab原创 2021-10-22 16:40:18 · 492 阅读 · 0 评论 -
1 start.s分析
文章目录1 arch\arm\cpu\armv7\start.S2 关中断,设置CPU为SVC模式3 设置中断向量表4 cpu_init_cp156 cpu_init_crit1 arch\arm\cpu\armv7\start.S#include <asm-offsets.h>#include <config.h>#include <asm/system.h>#include <linux/linkage.h>#include <asm/a原创 2021-10-22 14:32:29 · 584 阅读 · 0 评论