#ifdefCONFIG_OF_CONTROLfdtdec_setup,#endif 如果打开了CONFIG_OF_CONTROL,则调用fdtdec_setup,配置gd->fdt_blob指针(即device tree所在的存储位置)。对ARM平台来说,u-boot的Makefile会通过连接脚本,将dtb文件打包到u-boot image的“__dtb_dt_begin”位置处,因此不需要特别关心。 5.3 trace_early_init 代码语言...
fdtdec_get_addr fdt_addr_t fdtdec_get_addr(const void *blob, int node, const char *prop_name) eg:fdtdec_get_addr(blob, node, “reg”); 功能:获得节点node的地址属性值。 fdtdec_get_config_int、fdtdec_get_config_bool、fdtdec_get_config_string 功能:获得config节点下的整形属性、bool属性、字符...
如果打开了CONFIG_OF_CONTROL,则调用fdtdec_setup,配置gd->fdt_blob指针(即device tree所在的存储位置)。对ARM平台来说,u-boot的Makefile会通过连接脚本,将dtb文件打包到u-boot image的“__dtb_dt_begin”位置处,因此不需要特别关心。 5.3 trace_early_init #ifdef CONFIG_TRACE trace_early_init, #endif 由CO...
#ifdef CONFIG_OF_CONTROL fdtdec_setup, #endif 1. 2. 3. 如果打开了CONFIG_OF_CONTROL,则调用fdtdec_setup,配置gd->fdt_blob指针(即device tree所在的存储位置)。对ARM平台来说,u-boot的Makefile会通过连接脚本,将dtb文件打包到u-boot image的“__dtb_dt_begin”位置处,因此不需要特别关心。 5.3 trace_e...
int fdtdec_setup(void) { #if CONFIG_IS_ENABLED(OF_CONTROL) # ifdef CONFIG_OF_EMBED /* Get a pointer to the FDT */ gd->fdt_blob = __dtb_dt_begin; // 当使用CONFIG_OF_EMBED的方式时,也就是dtb集成到uboot的bin文件中时,通过__dtb_dt_begin符号来获取dtb地址。 # elif defined CONFIG_...
fdtdec_setup_memory_banksize(); return 0; } void *board_fdt_blob_setup(void) { /* QEMU loads a generated DTB for us at the start of RAM. */ return (void *)CONFIG_SYS_SDRAM_BASE; } void enable_caches(void) { icache_enable(); ...
// 假设已经启用了设备树支持,并且设备树文件已经以某种方式集成到了U-Boot镜像中 // 在U-Boot初始化过程中,调用fdtdec_setup函数来解析设备树文件 int fdtdec_setup(void) { // 假设设备树文件已经通过某种方式被加载到了gd->fdt_blob中 // 这里只是示例,实际情况可能不同 gd->fdt_blob = ...; /...
setup_mon_len(), gd->mon_len = 全部程序流程尺寸(text/data/bss等) fdtdec_setup(),gd->fdt_blob = __dtb_dt_begin,dts用 initf_malloc(), 复位gd的malloc有关组员,gd->malloc_limit和gd->malloc_ptr log_init(),log有关复位,暂不关心 ...
fdtdec_setup, 加载设备树以及设备树地址 initf_malloc, 设置内存池的大小 为0xF00 initf_bootstage se...
bootdelay = fdtdec_get_config_int(gd->fdt_blob, "bootdelay", bootdelay); debug("### main_loop entered: bootdelay=%d\n\n", bootdelay); if (IS_ENABLED(CONFIG_AUTOBOOT_MENU_SHOW)) bootdelay = menu_show(bootdelay); bootretry_init_cmd_timeout(); ...