我的要求很簡單。 我有一個嵌入式平臺上運行的Ubuntu。我想在內存中分配一些永久位置(我知道DRAM開始的地址)。我所需要的是內存不應該被操作系統觸及,我可以對該內存執行自定義操作(例如收集一些統計數據並寫入該位置)。在嵌入式系統中永久分配內存
的要求是:
- 分配在內存中的某個位置(操作系統分配的內存,並返回我回來的地址,我無所謂)。
- 這個位置應該在那裏,直到操作系統運行。
- 大小是一個參數。
- 我想使用busybox devmem命令來讀寫這個位置。
我的要求很簡單。 我有一個嵌入式平臺上運行的Ubuntu。我想在內存中分配一些永久位置(我知道DRAM開始的地址)。我所需要的是內存不應該被操作系統觸及,我可以對該內存執行自定義操作(例如收集一些統計數據並寫入該位置)。在嵌入式系統中永久分配內存
的要求是:
您可以在文件系統上掛載一些內存,如tmpfs,然後在分區上操作文件。
例如,http://www.cyberciti.biz/faq/howto-create-linux-ram-disk-filesystem/
具體的建議可能不適用,因爲它們不是由「原始」內存支持,而是由文件系統緩存代碼支持,結果是隻能通過該代碼訪問內容。海報似乎需要在內核啓動之前可能使用的「原始」內存。 –
您可以使用bigphysarea在啓動時分配一些內存。 可以在Linux內核參數設置的大小,你要跟只需要追加類似:
bigphysarea=2
其中2表示2頁(2 * 4K)
這將允許你分配一個連續的內存由您的驅動程序使用。
我不確定要理解你想要做什麼,但要注意,這種分配只能從內核模式訪問。
這不是一個答案。也許你的問題很簡單,我的意思是,也許你可以使用Redis,SQLite或者一堆輕量級數據庫(在內存數據庫中)。 wiki.debian.org/ramfs ...希望這個幫助。 – yeyo