我想在u-boot中執行一些操作(加載一個小的固件)。
是否有人知道在DRAM的開始和結束時,u-boot佔用多少DRAM,
這樣我就可以將我的固件加載到未被u-boot佔用的DRAM的未佔用區域中?u-boot佔用多少DRAM?
1
A
回答
3
U-Boot是可配置的,所以答案取決於你的具體構建。 配置到U-Boot中的命令和功能將確定其實際大小。通常U-Boot是建立在主內存的上半部分,而其餘的低內存則適用於任何內存。
在您的主板的配置文件中,CONFIG_SYS_TEXT_BASE
的定義設置了U-Boot的起始地址。 (U-Boot的舊版本有指定該起始地址的符號的不同的方法。)
檢查生成System.map
文件(在相同的目錄中u-boot.bin
可執行文件)用於鏈接器已經分配給每個入口點的地址。
在主板的配置文件,有也類似:
#define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_CS6
#define CONFIG_SYS_SDRAM_SIZE 0x08000000
定義主存儲器的物理地址範圍。
U-Boot將在SDRAM或BASE + SIZE結束時啓動堆棧。 因此,CONFIG_SYS_TEXT_BASE
+(u-boot.bin的大小)和SDRAM的末尾之間的區域是可用的堆棧區域。
U-Boot也將使用CONFIG_SYS_TEXT_BASE
以下的存儲器作爲其malloc()
池。該區域的大小由CONFIG_SYS_MALLOC_LEN
定義。
所以CONFIG_SYS_SDRAM_BASE
和
CONFIG_SYS_TEXT_BASE
的記憶 - CONFIG_SYS_MALLOC_LEN
應該可用。
附錄
上面的評述適用於被加載並在主存儲器中(即,DRAM)執行的U形引導。
某些系統會執行ROM或NOR Flash中的U-Boot,然後U-Boot會將其自身重新定位到RAM。一些(舊?)文檔是here。
相關問題
- 1. cpu佔用多少太多
- 2. 空值佔用多少內存?
- 3. Vector元素佔用多少空間?
- 4. 選項卡佔用多少空間?
- 5. DLR的內存佔用量是多少?
- 6. 一般NSPasteboard佔用多少內存?
- 7. MySQL:文本佔用多少空間?
- 8. Python Pickle佔用多少內存?
- 9. 以下佔用多少存儲空間?
- 10. 進程佔用了多少核心?
- 11. (iphone)UIImage佔用多少內存?
- 12. 每個Apache進程佔用多少?
- 13. 查找文本將佔用多少行
- 14. int [n] []佔用多少內存?
- 15. 多少字節將一個字符串佔用,少信
- 16. 減少內存佔用
- 17. 調試uboot
- 18. 通過UBOOT
- 19. 我的iPhone應用程序需要佔用多少內存?
- 20. Ruby on Rails應用程序應占用多少內存?
- 21. iPhone應用程序佔用多少內存iPhone 4
- 22. 如何轉換設備型號UBOOT驅動程序使用它的舊版本的uboot像UBOOT 2010
- 23. 減少應用程序內存佔用
- 24. 視圖在Microsoft SQL Server中佔用多少空間
- 25. 標籤中的字符串會佔用多少像素(寬度)?
- 26. 這個字節字符串實際佔用多少內存?
- 27. LucidWorks搜索引擎索引佔用多少存儲空間?
- 28. 編譯器佔用多少內存空間?
- 29. 準備好的SQLite語句在iPhone中佔用多少內存?
- 30. 字符串數據類型佔用了多少數據?
謝謝鋸末。在我的設置中,我有 #define CONFIG_SYS_TEXT_BASE 0xFF600000 這是u-boot所在的NOR地址。 RAM的起始地址是 的#define CONFIG_SYS_DDR_BASE 00000000 我的RAM的大小 的#define CONFIG_SYS_DDR_SIZE 256 你能好心幫我,像你上面提到的計算堆棧區? (U-Boot的將在SDRAM,或BASE + SIZE月底開始它的堆棧。所以CONFIG_SYS_TEXT_BASE U型BOOT.BIN的+(大小)和SDRAM的末端之間的區域是可用的堆棧區) –
*「NOR的地址u-boot駐留在哪裏「* - 這僅僅是爲了存儲,還是在原地執行? RAM從0x0開始,只有256的大小似乎不正確。你的主板上有什麼SoC? – sawdust
它是就地執行的。它是一個嵌入式系統,具有小型內存。 SOC是MPC8308 –