手册里面找不到作者的联系方式……里面留的网站打不开……这篇手册的日期为2009年12月06日,作者说会有新版本,但没能在网上找到……
所以在这里将里面发现的一个小小问题提出来……
在这个手册里面标示的页码的第40页,也就是 5.13 nm命令 部分:
“
啥也不说了,我们 help 一下,然后直接演示:
[arm79-uboot-1.2.0]# help nm
nm [.b, .w, .l] address
- memory modify, read and keep address
[arm79-uboot-1.2.0]# nm 0x30000000
30000000: 00eeeeee ? 1234567
30000000: 01234567 ? abcdefg
30000000: 00abcdef ?
Help nm 执行的结果告诉我们,直接输入地址即可。所以我们想修改0x30000000 的地址,很简单,直接用 nm 0x30000000。回车之后,出现:30000000: 00eeeeee ?
这个 00eeeeeee 是我们刚才修改的结果。我们不按回车了,直接输入 1234567,回车,OK!又打印出来 30000000 的地址,然后显示 01234567 的数据。随后,我们又把这个单元的数据改为 abcdefg,显示出来,居然少了一个 g,呵呵,看来 u-boot 的代码还是有 bug 的。经典的代码有点 bug,正常,原谅一下!
我想说的是,这里少个g是正常的……十六进制表示里面,没有g……到f过了就是0了……所以g被当做错误输入,被丢掉了……如果g的后面跟有合法输入,例如abcdefg9,我认为最后面的那个9也会被丢掉,因为最后面的那个9的前面是一个非法字符。
以上仅为推测,未经实际验证……