作者willywl (嚇啞)
看板LinuxDev
標題[問題] 嵌入式系統增加記憶體的疑問
時間Thu Jan 31 11:39:09 2013
各位大大好, 小弟目前正在玩嵌入式arm linux
目前想把系統記憶體從64MB增加到128MB
接法是使用兩個memory bank, 每個bank各64MB
而兩個bank的physical addr 並不是連續的
所以小弟在uboot裡面將兩塊memory mapping到連續的virtaul address
+-----+ phy 0x30000000 -> vir 0xc0000000
| |
| |
| 64M |
| |
+-----+ phy 0x38000000 -> vir 0xc4000000
| |
| |
| 64M |
| |
+-----+
然後用mtest對這兩塊位置做讀寫測試, 順利地通過了
之後在bootarg 加上 mem=128M 進入linux kernel
執行memory allocate測試程式超過64MB後, 系統不意外的panic了
小弟回頭找 src/include/asm-arm/memory.h 看到當前code都是以線性方式做轉址
不過發現有一個 CONFIG_DISCONTIGMEM define
因此跑去 menuconfig裡面看
結果在 Kernel Features/Memory model/ 裡面只有看到 Flat Memory的選項
而對於該如何修改使linux能夠支援當前的記憶體配置
小弟仍不太有頭緒, 因此上來發問
請問有大大對相關方面有經驗, 能夠作一些方向指點嗎?
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.45.248.135
1F:→ heoris:哪顆SOC ? 01/31 19:55
2F:→ willywl:s3c2416 01/31 20:54
3F:→ holio:可以參考 mach-clps711x/edb7211-arch.c的 fixup_edb7211 02/01 23:51
4F:→ willywl:感謝holio大提示, 我先從您建議的方面研究! 02/02 00:04