[問題] memory alignment
請問有沒有人在開發 embedded system 時碰過這種情形
------------------------------------------------------
test_func()
{
Global *global_struct;
//取得 flash 內容並放入到一個 buffer 然後傳給 *global_struct
flash_get(&global_struct);
// 對 global_struct 的 member 做讀寫
// member 1
// member 2
// member 3
// member 4
// .....
//最後將 global_struct 寫入 flash
}
----------------------------------------------------------
最奇怪的是
當我 去 debug 時
會發現在 做完比如說 member3 或 member4
global_struct 所指的位址 居然自己改變了
明明就只是單純的對 global_struct->memberN 做讀寫
卻會導致莫名奇妙的結果
我懷疑可能是記憶體 alignment 的問題 ( 我使用 mips cpu )
不知道有沒有人碰過呢 ?
謝謝
---------------------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.238.93
※ 編輯: mcauther 來自: 122.116.238.93 (11/10 22:42)
推
11/12 20:11, , 1F
11/12 20:11, 1F
→
11/12 20:12, , 2F
11/12 20:12, 2F
推
11/12 20:15, , 3F
11/12 20:15, 3F
推
11/12 20:17, , 4F
11/12 20:17, 4F
→
11/20 00:01, , 5F
11/20 00:01, 5F
→
11/20 00:02, , 6F
11/20 00:02, 6F
→
11/20 00:04, , 7F
11/20 00:04, 7F
→
11/20 00:05, , 8F
11/20 00:05, 8F
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章