当前位置:网站首页>u-boot ERROR: Failed to allocate 0x5c6f bytes below 0x17ffffff.Failed using fdt_high value
u-boot ERROR: Failed to allocate 0x5c6f bytes below 0x17ffffff.Failed using fdt_high value
2022-08-10 06:12:00 【IT张先生】
## Loading kernel from FIT Image at 08000000 ...
Using '[email protected]' configuration
Verifying Hash Integrity ... OK
Trying '[email protected]' kernel subimage
Description: Linux kernel
Created: 2022-08-06 10:42:14 UTC
Type: Kernel Image
Compression: gzip compressed
Data Start: 0x080001e8
Data Size: 4049224 Bytes = 3.9 MiB
Architecture: ARM
OS: Linux
Load Address: 0x00008000
Entry Point: 0x00008000
Hash algo: crc32
Hash value: 5716757b
Verifying Hash Integrity ... crc32+ OK
## Loading fdt from FIT Image at 08000000 ...
Using '[email protected]' configuration
Trying '[email protected]' fdt subimage
Description: 775E device tree
Created: 2022-08-06 10:42:14 UTC
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x083fd9fc
Data Size: 11375 Bytes = 11.1 KiB
Architecture: ARM
Hash algo: crc32
Hash value: 2eda7b23
Verifying Hash Integrity ... crc32+ OK
Booting using the fdt blob at 0x83fd9fc
Uncompressing Kernel Image ... OK
ERROR: Failed to allocate 0x5c6f bytes below 0x17ffffff.
Failed using fdt_high value for Device TreeFDT creation failed! hanging...### ERROR ### Please RESET the board ###
解决办法:
通过搜索错误代码,定位到时u-boot的lbm模块出了问题:
lbm:Logical memory blocks.
lbm使用全局的gd->bd->bi_dram[0].start和gd->bd->bi_dram[0].size作为自己内存池管理
common/board_f.c
static int setup_dram_config(void)
{
/* Ram is board specific, so move it to board code ... */
dram_init_banksize();
return 0;
}
board/platform/board.c 中增加如下代码:
void dram_init_banksize(void)
{
gd->bd->bi_dram[0].start = PHYS_SDRAM_1_BASE;
gd->bd->bi_dram[0].size = gd->ram_size;
}
common/bootm.c
#ifdef CONFIG_LMB
static void boot_start_lmb(bootm_headers_t *images)
{
ulong mem_start;
phys_size_t mem_size;
lmb_init(&images->lmb);
mem_start = getenv_bootm_low();
mem_size = getenv_bootm_size();
lmb_add(&images->lmb, (phys_addr_t)mem_start, mem_size);
arch_lmb_reserve(&images->lmb);
board_lmb_reserve(&images->lmb);
}
#else
#define lmb_reserve(lmb, base, size)
static inline void boot_start_lmb(bootm_headers_t *images) {
}
#endif
u-boot/arch/arm/lib/bootm.c
void arch_lmb_reserve(struct lmb *lmb)
{
ulong sp;
/* * Booting a (Linux) kernel image * * Allocate space for command line and board info - the * address should be as high as possible within the reach of * the kernel (see CONFIG_SYS_BOOTMAPSZ settings), but in unused * memory, which means far enough below the current stack * pointer. */
sp = get_sp();
debug("## Current stack ends at 0x%08lx ", sp);
/* adjust sp by 4K to be safe */
sp -= 4096;
lmb_reserve(lmb, sp,
gd->bd->bi_dram[0].start + gd->bd->bi_dram[0].size - sp);
}
边栏推荐
- 2022 Henan Mengxin League No. 5: University of Information Engineering J-AC Automata
- The constraints of the database learning table
- 各位大佬,oracle11g,cdc2.2,flink1.13.6,单表增量同步。在没新增数据的情
- ES13 - ES2022 - The 123rd ECMA Congress approves the ECMAScript 2022 language specification
- netlink IPC
- Qt列表下方增加弹出加载数据提示效果
- 761. Special Binary Sequences
- 老手也常误用!详解 Go channel 内存泄漏问题
- Qt滚动条(QScrollBar)圆角样式问题跟踪
- 如何在VMlogin中设置YiLu代理?
猜你喜欢
Can‘t find bundle for base name jdbc, locale zh_CN解决方法
Data types for database learning
Text-to-Image最新论文、代码汇总
Chapter 12 Other Database Tuning Strategies [2. Index and Tuning] [MySQL Advanced]
A few lines of code can crash the system;
CuteOneP is a PHP-based OneDrive multi-network disk mount program with member synchronization and other functions
Qt借助隐藏控件和QSS绘制重复元素
761. 特殊的二进制序列
强化学习_03_表格方法实践(CartPole-v0 And MontoCarlo)
金融证券 初级 招股书 要求 黑话1刷数 黑话2底稿 黑话3董监高
随机推荐
如何在AdsPower中设置YiLu代理?
2022 Henan Mengxin League Game (5): University of Information Engineering C - Throwing a Handkerchief
2022河南萌新联赛第(五)场:信息工程大学 K - 矩阵生成
高级测试:如何使用Flink对Strom任务的逻辑功能进行复现测试?
Quickly grasp game resources in one hour and remote hot update
Excuse me.Oracle CDC connector supports LogMiner and XStream API two ways to capture
不同场景如何使用动态代理?
强化学习_12_Datawhale深度确定性策略梯度
CAP介绍
2022 Henan Mengxin League Game (5): University of Information Engineering K - Matrix Generation
Please pay attention to me, thank you.
2022河南萌新联赛第(五)场:信息工程大学 B - 交通改造
Unity3d famous project-Dark Tree translation
3-6月面经总结,200多页真题笔记和详解(含核心考点及6家大厂)
Can‘t find bundle for base name jdbc, locale zh_CN解决方法
ES13 - ES2022 - 第 123 届 ECMA 大会批准了 ECMAScript 2022 语言规范
全网可达并设备加密
Elementary Structure
2022 Henan Mengxin League Game (5): University of Information Engineering F - Split Turf
各位大佬,oracle11g,cdc2.2,flink1.13.6,单表增量同步。在没新增数据的情