5.9.2.6 mm – 儲存單元修正(自動增長)


=> help md


md [.b, .w, .l] address [# of objects]


- memory display


=>


mm提供了一種互動修改記憶體內容的方法。它將會察看位址和目前值,然


后輔助說明用戶匯入。如果你匯入了一個合法的十六進位數,這個新的值將會被寫入


該位址。然后輔助說明下一個位址。如果你沒有匯入任何值,只是按了一下轉鍵,那


么該位址的內容保持不變。只要你匯入任意非十六進位的資料(比如說.),此


指令就立刻結束。


=> mm 100000


00100000: 27051956 ? 0


00100004: 50504342 ? AABBCCDD


00100008: 6f6f7420 ? 01234567


0010000c: 312e312e ? .


=> md 100000 10


00100000: 00000000 aabbccdd 01234567 312e312e .........#Eg1.1.


00100010: 3520284d 61722032 31203230 3032202d 5 (Mar 21 2002 -


00100020: 2031393a 35353a30 34290000 00000000 19:55:04)......


00100030: 00000000 00000000 00000000 00000000 ................


=>


同樣,這條指令也可以加上類別旗標.l, .w .b


=> mm.w 100000


00100000: 0000 ? 0101


00100002: 0000 ? 0202


00100004: aabb ? 4321


00100006: ccdd ? 8765


00100008: 0123 ? .


=> md 100000 10


00100000: 01010202 43218765 01234567 312e312e ....C!.e.#Eg1.1.


00100010: 3520284d 61722032 31203230 3032202d 5 (Mar 21 2002 -


00100020: 2031393a 35353a30 34290000 00000000 19:55:04)......


00100030: 00000000 00000000 00000000 00000000 ................


=>


=> mm.b 100000


00100000: 01 ? 48


00100001: 01 ? 61


00100002: 02 ? 6c


00100003: 02 ? 6c


00100004: 43 ? 6f


00100005: 21 ? 20


00100006: 87 ? 20


00100007: 65 ? 20


00100008: 01 ? .


=> md 100000 10


00100000: 48616c6c 6f202020 01234567 312e312e Hallo .#Eg1.1.


00100010: 3520284d 61722032 31203230 3032202d 5 (Mar 21 2002 -


00100020: 2031393a 35353a30 34290000 00000000 19:55:04)......


00100030: 00000000 00000000 00000000 00000000 ................


=>


5.9.2.7 mtest – 簡單地RAM 測試


=> help mtest


mtest [start [end [pattern]]]


- simple RAM read/write test


=>


mtest 提供一個簡單地記憶體測試。


=> mtest 100000 200000


Testing 00100000 ... 00200000:


Pattern 0000000F Writing... Reading...


=>


它往記憶體寫入資料,這樣會修改儲存單元。如果遇到 ROM 或者flash


儲單元,它會寫入失敗。


如果測試的儲存範圍包括 U-Boot 使用的區域(如中斷向量表,或者內部程


序程式碼,堆疊或者堆存放的單元),此指令可能會使系統崩潰。


5.9.2.8 mw – 寫記憶體


=> help mw


mw [.b, .w, .l] address value [count]


- write memory


=>


mw 是一種往記憶體填寫某些資料的方法。如果呼叫時沒加計數參數,值將


僅僅被寫到某一給定的位址。當使用了計數參數時,整個儲存區域都會寫入該值。


=> md 100000 10


00100000: 0000000f 00000010 00000011 00000012 ................


00100010: 00000013 00000014 00000015 00000016 ................


00100020: 00000017 00000018 00000019 0000001a ................


00100030: 0000001b 0000001c 0000001d 0000001e ................


=> mw 100000 aabbccdd


=> md 100000 10


00100000: aabbccdd 00000010 00000011 00000012 ................


00100010: 00000013 00000014 00000015 00000016 ................


00100020: 00000017 00000018 00000019 0000001a ................


00100030: 0000001b 0000001c 0000001d 0000001e ................


=> mw 100000 0 6


=> md 100000 10


00100000: 00000000 00000000 00000000 00000000 ................


00100010: 00000000 00000000 00000015 00000016 ................


00100020: 00000017 00000018 00000019 0000001a ................


00100030: 0000001b 0000001c 0000001d 0000001e ................


=>


它又是一條可以加旗標.l, .w .b 的指令:


=> mw.w 100004 1155 6


=> md 100000 10


00100000: 00000000 11551155 11551155 11551155 .....U.U.U.U.U.U


00100010: 00000000 00000000 00000015 00000016 ................


00100020: 00000017 00000018 00000019 0000001a ................


00100030: 0000001b 0000001c 0000001d 0000001e ................


=> mw.b 100007 ff 7


=> md 100000 10


00100000: 00000000 115511ff ffffffff ffff1155 .....U.........U


00100010: 00000000 00000000 00000015 00000016 ................


00100020: 00000017 00000018 00000019 0000001a ................


00100030: 0000001b 0000001c 0000001d 0000001e ................


=>


5.9.2.9 nm – 儲存單元修正(恆定位址)


=> help nm


nm [.b, .w, .l] address


- memory modify, read and keep address


=>


nm指令用于互動地往某個相同的位址寫入不同的資料。在存取和修改裝置


暫存器的時候,這將會非常有用。


=> nm.b 100000


00100000: 00 ? 48


00100000: 48 ? 61


00100000: 61 ? 6c


00100000: 6c ? 6c


00100000: 6c ? 6f


00100000: 6f ? .


=> md 100000 8


00100000: 6f000000 115511ff ffffffff ffff1155 o....U.........U


00100010: 00000000 00000000 00000015 00000016 ................


=>


nm同樣可以加上旗標 .l, .w .b


5.9.2.10 loop – 在位址範圍內無限迴圈


=> help loop


loop [.b, .w, .l] address number_of_objects


- loop on a set of addresses


=>


loop 指令非常快速地讀某個儲存範圍。因為這個指令力圖最快速地讀取儲存


單元,所以被用作一種特殊的記憶體測試。


這個指令永遠不會結束。除了重啟開發板,沒有其他辦法可以停止它!


=> loop 100000 8

    全站熱搜

    立你斯 發表在 痞客邦 留言(0) 人氣()