作者sitos (麥子)
看板ask-why
標題Re: [請益] 用軟體測試RAM是否有沒有毀損的原理是??
時間Fri Nov 13 18:05:23 2009
: 推 cpt:就依序把RAM每個位址存一個bit 再讀取 就能偵錯啦
: 推 jphant:可以解釋一下怎麼寫一個可以從RAM第一個bit存取到最後一個
: → jphant:bit的應用程式麼? 我很好奇要怎麼寫
: 推 gamer:用c就可以寫了,每個記憶體位址都有一個號碼比方說000000x0
: → gamer:然後你可以宣告每一個記憶體位址為一個數字,直到把所有位址
: → gamer:都宣告完。
一般用 C 寫的 application 應該是沒辦法,因為 OS 會作 virtual memory ,
所以實際上會對應到哪些 physical memory 是要看 page allocation 的結果。
通常記憶體會有某些部份保留給 OS ,這部份是測不到的。
所以多數 memtest 的軟體都得要用它自己開機才行,這樣才能直接存取記憶體。
: 推 ot32em:for(i=0;i<memSize;i++){if(!ReadWriteOk(i))return gg;}
--
我實實在在的告訴你們,一粒麥子不落在地裡死了,
仍舊是一粒,若是死了,就結出許多子粒來。
約翰福音 12:24
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.84
1F:→ HuangJC:C under OS 是不行;但 C 本身倒不會不行,要換 compiler.. 11/14 01:31
2F:推 jphant:我也是這樣想所以才會問要怎麼去寫這個程式... 11/14 02:40
3F:→ jphant:要換成甚麼compiler才可以直接access RAM的物理位置? 11/14 02:42
4F:推 HuangJC:下一篇有提到,OS cache 你可以避過但 H/W cache 卻不好避 11/14 02:48
5F:→ HuangJC:所以不只換 Compiler,還得懂硬體配置;那已經相當於寫組合 11/14 02:48
6F:→ HuangJC:語言了;用 C 不會省你多少事 11/14 02:51
7F:推 jphant:所以如果是這樣說 像樓上po的那些用C寫一個迴圈去一個bit 11/14 05:13
8F:→ jphant:一個bit去跑的solution 還算是solution麼? 11/14 05:14
9F:推 HuangJC:凡是有多環結的事(不單指寫程式),你都得考量要不要再深入 11/14 10:51
10F:→ HuangJC:了解內部環結.你想做的不是數理邏輯,而是干涉硬體,最糟狀 11/14 10:52
11F:→ HuangJC:況你連電子學都要懂一些咧.. 11/14 10:52
12F:推 HuangJC:每一個環結出錯都可以導致錯誤,所以用C寫 bit test 可以通 11/14 11:01
13F:→ HuangJC:過一個環結;但那畢竟不是關鍵.你也知道關鍵是直接物理位址 11/14 11:03
14F:→ HuangJC:存取.那你要看通多少硬體關聯? 11/14 11:04