1G 等于0x40000000,小于0x80000000那么,我想知道我是否对CONFIG_SYS_TEXT_BASE有误解或我的概念有误? 解决方案 我检查了我的 u-boot 配置,CONFIG_SYS_TEXT_BASE 是 0x80000000,但我很好奇,我的 RAM 大小只有 1G,它仍然可以正常工作.1G 等于 0x40000000,小于 0x80000000那么,我想知道是我对CONFIG_SYS_TEXT_BASE有什么误解还是我的概念有误?您对CONFIG_SYS_TEXT_BASE 的理解是正确的.错误的是RAM大小与RAM物理起始地址有关.RAM 从 0x80000000 开始,到 0xC0000000(1G 以后)结束.所以 0xC0000000-0x80000000 = 0x40000000 = 1G.如果您的 ram 为 0xD0000000 并且为 1G 或类似的大小,您就会遇到问题.通常人们不会构建这样的系统.At present, my understanding of u-boot is as followsROM Code load SPLSPL initialize RAM, and load u-boot to CONFIG_SYS_TEXT_BASE RAM addressu-boot relocates itselfBoot the kernelI check my u-boot configuration, CONFIG_SYS_TEXT_BASE is 0x80000000, but I am curious, my RAM size is only 1G, and it still can work fine.1G is equal to 0x40000000, less than 0x80000000So, I want to know if I have a misunderstanding about CONFIG_SYS_TEXT_BASE or my concept is wrong? 解决方案I check my u-boot configuration, CONFIG_SYS_TEXT_BASE is 0x80000000, but I am curious, my RAM size is only 1G, and it still can work fine.1G is equal to 0x40000000, less than 0x80000000So, I want to know if I have a misunderstanding about CONFIG_SYS_TEXT_BASE or my concept is wrong?Your understanding of CONFIG_SYS_TEXT_BASE is correct. What is wrong is that the RAM size is related to the RAM physical start address. The RAM starts at 0x80000000 and ends at 0xC0000000 (1G later). So 0xC0000000-0x80000000 = 0x40000000 = 1G.You would have an issue if your ram was at 0xD0000000 an was 1G big or something like that. Normally people would not build such a system. 这篇关于U-boot CONFIG_SYS_TEXT_BASE与SDRAM的关系的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
05-29 02:03
查看更多